Doctree validation: Refactor element category classes.
commit56deb7396c49eae10850c2bcaea08e629f03ba85
authormilde <milde@929543f6-e4f2-0310-98a6-ba3bd3dd1d04>
Wed, 8 May 2024 07:10:49 +0000 (8 07:10 +0000)
committermilde <milde@929543f6-e4f2-0310-98a6-ba3bd3dd1d04>
Wed, 8 May 2024 07:10:49 +0000 (8 07:10 +0000)
tree3f5f7e6d525e6994ed32a2d0a47746231a888256
parentd7059aa7307ec79915f84c2d7ab13fe1d415141d
Doctree validation: Refactor element category classes.

Reconcile element category classes in `docutils.nodes` with descriptions
in doctree.txt and make them fit for use in declarations of valid
children.

- Define and use new class `SubRoot` for elements that may only be used as
  direct children of `document`.

- Drop `Structural` from base classes of `document`.

- Make `Invisible` a subclass of `Special`.
  Use this to simplify class definitions of `Invisible` special elements.

Sort categories

git-svn-id: http://svn.code.sf.net/p/docutils/code/trunk@9693 929543f6-e4f2-0310-98a6-ba3bd3dd1d04
docutils/docutils/nodes.py