dbxml2rst.nodes module

dbxml2rst.nodes

Library with XML-filters to convert DocBook-XML to reST

copyright:Copyright (C) 2017 Markus Heiser
license:GPL V3.0, see LICENSE for details.
class dbxml2rst.nodes.Appendix[source]

Bases: dbxml2rst.nodes.StructureTag

replaceTag = ‘chapter’
tag = ‘appendix’
class dbxml2rst.nodes.Authorgroup[source]

Bases: dbxml2rst.nodes.XMLTag

breakFlag = True
getContext(node)[source]
injBlock = True
replaceText(node, rstPrefix)[source]
tag = ‘authorgroup’
class dbxml2rst.nodes.Biblioentry[source]

Bases: dbxml2rst.nodes.XMLTag

getContext(node)[source]
injBlock = True
preText(node, rstPrefix)[source]
rstBlock = ‘ ‘
tag = ‘biblioentry’
class dbxml2rst.nodes.Bibliography[source]

Bases: dbxml2rst.nodes.StructureTag

replaceTag = ‘chapter’
tag = ‘bibliography’
class dbxml2rst.nodes.Bookinfo[source]

Bases: dbxml2rst.nodes.StructureTag

replaceTag = ‘part’
tag = ‘bookinfo’
class dbxml2rst.nodes.Chapter[source]

Bases: dbxml2rst.nodes.StructureTag

classmethod rstTitle(title)[source]
rstTitleMarkup = ‘*’
tag = ‘chapter’
class dbxml2rst.nodes.Code[source]

Bases: dbxml2rst.nodes.XMLTag

applyFilter(node, rstPrefix)[source]
breakFlag = False
tag = ‘code’
class dbxml2rst.nodes.Computeroutput[source]

Bases: dbxml2rst.nodes.Code

tag = ‘computeroutput’
class dbxml2rst.nodes.Constant[source]

Bases: dbxml2rst.nodes.XMLTag

applyFilter(node, rstPrefix)[source]
replaceTag = None
tag = ‘constant’
class dbxml2rst.nodes.Copyright[source]

Bases: dbxml2rst.nodes.XMLTag

breakFlag = True
getContext(node)[source]
injBlock = True
replaceText(node, rstPrefix)[source]
tag = ‘copyright’
class dbxml2rst.nodes.Entrytbl[source]

Bases: dbxml2rst.nodes.XMLTag

applyFilter(node, rstPrefix)[source]
breakFlag = True
tag = ‘entrytbl’
class dbxml2rst.nodes.Figure[source]

Bases: dbxml2rst.nodes.XMLTag

breakFlag = True
getContext(node)[source]
injBlock = True
replaceText(node, rstPrefix)[source]
rstBlock = ‘ ‘
rstMarkup = ‘\n.. figure:: %(glob)s\n :alt: %(alt)s\n :align: %(align)s\n\n%(title)s\n’
tag = ‘figure’
class dbxml2rst.nodes.Filename[source]

Bases: dbxml2rst.nodes.Constant

replaceTag = ‘constant’
tag = ‘filename’
class dbxml2rst.nodes.Funcprototype[source]

Bases: dbxml2rst.nodes.XMLTag

getContext(node)[source]
injBlock = True
replaceText(node, rstPrefix)[source]
tag = ‘funcprototype’
class dbxml2rst.nodes.Funcsynopsisinfo[source]

Bases: dbxml2rst.nodes.Programlisting

tag = ‘funcsynopsisinfo’
class dbxml2rst.nodes.Function[source]

Bases: dbxml2rst.nodes.XMLTag

getContext(node)[source]
replaceText(node, rstPrefix)[source]
tag = ‘function’
class dbxml2rst.nodes.Informalexample[source]

Bases: dbxml2rst.nodes.StructureTag

replaceTag = ‘para’
tag = ‘informalexample’
class dbxml2rst.nodes.Informalfigure[source]

Bases: dbxml2rst.nodes.Figure

tag = ‘informalfigure’
class dbxml2rst.nodes.Informaltable[source]

Bases: dbxml2rst.nodes.Table

applyFilter(node, rstPrefix)[source]
breakFlag = False
dropUselessTable(node, rstPrefix)[source]
injBlock = True
tag = ‘informaltable’
class dbxml2rst.nodes.Legalnotice[source]

