File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 55corresponding to Open XML elements.
66"""
77
8- from docx .oxml .shared import register_custom_element_class
8+ from __future__ import absolute_import
9+
10+ from lxml import etree
11+
12+ from .ns import nsmap
13+
14+
15+ # configure XML parser
16+ element_class_lookup = etree .ElementNamespaceClassLookup ()
17+ oxml_parser = etree .XMLParser (remove_blank_text = True )
18+ oxml_parser .set_element_class_lookup (element_class_lookup )
19+
20+
21+ def register_custom_element_class (tag , cls ):
22+ """
23+ Register *cls* to be constructed when the oxml parser encounters an
24+ element with matching *tag*. *tag* is a string of the form
25+ ``nspfx:tagroot``, e.g. ``'w:document'``.
26+ """
27+ nspfx , tagroot = tag .split (':' )
28+ namespace = element_class_lookup .get_namespace (nsmap [nspfx ])
29+ namespace [tagroot ] = cls
930
1031
1132# ===========================================================================
Original file line number Diff line number Diff line change 44Objects shared by modules in the docx.oxml subpackage.
55"""
66
7+ from __future__ import absolute_import
8+
79from lxml import etree
810
911import re
1012
13+ from . import oxml_parser
1114from .exceptions import ValidationError
1215from .ns import nsmap
1316
1417
15- # configure XML parser
16- element_class_lookup = etree .ElementNamespaceClassLookup ()
17- oxml_parser = etree .XMLParser (remove_blank_text = True )
18- oxml_parser .set_element_class_lookup (element_class_lookup )
19-
20-
2118# ===========================================================================
2219# utility functions
2320# ===========================================================================
@@ -119,17 +116,6 @@ def qn(tag):
119116 return '{%s}%s' % (uri , tagroot )
120117
121118
122- def register_custom_element_class (tag , cls ):
123- """
124- Register *cls* to be constructed when the oxml parser encounters an
125- element with matching *tag*. *tag* is a string of the form
126- ``nspfx:tagroot``, e.g. ``'w:document'``.
127- """
128- nspfx , tagroot = tag .split (':' )
129- namespace = element_class_lookup .get_namespace (nsmap [nspfx ])
130- namespace [tagroot ] = cls
131-
132-
133119def serialize_for_reading (element ):
134120 """
135121 Serialize *element* to human-readable XML suitable for tests. No XML
You can’t perform that action at this time.
0 commit comments