From 9c36c055c1dfad996d40c6e0f5de685f4f691701 Mon Sep 17 00:00:00 2001 From: George Joseph <gjoseph@digium.com> Date: Tue, 1 Mar 2022 09:58:44 -0700 Subject: [PATCH] xmldoc: Fix issue with xmlstarlet validation Added the missing xml-stylesheet and Xinclude namespace declarations in pjsip_config.xml and pjsip_manager.xml. Updated make_xml_documentation to show detailed errors when xmlstarlet is the validator. It's now run once with the '-q' option to suppress harmless/expected messages and if it actually fails, it's run again without '-q' but with '-e' to show the actual errors. Change-Id: I4bdc9d2ea6741e8d2e5eb82df60c68ccc59e1f5e --- build_tools/make_xml_documentation | 6 ++++-- res/res_pjsip/pjsip_config.xml | 3 ++- res/res_pjsip/pjsip_manager.xml | 3 ++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/build_tools/make_xml_documentation b/build_tools/make_xml_documentation index fafb81c376..54144ce8a7 100755 --- a/build_tools/make_xml_documentation +++ b/build_tools/make_xml_documentation @@ -224,7 +224,8 @@ for subdir in ${mod_subdirs} ; do if [ "${XMLLINT}" != ":" ] ; then ${XMLLINT} --dtdvalid "${source_tree}/doc/appdocsxml.dtd" --path "${source_tree}/doc" --noout "${i}" || { echo "" ; exit 1 ; } else - ${XMLSTARLET} val -d "${source_tree}/doc/appdocsxml.dtd" "${i}" || { echo "" ; exit 1 ; } + ${XMLSTARLET} val -q -d "${source_tree}/doc/appdocsxml.dtd" "${i}" || + ${XMLSTARLET} val -e -d "${source_tree}/doc/appdocsxml.dtd" "${i}" || { echo "" ; exit 1 ; } fi fi ${SED} -r "/^\s*(<[?]xml|<.DOCTYPE|<.?docs)/d" "${i}" >> "${output_file}" @@ -241,7 +242,8 @@ if [ "${validate}" -eq "1" ] ;then if [ "${XMLLINT}" != ":" ] ; then ${XMLLINT} --dtdvalid "${source_tree}/doc/appdocsxml.dtd" --path "${source_tree}/doc" --noout "${output_file}" || exit 1 else - ${XMLSTARLET} val -d "${source_tree}/doc/appdocsxml.dtd" "${output_file}" || exit 1 + ${XMLSTARLET} val -q -d "${source_tree}/doc/appdocsxml.dtd" "${output_file}" || + ${XMLSTARLET} val -e -d "${source_tree}/doc/appdocsxml.dtd" "${output_file}" || { echo "" ; exit 1 ; } fi fi diff --git a/res/res_pjsip/pjsip_config.xml b/res/res_pjsip/pjsip_config.xml index 73b77db06f..3e0a6e7083 100644 --- a/res/res_pjsip/pjsip_config.xml +++ b/res/res_pjsip/pjsip_config.xml @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE docs SYSTEM "appdocsxml.dtd"> -<docs> +<?xml-stylesheet type="text/xsl" href="appdocsxml.xslt"?> +<docs xmlns:xi="http://www.w3.org/2001/XInclude"> <configInfo name="res_pjsip" language="en_US"> <synopsis>SIP Resource using PJProject</synopsis> <configFile name="pjsip.conf"> diff --git a/res/res_pjsip/pjsip_manager.xml b/res/res_pjsip/pjsip_manager.xml index a0047aaf97..810a5e3ec4 100644 --- a/res/res_pjsip/pjsip_manager.xml +++ b/res/res_pjsip/pjsip_manager.xml @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE docs SYSTEM "appdocsxml.dtd"> -<docs> +<?xml-stylesheet type="text/xsl" href="appdocsxml.xslt"?> +<docs xmlns:xi="http://www.w3.org/2001/XInclude"> <manager name="PJSIPQualify" language="en_US"> <synopsis> Qualify a chan_pjsip endpoint. -- GitLab