Bases: dbxml2rst.nodes.StructureTag

replaceTag = ‘section’
tag = ‘legalnotice’

Bases: dbxml2rst.nodes.LinkTag

tag = ‘link’
class dbxml2rst.nodes.LinkTag[source]

Bases: dbxml2rst.nodes.XMLTag

getContext(node)[source]
replaceText(node, rstPrefix)[source]
rstMarkup = ‘:ref:`%(text)s <%(linkend)s>`’
tag = None
class dbxml2rst.nodes.LiteralBlock[source]

Bases: dbxml2rst.nodes.XMLTag

breakFlag = True
getContext(node)[source]
injBlock = True
language = ‘guess’
replaceText(node, rstPrefix)[source]
rstBlock = ‘ ‘
rstMarkup = ‘\n::\n\n%(literal)s\n\n’
tag = None
class dbxml2rst.nodes.Literallayout[source]

Bases: dbxml2rst.nodes.LiteralBlock

tag = ‘literallayout’
class dbxml2rst.nodes.Mediaobject[source]

Bases: dbxml2rst.nodes.XMLTag

align = ‘center’
getContext(node)[source]
tag = ‘mediaobject’
class dbxml2rst.nodes.Para[source]

Bases: dbxml2rst.nodes.StructureTag

tag = ‘para’
class dbxml2rst.nodes.Part[source]

Bases: dbxml2rst.nodes.StructureTag

applyFilter(node, rstPrefix)[source]
classmethod rstTitle(title)[source]
rstTitleMarkup = ‘#’
tag = ‘part’
class dbxml2rst.nodes.Preface[source]

Bases: dbxml2rst.nodes.Chapter

rstTitleMarkup = ‘=’
tag = ‘preface’
class dbxml2rst.nodes.Programlisting[source]

Bases: dbxml2rst.nodes.LiteralBlock

applyFilter(node, rstPrefix)[source]
language = ‘c’
rstMarkup = ‘.. code-block:: %(language)s\n\n%(literal)s\n\n\n’
tag = ‘programlisting’
class dbxml2rst.nodes.Property[source]

Bases: dbxml2rst.nodes.Constant

replaceTag = ‘constant’
tag = ‘property’
class dbxml2rst.nodes.ReSTInclude[source]

Bases: dbxml2rst.nodes.XMLTag

applyFilter(node, rstPrefix)[source]
breakFlag = False
getContext(node)[source]
get_toctree_entry(node)[source]
injBlock = True
replaceText(node, rstPrefix)[source]
rstBlock = ‘ ‘
rstMarkup = ‘\n.. toctree::\n :maxdepth: 1\n\n%(entries)s\n\n\n’
tag = ‘rstInclude’
class dbxml2rst.nodes.ReSTTemplate[source]

Bases: dbxml2rst.nodes.XMLTag

getContext(node)[source]
injBlock = True
replaceText(node, rstPrefix)[source]
rstMarkup = ‘\n.. kernel-doc:: %(fname)s\n%(options)s\n\n’
tag = ‘rstTemplate’
class dbxml2rst.nodes.Refentry[source]

Bases: dbxml2rst.nodes.XMLTag

getContext(node)[source]
injBlock = True
preText(node, rstPrefix)[source]
tag = ‘refentry’
class dbxml2rst.nodes.Refentryinfo[source]

Bases: dbxml2rst.nodes.XMLTag

dropFlag = True
tag = ‘refentryinfo’
class dbxml2rst.nodes.Refnamediv[source]

Bases: dbxml2rst.nodes.StructureTag

replaceTag = ‘section’
tag = ‘refnamediv’
class dbxml2rst.nodes.Refpurpose[source]

Bases: dbxml2rst.nodes.StructureTag

replaceTag = ‘para’
tag = ‘refpurpose’
class dbxml2rst.nodes.Refsect1[source]

Bases: dbxml2rst.nodes.Sect1

tag = ‘refsect1’
class dbxml2rst.nodes.Refsect2[source]

Bases: dbxml2rst.nodes.Sect2

tag = ‘refsect2’
class dbxml2rst.nodes.Refsect3[source]

Bases: dbxml2rst.nodes.Sect3

