Docutils ドキュメント ツリーでは、セクションtitle内またはドキュメント自体内にノードが発生する場合があります。
NodeVisitor私が作成している特定の Docutils について、現在のtitleノードがドキュメントのタイトルなのか、それともドキュメント内のいくつかのセクションの 1 つにあるのかを区別できるようにする必要があります。それが実際にドキュメント全体のタイトルである場合は、このタイトルをスキップして先に進みます。
私は内でこれを行うことができると思っていたでしょうVisitor.visit_title:
class DocumentTitleSkippingVisitor:
# …
def visit_title(self, node):
document_node = section_node.parent
if section_node is document_node:
# This title is actually the document's top level title.
raise self._docutils.nodes.SkipNode
ただし、これは機能しません。訪問者は、別のsectionノード内でドキュメントのトップ レベルのタイトルに遭遇します。このため、上記のチェックは (正しく) の親がノードでtitleはないことを示していdocumentます。
NodeVisitor内で、titleが実際に特別なドキュメントのタイトルであることをどのように確認できますか? titleまたは、タイトルとより簡単に区別するために、実際にドキュメント レベルになるように Docutils にフックするにはどうすればよいsectionですか?