From: Günter M. <mi...@us...> - 2024-06-06 20:16:21
|
- **status**: open --> open-fixed - **Group**: --> Default - **Comment**: In Docutils 0.22 (since [r9732]), you can validate a Document Tree element (`nodes.Element` instance) and its children by calling its `validate()` method. There is also a "transform" that checks a complete document after parsing and reports validation problems as WARNING system messages. It can be activated with the [validate](https://docutils.sourceforge.io/docs/user/config.html#validate) configuration setting. The new "xml" parser validates the parsing result by default, so if you save the source ~~~ <paragraph classes="availability"> <inline classes="xref std std-ref">Availability:</inline> Unix, not WASI. <paragraph>Content of the "availability" directive.</paragraph> </paragraph> ~~~ to a file foo.xml, say, and run docutils --parser=xml --writer=pseudoxml foo.xml the result is ~~~ <document source="/tmp/foo.xml"> <paragraph classes="availability"> <inline classes="xref std std-ref"> Availability: Unix, not WASI. <paragraph> Content of the "availability" directive. <section classes="system-messages"> <title> Docutils System Messages <system_message level="2" line="4" source="/tmp/foo.xml" type="WARNING"> <paragraph> Element <paragraph classes="availability"> invalid: Child element <paragraph> not allowed at this position. ~~~ The original example would also complain about the unknown node `<pending_xref>` as this is an extension by Sphinx. --- **[feature-requests:#94] Should docutils whine about nesting simple body elements?** **Status:** open-fixed **Group:** Default **Created:** Thu Feb 09, 2023 09:55 AM UTC by Julien Palard **Last Updated:** Thu May 11, 2023 08:00 AM UTC **Owner:** nobody Context: [This](https://github.com/python/cpython/blob/45fa12aec8f508c224a1521cfe3ae597f1026264/Doc/tools/extensions/pyspecific.py#L149) call to `nested_parse` adds a `Paragraph` node to a `Paragraph` node, this look forbidden by [the doc](https://docutils.sourceforge.io/docs/ref/doctree.html#body-elements), and it also look to misbehave sphinx-side, when translating the document, where we completly loose the nested paragraph once translated. It renders properly though when **not** translated. The linked `nested_parse` returns: ```xml <paragraph classes="availability"> <pending_xref refdoc="index" refdomain="std" refexplicit="True" reftarget="availability" reftype="ref" refwarn="True"> <inline classes="xref std std-ref"> Availability : Unix, not Emscripten, not WASI. <paragraph> Hello world I'm the content of the "availability" directive. ``` If it's really something that should not be done, maybe some kind of warning at build time could help debugging those issues? --- Sent from sourceforge.net because doc...@li... is subscribed to https://sourceforge.net/p/docutils/feature-requests/ To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/docutils/admin/feature-requests/options. Or, if this is a mailing list, you can unsubscribe from the mailing list. |