tag = ‘refsect3’
class dbxml2rst.nodes.Refsection[source]

Bases: dbxml2rst.nodes.Section

replaceTag = ‘section’
tag = ‘refsection’
class dbxml2rst.nodes.Refsynopsisdiv[source]

Bases: dbxml2rst.nodes.Section

getContext(node)[source]
tag = ‘refsynopsisdiv’
class dbxml2rst.nodes.Revision[source]

Bases: dbxml2rst.nodes.XMLTag

applyFilter(node, rstPrefix)[source]
getContext(node)[source]
injBlock = True
preText(node, rstPrefix)[source]
rstBlock = ‘ ‘
tag = ‘revision’
class dbxml2rst.nodes.Revremark[source]

Bases: dbxml2rst.nodes.StructureTag

replaceTag = ‘para’
tag = ‘revremark’
class dbxml2rst.nodes.Screen[source]

Bases: dbxml2rst.nodes.LiteralBlock

tag = ‘screen’
class dbxml2rst.nodes.Sect1[source]

Bases: dbxml2rst.nodes.StructureTag

replaceTag = ‘section’
tag = ‘sect1’
class dbxml2rst.nodes.Sect2[source]

Bases: dbxml2rst.nodes.StructureTag

replaceTag = ‘section’
tag = ‘sect2’
class dbxml2rst.nodes.Sect3[source]

Bases: dbxml2rst.nodes.StructureTag

replaceTag = ‘section’
tag = ‘sect3’
class dbxml2rst.nodes.Section[source]

Bases: dbxml2rst.nodes.StructureTag

applyFilter(node, rstPrefix)[source]
rstTitle(title)[source]
rstTitleMarkup = ‘=’
tag = ‘section’
class dbxml2rst.nodes.Setinfo[source]

Bases: dbxml2rst.nodes.StructureTag

replaceTag = ‘part’
tag = ‘setinfo’
class dbxml2rst.nodes.Structfield[source]

Bases: dbxml2rst.nodes.Constant

replaceTag = ‘constant’
tag = ‘structfield’
class dbxml2rst.nodes.Structname[source]

Bases: dbxml2rst.nodes.XMLTag

getContext(node)[source]
replaceText(node, rstPrefix)[source]
tag = ‘structname’
class dbxml2rst.nodes.StructureTag[source]

Bases: dbxml2rst.nodes.XMLTag

applyFilter(node, rstPrefix)[source]
breakFlag = False
getContext(node)[source]
injBlock = True
preText(node, rstPrefix)[source]
replaceTag = None
rstPreMarkup = ‘\n.. _%(ID)s:\n’
classmethod rstTitle(title)[source]
rstTitleMarkup = ‘=’
tag = None
class dbxml2rst.nodes.Subtitle[source]

Bases: dbxml2rst.nodes.XMLTag

breakFlag = True
getContext(node)[source]
injBlock = True
replaceText(node, rstPrefix)[source]
rstMarkup = ‘\n**%(title)s**\n\n’
tag = ‘subtitle’
class dbxml2rst.nodes.Synopsis[source]

Bases: dbxml2rst.nodes.Programlisting

tag = ‘synopsis’
class dbxml2rst.nodes.Table[source]

Bases: dbxml2rst.nodes.XMLTag

applyFilter(node, rstPrefix)[source]
classmethod assert_tgroup(node)[source]
breakFlag = False
getContext(node)[source]
injBlock = True
postText(node, rstPrefix)[source]
preText(node, rstPrefix)[source]
rstBlock = ‘ ‘
rstPostText = ‘\n%(tableEndMark)s\n’
rstPreText = ‘\n.. table::%(title)s\n\n%(tableStartMark)s\n’
tableEndMark = ‘– table end markup –’
tableStartMark = ‘– table start markup –’
tag = ‘table’
class dbxml2rst.nodes.Tgroup[source]

Bases: dbxml2rst.nodes.XMLTag

applyFilter(node, rstPrefix)[source]
breakFlag = False
injBlock = True
classmethod repairTableDef(node, rstPrefix)[source]
tag = ‘tgroup’
class dbxml2rst.nodes.Token[source]

Bases: dbxml2rst.nodes.Constant

