[asterisk-bugs] [JIRA] (ASTERISK-29790) xmldoc: Dump invalid to XML DTD: XSLT

Alexander Traud (JIRA) noreply at issues.asterisk.org
Mon Dec 6 04:38:34 CST 2021


     [ https://issues.asterisk.org/jira/browse/ASTERISK-29790?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alexander Traud updated ASTERISK-29790:
---------------------------------------

    Description: 
After {{./configure --enable-xmldoc}}, the command-line interface (CLI) offers {{xmldoc dump <file>}} since Asterisk 12. Although {{make full}} calls the sub-target {{make validate-docs}}, just the static XML file is validated. Nobody, not even the script {{tests/CI/publishAsteriskDocs.sh}}, validated the runtime XML file against its DTD:
{code}
xmllint --noout --dtdvalid doc/appdocsxml.dtd <file>
xmlstarlet val --err --dtd doc/appdocsxml.dtd <file>
{code}
gives something like
{code}
Value "
 false
" for attribute required of parameter is not among the enumerated set
{code}
The cause is {{doc/appdocsxml.xslt}} and the whitespace around the value ‘false’ for the XML attribute called ‘required’ in the XML element called ‘parameter’. This issue was introduced in Nov. 2016 with the change for ASTERISK-26595. Looking at that timespan, what about validating the runtime XML in {{tests/CI/publishAsteriskDocs.sh}}?

As solution, I opted for removing the whitespace in the XSLT itself. There could be another issue: The XSLT is imported incorrectly (whitespace not stripped). I did not look into that approach.

  was:
After {{./configure --enable-xmldoc}}, the command-line interface (CLI) offers {{xmldoc dump <file>}} since Asterisk 12. Although {{make full}} calls the sub-target {{make validate-docs}}, just the static XML file is validated. Nobody, not even the script {{tests/CI/publishAsteriskDocs.sh}}, validated the runtime XML file against its DTD:
{code}
xmllint --noout --dtdvalid doc/appdocsxml.dtd <file>
xmlstarlet val --err --dtd doc/appdocsxml.dtd <file>
{code}
gives something like
{code}
Value "
 false
" for attribute required of parameter is not among the enumerated set
{code}
The cause is {{doc/appdocsxml.xslt}} and the whitespace around the value ‘false’ for the XML attribute called ‘required’ in the XML element called ‘parameter’.

As solution, I opted for removing the whitespace in the XSLT itself. There could be another issue: The XSLT is imported incorrectly (whitespace not stripped). I did not look into that approach.


> xmldoc: Dump invalid to XML DTD: XSLT
> -------------------------------------
>
>                 Key: ASTERISK-29790
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-29790
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Documentation
>    Affects Versions: 16.22.0, 18.8.0, 19.0.0
>            Reporter: Alexander Traud
>            Assignee: Alexander Traud
>
> After {{./configure --enable-xmldoc}}, the command-line interface (CLI) offers {{xmldoc dump <file>}} since Asterisk 12. Although {{make full}} calls the sub-target {{make validate-docs}}, just the static XML file is validated. Nobody, not even the script {{tests/CI/publishAsteriskDocs.sh}}, validated the runtime XML file against its DTD:
> {code}
> xmllint --noout --dtdvalid doc/appdocsxml.dtd <file>
> xmlstarlet val --err --dtd doc/appdocsxml.dtd <file>
> {code}
> gives something like
> {code}
> Value "
>  false
> " for attribute required of parameter is not among the enumerated set
> {code}
> The cause is {{doc/appdocsxml.xslt}} and the whitespace around the value ‘false’ for the XML attribute called ‘required’ in the XML element called ‘parameter’. This issue was introduced in Nov. 2016 with the change for ASTERISK-26595. Looking at that timespan, what about validating the runtime XML in {{tests/CI/publishAsteriskDocs.sh}}?
> As solution, I opted for removing the whitespace in the XSLT itself. There could be another issue: The XSLT is imported incorrectly (whitespace not stripped). I did not look into that approach.



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list