From: Günter M. <mi...@us...> - 2023-05-11 08:00:39
|
> Unfortunately, this is just one example of an "infinite" number of ways you can build invalid documents -- testing for all sorts of violations by custom code may seriously affect performance. However, a [transform](https://docutils.sourceforge.io/docs/ref/transforms.html) testing for conformance could be sensible. It may walk over the document tree and for each node check that the parent node is an instance of the well-defined, small set of allowed parent nodes. Ideas and patches are welcome. --- **[feature-requests:#94] Should docutils whine about nesting simple body elements?** **Status:** open **Group:** None **Created:** Thu Feb 09, 2023 09:55 AM UTC by Julien Palard **Last Updated:** Tue Apr 18, 2023 11:29 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. |