replaceTag = ‘constant’
tag = ‘token’
class dbxml2rst.nodes.Trademark[source]

Bases: dbxml2rst.nodes.XMLTag

applyFilter(node, rstPrefix)[source]
tag = ‘trademark’
trademark = ‘®’

Bases: dbxml2rst.nodes.LinkTag

getContext(node)[source]
replaceText(node, rstPrefix)[source]
rstMarkup = ‘`%(text)s <%(linkend)s>`__’
tag = ‘ulink’
class dbxml2rst.nodes.Varname[source]

Bases: dbxml2rst.nodes.Constant

replaceTag = ‘constant’
tag = ‘varname’
class dbxml2rst.nodes.XMLTag[source]

Bases: object

applyFilter(node, rstPrefix)[source]
classmethod blockText(prefix, text)[source]

Adds prefix to lines from text, deletes trailing whitespaces

breakFlag = False
classmethod chunkNode(node, folder, fname)[source]
classmethod copyNode(node, tag=None, moveID=False)[source]
dropFlag = False
classmethod dropNode(node)[source]
getContext(node)[source]
classmethod getFormatedTitle(node, from_tag=’title’)[source]

title as one line, prefixed with py:attribute:rstBlock

classmethod getInjBlockTag()[source]
classmethod getInjInlineTag()[source]
classmethod getStripedText(*nodelist)[source]

The text from node.itertext() with reduced whitespaces

classmethod getText(*nodelist)[source]

The text as is from node.itertext()

injBlock = False
classmethod insertAsRawHTML(node)[source]
classmethod normalizeID(ID)[source]
classmethod pandocFilter(key, value, fmt, meta)[source]
parseFile(folder, fname, fragTag=None, ID=None)[source]

Tries to parse the XML file with lxml.etree.

A unknown entity within a xml (fragment) will cause an exception. In this case, run subEntities() first!

postText(node, rstPrefix)[source]
preText(node, rstPrefix)[source]
classmethod replaceNode(oldNode, newNode)[source]
replaceText(node, rstPrefix)[source]
rstAnchor = ‘\n.. _%(ID)s:\n’
rstBlock = ”
rstInclude_tag = ‘rstInclude’
rstInjection_sig = ‘!ri!’
rstMarkup = None
rstTemplate_tag = ‘rstTemplate’
tag = None
walk(node, rstPrefix=”)[source]

Walks through the node-tree and applies matching filters on each node.

walkChilds(node, rstPrefix=”)[source]
class dbxml2rst.nodes.XMLTagType[source]

Bases: type

classmethod getClassByTag(tagName)[source]
classmethod getTagInstance(node, parseData)[source]

Returns a XMLTag instance which fits to the tag or None.

