本文整理汇总了Python中pyxb.binding.saxer.getContentHandler函数的典型用法代码示例。如果您正苦于以下问题:Python getContentHandler函数的具体用法?Python getContentHandler怎么用?Python getContentHandler使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了getContentHandler函数的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: CreateFromDocument
def CreateFromDocument (xml_text, default_namespace=None, location_base=None):
"""Parse the given XML and use the document element to create a
Python instance.
@param xml_text An XML document. This should be data (Python 2
str or Python 3 bytes), or a text (Python 2 unicode or Python 3
str) in the L{pyxb._InputEncoding} encoding.
@keyword default_namespace The L{pyxb.Namespace} instance to use as the
default namespace where there is no default namespace in scope.
If unspecified or C{None}, the namespace of the module containing
this function will be used.
@keyword location_base: An object to be recorded as the base of all
L{pyxb.utils.utility.Location} instances associated with events and
objects handled by the parser. You might pass the URI from which
the document was obtained.
"""
if pyxb.XMLStyle_saxer != pyxb._XMLStyle:
dom = pyxb.utils.domutils.StringToDOM(xml_text)
return CreateFromDOM(dom.documentElement)
if default_namespace is None:
default_namespace = Namespace.fallbackNamespace()
saxer = pyxb.binding.saxer.make_parser(fallback_namespace=default_namespace, location_base=location_base)
handler = saxer.getContentHandler()
xmld = xml_text
if isinstance(xmld, unicode):
xmld = xmld.encode(pyxb._InputEncoding)
saxer.parse(io.BytesIO(xmld))
instance = handler.rootObject()
return instance
示例2: CreateFromDocument
def CreateFromDocument (xml_text, default_namespace=None, location_base=None):
"""Parse the given XML and use the document element to create a
Python instance.
@kw default_namespace The L{pyxb.Namespace} instance to use as the
default namespace where there is no default namespace in scope.
If unspecified or C{None}, the namespace of the module containing
this function will be used.
@keyword location_base: An object to be recorded as the base of all
L{pyxb.utils.utility.Location} instances associated with events and
objects handled by the parser. You might pass the URI from which
the document was obtained.
"""
if pyxb.XMLStyle_saxer != pyxb._XMLStyle:
dom = pyxb.utils.domutils.StringToDOM(xml_text)
return CreateFromDOM(dom.documentElement)
if default_namespace is None:
default_namespace = Namespace.fallbackNamespace()
saxer = pyxb.binding.saxer.make_parser(fallback_namespace=default_namespace, location_base=location_base)
handler = saxer.getContentHandler()
saxer.parse(StringIO.StringIO(xml_text))
instance = handler.rootObject()
return instance
示例3: CreateFromDocument
def CreateFromDocument (xml_text, default_namespace=None, location_base=None):
"""Parse the given XML and use the document element to create a Python instance."""
if pyxb.XMLStyle_saxer != pyxb._XMLStyle:
dom = pyxb.utils.domutils.StringToDOM(xml_text)
return CreateFromDOM(dom.documentElement)
saxer = pyxb.binding.saxer.make_parser(fallback_namespace=Namespace.fallbackNamespace(), location_base=location_base)
handler = saxer.getContentHandler()
saxer.parse(StringIO.StringIO(xml_text))
instance = handler.rootObject()
return instance
示例4: testComplexInternal
def testComplexInternal (self):
xmlt = u'<complex><full>full content</full><optional>optional content</optional></complex>'
xmld = xmlt.encode('utf-8')
doc = pyxb.utils.domutils.StringToDOM(xmlt)
instance = CreateFromDOM(doc.documentElement)
self.assertEqual(instance.full, 'full content')
self.assertEqual(instance.optional, 'optional content')
self.assertFalse(instance.optional._isNil())
self.assertEqual(instance.toDOM().documentElement.toxml("utf-8"), xmld)
instance.validateBinding()
saxer = pyxb.binding.saxer.make_parser(fallback_namespace=Namespace)
handler = saxer.getContentHandler()
saxer.parse(io.StringIO(xmlt))
instance = handler.rootObject()
self.assertEqual(instance.full, 'full content')
self.assertEqual(instance.optional, 'optional content')
self.assertFalse(instance.optional._isNil())
xmlt = u'<complex xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><full>full content</full><optional xsi:nil="true"></optional></complex>'
xmld = xmlt.encode('utf-8')
doc = pyxb.utils.domutils.StringToDOM(xmlt)
instance = CreateFromDOM(doc.documentElement)
self.assertEqual(instance.full, 'full content')
self.assertEqual(instance.optional, '')
self.assertTrue(instance.optional._isNil())
self.assertEqual(instance.toDOM().documentElement.toxml("utf-8"), xmld)
instance.validateBinding()
saxer = pyxb.binding.saxer.make_parser(fallback_namespace=Namespace)
handler = saxer.getContentHandler()
saxer.parse(io.StringIO(xmlt))
instance = handler.rootObject()
self.assertEqual(instance.full, 'full content')
self.assertEqual(instance.optional, '')
self.assertTrue(instance.optional._isNil())
xmlt = u'<complex xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>'
xmld = xmlt.encode('utf-8')
instance._setIsNil()
self.assertEqual(instance.toDOM().documentElement.toxml("utf-8"), xmld)
instance.validateBinding()
示例5: testOptionalNilSETag
def testOptionalNilSETag (self):
xmlt = u'<optional xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"></optional>'
doc = pyxb.utils.domutils.StringToDOM(xmlt)
instance = CreateFromDOM(doc.documentElement)
self.assertEqual(instance, '')
self.assertTrue(instance._isNil())
saxer = pyxb.binding.saxer.make_parser(fallback_namespace=Namespace)
handler = saxer.getContentHandler()
saxer.parse(io.StringIO(xmlt))
instance = handler.rootObject()
self.assertEqual(instance, '')
self.assertTrue(instance._isNil())
示例6: testISO8601
def testISO8601 (self):
xml = '<when><ISO8601>2009-06-15T17:50:00Z</ISO8601></when>'
dom = pyxb.utils.domutils.StringToDOM(xml)
instance = CreateFromDOM(dom.documentElement)
self.assertEqual(instance.sgTime._element(), ISO8601)
self.assertEqual(instance.toDOM().documentElement.toxml("utf-8"), xml)
saxer = pyxb.binding.saxer.make_parser(fallback_namespace=Namespace)
handler = saxer.getContentHandler()
saxer.parse(StringIO.StringIO(xml))
instance = handler.rootObject()
self.assertEqual(instance.sgTime._element(), ISO8601)
self.assertEqual(instance.toDOM().documentElement.toxml("utf-8"), xml)
示例7: testPairTime
def testPairTime (self):
xml = '<when><pairTime><seconds>34.0</seconds><fractionalSeconds>0.21</fractionalSeconds></pairTime></when>'
dom = pyxb.utils.domutils.StringToDOM(xml)
instance = CreateFromDOM(dom.documentElement)
self.assertEqual(instance.sgTime._element(), pairTime)
self.assertEqual(instance.sgTime.seconds, 34)
self.assertEqual(instance.toDOM().documentElement.toxml("utf-8"), xml)
saxer = pyxb.binding.saxer.make_parser(fallback_namespace=Namespace)
handler = saxer.getContentHandler()
saxer.parse(StringIO.StringIO(xml))
instance = handler.rootObject()
self.assertEqual(instance.sgTime._element(), pairTime)
self.assertEqual(instance.sgTime.seconds, 34)
self.assertEqual(instance.toDOM().documentElement.toxml("utf-8"), xml)
示例8: testSGTime
def testSGTime (self):
xml = '<when><sgTime>2009-06-15T17:50:00Z</sgTime></when>'
dom = pyxb.utils.domutils.StringToDOM(xml)
self.assertRaises(pyxb.AbstractElementError, CreateFromDOM, dom.documentElement)
saxer = pyxb.binding.saxer.make_parser(fallback_namespace=Namespace)
handler = saxer.getContentHandler()
self.assertRaises(pyxb.AbstractElementError, saxer.parse, StringIO.StringIO(xml))
xml = '<sgTime>2009-06-15T17:50:00Z</sgTime>'
dom = pyxb.utils.domutils.StringToDOM(xml)
self.assertRaises(pyxb.AbstractElementError, CreateFromDOM, dom.documentElement)
self.assertRaises(pyxb.AbstractElementError, saxer.parse, StringIO.StringIO(xml))
xml = '<ISO8601>2009-06-15T17:50:00Z</ISO8601>'
dom = pyxb.utils.domutils.StringToDOM(xml)
instance = CreateFromDOM(dom.documentElement)
self.assertEqual(instance._element(), ISO8601)
saxer.parse(StringIO.StringIO(xml))
instance = handler.rootObject()
self.assertEqual(instance._element(), ISO8601)
示例9: len
import pyxb.binding.saxer
import opc
import dml.dml, pml.pml, props.props, sml.sml, wml.wml
if len(sys.argv) < 3:
print "Usage: xls_sample.py <worklist.py> <input_file> <output_dir>"
sys.exit(1)
else:
exec "import "+sys.argv[1]+" as worklist"
inFile = sys.argv[2]
(inFileName,inFileExt) = os.path.splitext(os.path.basename(inFile))
outDir = sys.argv[3]
package = opc.OPCPackage(inFile)
iteration=1
for (fragment, mimetype, schema, reltype) in package.files(worklist.mimetypes):
saxer = pyxb.binding.saxer.make_parser(location_base=fragment)
handler = saxer.getContentHandler()
saxer.parse(StringIO.StringIO(package.read(fragment)))
sax_instance = handler.rootObject()
for contentIter in sax_instance.iterateBinding(worklist.worklist(mimetype)):
# iterate content n times
for i in range(worklist.iterations(mimetype)):
contentIter()
currOutFile = outDir+"/"+inFileName+str(iteration)+inFileExt
package.copyWithReplace(currOutFile,{fragment: sax_instance.toxml().encode('utf-8')})
iteration += 1