typeList = {‘sect1’: <class ‘dbxml2rst.nodes.Sect1’>, ‘computeroutput’: <class ‘dbxml2rst.nodes.Computeroutput’>, ‘filename’: <class ‘dbxml2rst.nodes.Filename’>, ‘refsect3’: <class ‘dbxml2rst.nodes.Refsect3’>, ‘part’: <class ‘dbxml2rst.nodes.Part’>, ‘biblioentry’: <class ‘dbxml2rst.nodes.Biblioentry’>, ‘revision’: <class ‘dbxml2rst.nodes.Revision’>, ‘refsect1’: <class ‘dbxml2rst.nodes.Refsect1’>, ‘copyright’: <class ‘dbxml2rst.nodes.Copyright’>, ‘code’: <class ‘dbxml2rst.nodes.Code’>, ‘ulink’: <class ‘dbxml2rst.nodes.Ulink’>, ‘programlisting’: <class ‘dbxml2rst.nodes.Programlisting’>, ‘appendix’: <class ‘dbxml2rst.nodes.Appendix’>, ‘entrytbl’: <class ‘dbxml2rst.nodes.Entrytbl’>, ‘refnamediv’: <class ‘dbxml2rst.nodes.Refnamediv’>, ‘token’: <class ‘dbxml2rst.nodes.Token’>, ‘legalnotice’: <class ‘dbxml2rst.nodes.Legalnotice’>, ‘literallayout’: <class ‘dbxml2rst.nodes.Literallayout’>, ‘rstInclude’: <class ‘dbxml2rst.nodes.ReSTInclude’>, ‘link’: <class ‘dbxml2rst.nodes.Link’>, ‘xref’: <class ‘dbxml2rst.nodes.Xref’>, ‘refpurpose’: <class ‘dbxml2rst.nodes.Refpurpose’>, ‘refentryinfo’: <class ‘dbxml2rst.nodes.Refentryinfo’>, ‘informalexample’: <class ‘dbxml2rst.nodes.Informalexample’>, ‘subtitle’: <class ‘dbxml2rst.nodes.Subtitle’>, ‘informaltable’: <class ‘dbxml2rst.nodes.Informaltable’>, ‘rstTemplate’: <class ‘dbxml2rst.nodes.ReSTTemplate’>, ‘chapter’: <class ‘dbxml2rst.nodes.Chapter’>, ‘function’: <class ‘dbxml2rst.nodes.Function’>, ‘sect2’: <class ‘dbxml2rst.nodes.Sect2’>, ‘revremark’: <class ‘dbxml2rst.nodes.Revremark’>, ‘para’: <class ‘dbxml2rst.nodes.Para’>, ‘refsynopsisdiv’: <class ‘dbxml2rst.nodes.Refsynopsisdiv’>, ‘authorgroup’: <class ‘dbxml2rst.nodes.Authorgroup’>, ‘figure’: <class ‘dbxml2rst.nodes.Figure’>, ‘bookinfo’: <class ‘dbxml2rst.nodes.Bookinfo’>, ‘mediaobject’: <class ‘dbxml2rst.nodes.Mediaobject’>, ‘varname’: <class ‘dbxml2rst.nodes.Varname’>, ‘sect3’: <class ‘dbxml2rst.nodes.Sect3’>, ‘funcprototype’: <class ‘dbxml2rst.nodes.Funcprototype’>, ‘setinfo’: <class ‘dbxml2rst.nodes.Setinfo’>, ‘informalfigure’: <class ‘dbxml2rst.nodes.Informalfigure’>, ‘refentry’: <class ‘dbxml2rst.nodes.Refentry’>, ‘bibliography’: <class ‘dbxml2rst.nodes.Bibliography’>, ‘trademark’: <class ‘dbxml2rst.nodes.Trademark’>, ‘table’: <class ‘dbxml2rst.nodes.Table’>, ‘refsection’: <class ‘dbxml2rst.nodes.Refsection’>, ‘constant’: <class ‘dbxml2rst.nodes.Constant’>, ‘screen’: <class ‘dbxml2rst.nodes.Screen’>, ‘funcsynopsisinfo’: <class ‘dbxml2rst.nodes.Funcsynopsisinfo’>, ‘preface’: <class ‘dbxml2rst.nodes.Preface’>, ‘synopsis’: <class ‘dbxml2rst.nodes.Synopsis’>, ‘property’: <class ‘dbxml2rst.nodes.Property’>, ‘refsect2’: <class ‘dbxml2rst.nodes.Refsect2’>, ‘structfield’: <class ‘dbxml2rst.nodes.Structfield’>, ‘section’: <class ‘dbxml2rst.nodes.Section’>, ‘structname’: <class ‘dbxml2rst.nodes.Structname’>, ‘tgroup’: <class ‘dbxml2rst.nodes.Tgroup’>}
undifined = <object object>
class dbxml2rst.nodes.Xref[source]

Bases: dbxml2rst.nodes.LinkTag

tag = ‘xref’
dbxml2rst.nodes.filterXML(folder, inFile, outFile, xmlFilter, parseIncludes=False, fragTag=None, ID=None)[source]

Replace some xml-Markups with reST literals.

dbxml2rst.nodes.subEntities(inFile, outFile, ext_entities, int_entities)[source]

Substitude internal and external entities.

Parameters:
  • folder (str) – Root-folder where conversion takes place.
  • inFile (str) – Preprocess XML file.
  • ext_entities (EntityContainer or None) – container with the external entities
  • int_entities (EntityContainer or None) – container with the internal entities

External entities will be replaced by a <rstInclude fname='%s'/> tag. XMLTag.rstInclude_tag

dbxml2rst.nodes.subTemplate(inFile, outFile)[source]

Substitude kenerle-doc place holder in docbook.tmpl files.