1. Summary
  2. Files
  3. Support
  4. Report Spam
  5. Create account
  6. Log in

Welcome to PyXB

PyXB (“pixbee”) is a pure Python package that generates Python source code for classes that correspond to data structures defined by XMLSchema. In concept it is similar to JAXB for Java and CodeSynthesis XSD for C++.

All Open Tickets

Defects against current beta release (1.1.3)

Ticket Summary Created Modified Status Resolution Milestone Description
#109 need post-construction hook 8 months 8 months new -- PyXB 1.1.4 postFactory_vx_ does not get attributes, let alone element content, when using saxer input. Need another callback point for post-construction, possible for other mutating operations like setting attributes or adding content.
#112 pyxb greed algorithm fails on certain cases 6 months 6 months new -- PyXB 2.0.0 The problem discussed in http://lists.w3.org/Archives/Public/xmlschema-dev/2010Aug/0016.html affects PyXB and has now been observed in the wild as raised in https://sourceforge.net/projects/pyxb/forums/forum/956708/topic/4850223
#130 Improved "pypi/setuptools" support 2 months 2 months accepted -- PyXB 1.1.4 PyPI has the "full" "pyxb" bundle uploaded (this is good, as the default could well be the "full" package). However, trying to download from "PyPI" (via "easy_install") causes the "pyXB-wssplat-1.1.3.tar.gz" to be downloaded from "sourceforge". The reason is probably the "download url" specification in the metadata pointing to "sourceforge". "easy_install" fails after the download, complaining that is does not find a "setup script" in the download. For "PyPI" management, I recommend to split the various bundles into separate packages with the core as a common dependency and each "bundle" as a separate package (depending on other bundles or the core). This would make is easy to fetch the correct bundle via "PyPI". A good PyPI/setuptools integration is especially helpful when "pyXB" is integrated into a larger context with tight "PyPI" integration. I, for example, use it together with Zope/Plone which uses "zc.buildout" to "describe" a configuration. "zc.buildout" makes it very easy to integrate packages with good "PyPI" integration; on the other hand, packages with deficiencies with respect to "PyPI" integration and "setuptools" support can cause quite some headaches.
#133 problem with pyxbgen when the xsd has a <xsd:choice> entry 3 weeks 3 weeks new -- PyXB 1.1.4 I've modified the po.xsd and po.xml to include a choice under the item entry <xsd:choice> <xsd:element name="USPrice" type="xsd:decimal" minOccurs="0"/> <xsd:element ref="po:comment" minOccurs="0"/> </xsd:choice> if and when you have an item with only a USPrice and another item with only a comment, you get the following error pydev debugger: starting Traceback (most recent call last): File "C:\downloads\eclipse_indigo_3_7\eclipse\plugins\org.python.pydev.debug_2.4.0.2012020116\pysrc\pydevd.py", line 1307, in <module> debugger.run(setup['file'], None, None) File "C:\downloads\eclipse_indigo_3_7\eclipse\plugins\org.python.pydev.debug_2.4.0.2012020116\pysrc\pydevd.py", line 1060, in run pydev_imports.execfile(file, globals, locals) #execute the script File "C:\Users\hbl4152\workspace\python1\src\pocSample.py", line 6, in <module> pobObject = poc.CreateFromDocument(xml, location_base='poc.xml') File "C:\Users\hbl4152\workspace\python1\src\poc.py", line 32, in CreateFromDocument saxer.parse(StringIO.StringIO(xml_text)) File "C:\Python27\lib\xml\sax\expatreader.py", line 107, in parse xmlreader.IncrementalParser.parse(self, source) File "C:\Python27\lib\xml\sax\xmlreader.py", line 123, in parse self.feed(buffer) File "C:\Python27\lib\xml\sax\expatreader.py", line 207, in feed self._parser.Parse(data, isFinal) File "C:\Python27\lib\xml\sax\expatreader.py", line 349, in end_element_ns self._cont_handler.endElementNS(pair, None) File "C:\Python27\lib\site-packages\pyxb\binding\saxer.py", line 374, in endElementNS binding_object = this_state.endBindingElement() File "C:\Python27\lib\site-packages\pyxb\binding\saxer.py", line 232, in endBindingElement self.__bindingInstance.validateBinding() File "C:\Python27\lib\site-packages\pyxb\binding\basis.py", line 422, in validateBinding self._validateBinding_vx() File "C:\Python27\lib\site-packages\pyxb\binding\basis.py", line 1836, in _validateBinding_vx raise pyxb.BindingValidationError('Error matching content to binding model: %s' % (e,)) pyxb.exceptions_.BindingValidationError: Error matching content to binding model: Ungenerated symbols: {<pyxb.binding.content.ElementUse object at 0x02D54E10>: [u'Want this for the holidays!']} Poc.xsd is the modified xsd Poc.xml is the example xml file The error is seen when i run pocsample.py
#135 opengis/scripts/genbind removes all user’s files 2 weeks 2 weeks assigned -- PyXB 1.1.4 The script to generate opengis bindings is very dangerous if used carelessly. Line 2 tests the variable `PYXB_ROOT` for emptiness and assigns to it a hardcoded value referring to `/home/pab`. Line 4 then depends on a file `${PYXB_ROOT}/maintainer/bundlesupport.sh` to define other useful variables, notably `SCHEMA_DIR` and `RAW_DIR`. Lines 9–13 are supposed to change to `${SCHEMA_DIR}` and delete the remaining files before regenerating them. However, if `/home/pab` is not there (as would be the case on the machine of an unsuspecting user who decided to test the development version), or is inaccessible, or the expected files are missing, `${SCHEMA_DIR}` ends up expanding to an empty string. Line 10 changes to the user’s home directory and line 12 proceeds to remove any and all files and subdirectories it can reach. I lost my collection of helper scripts in `~/bin`, my (not very important) `~/Documents` and a good chunk of `~/Downloads` before I realized something very wrong is going on and hit !^C. As a fix, I strongly suggest including `set -e` as the second line of each shell script (the first being the shebang line, `#!/bin/sh`) and structuring the scripts so that expected errors are suitably suppressed with `||:`.
#131 UTF-8 Characters don't store correctly 2 months 2 months closed non-discrepant PyXB 1.1.4 The pyxb API doesn't cope correctly with UTF-8 encoded characters such as 'Sign of Leser-Tr\xc3\xa9lat'. Assigning this data to an element, an attribute or using it in a constructor all result in the same error. We can proposed a fix that takes care of the first case: instance = bar() instance.e = 'Sign of Leser-Tr\xc3\xa9lat' But have no solutions to the other two situations. (The proposed fix is in basis.py at line ~286 # if str == value_type: # value = unicode(value, 'utf-8') <----- # value_type = unicode A test case has been attached.
#117 attributes are validated regardless of pyxb.RequireValidWhenParsing 4 months 3 months closed worksforme PyXB 1.1.4
#113 Timezone support for xsd:date types 6 months 6 months closed duplicate PyXB 1.1.4 I'm using PyXB and JAXB for two parts of my system to communicate with eachother. I'm having an issue with xsd:date's. When I do a setXXX() in Python / PyXB on a xsd:date, PyXB generates something like: <availableFrom>2011-11-30</availableFrom> Interestingly enough, when I use JAXB to unmarshal then marshal without doing any setXXX()'s on that field between, JAXB generates: <availableFrom>2011-11-30</availableFrom> which Python / PyXB is quite happy with. However, for a field which I set from Java then marshal with JAXB it will do: <dateCreated>2011-11-30+11:00</dateCreated> And Python / PyXB doesn't like that: BadTypeValueError: Value "2011-11-30+11:00" not in {http://www.w3.org/2001/XMLSchema}date lexical space I've been reading the W3C spec (http://www.w3.org/TR/xmlschema-2/#date-lexical-representation) and I think what JAXB is generating is ok. "Timezone lexical representations, as explained for dateTime, can range from '+14:00' to '-14:00'" suggests that to me. I see the implementation of dateTime in PyXB supports timezones (http://pyxb.sourceforge.net/api/pyxb.binding.datatypes.dateTime-class.html). But I can't see anything in the implementatino of date (http://pyxb.sourceforge.net/api/pyxb.binding.datatypes.date-class.html) that suggests it supports timezones. It would be good if PyXB supported reading timezones in dates. Even if it simply ignored them on input, then it would at least be interoperable then.
#125 Bug in pyxb documentation 3 months 3 months closed wontfix PyXB 1.1.4 [http://pyxb.sourceforge.net/api/pyxb.binding.content.ElementUse-class.html#isPlural] True '''iff''' the content model indicates
#118 Particle state derived from element rather than from "xsi:type"? 4 months 4 months closed invalid PyXB 1.1.4 "!CreateFromDocument" fails for the following XML document with an {{{ ExtraContentError: {http://docs.oasis-open.org/wsfed/federation/200706}ApplicationServiceType: Extra content Element {http://docs.oasis-open.org/wsfed/federation/200706}ClaimTypesRequested starting with <fed.raw.federation.ClaimTypesRequestedType object at 0xb696976c> }}} {{{ <RoleDescriptor xsi:type="fed:ApplicationServiceType" xmlns:fed="http://docs.oasis-open.org/wsfed/federation/200706" protocolSupportEnumeration="http://docs.oasis-open.org/wsfed/federation/200706" xmlns="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <fed:ClaimTypesRequested> <auth:ClaimType Uri="urn:mace:dir:attribute-def:eduPersonEntitlement" Optional="false" xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706" /> </fed:ClaimTypesRequested> </RoleDescriptor> }}} My analysis seems to indicate that the particle model used for "fed:ApplicationServiceType" is that of "Roledescriptor" (from the SAML2 metadata schema) rather than the of "ApplicationServiceType" itself. The schema corresponding to "fed" is at "http://docs.oasis-open.org/wsfed/federation/v1.2/os/ws-federation.xsd". To let "pyxbgen" succeed, I had to fix the "schemaLocation" for "http://docs.oasis-open.org/wsfed/authorization/200706". The correct location is "http://docs.oasis-open.org/wsfed/authorization/v1.2/authorization.xsd".
#108 Pattern restriction does not work correctly with Unicode. 8 months 8 months closed fixed PyXB 1.1.4 PyXB raises {{{BadTypeValueError}}} on some Unicode strings that should be valid according to the regular expression. To reproduce, create {{{TestPatternRestriction.xsd}}} schema: {{{ <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xs:simpleType name="TestPatternRestriction"> <xs:restriction base="xs:string"> <xs:pattern value=".*"/> </xs:restriction> </xs:simpleType> <xs:element name="test" type="TestPatternRestriction" /> </xs:schema> }}} Create binding: {{{ pyxbgen -u 'TestPatternRestriction.xsd' -m 'TestPatternRestriction' }}} Create script: {{{ #!/usr/bin/env python # -*- coding: utf-8 -*- import TestPatternRestriction as t xml=u"
#110 List element constrained with maxOccurs = 1 does not generate correctly when validation disabled 8 months 8 months closed fixed PyXB 1.1.4 Generate from attached schema as follows: {{{ pyxbgen --schema-location=test.xsd --module=T }}} Generate and output an element with: {{{ import pyxb import T s = T.tSingle() s.li = T.intList([1,2,3]) pyxb.RequireValidWhenGenerating(False) print s.toxml() }}} and the output is: {{{ <ns1:tSingle xmlns:ns1="http://www.example.com/"> <li>1</li> <li>2</li> <li>3</li> </ns1:tSingle> }}} With validation enabled, the output is correct: {{{ <?xml version="1.0"?> <ns1:tSingle xmlns:ns1="http://www.example.com/"> <li>1 2 3</li> </ns1:tSingle> }}} I experimented a bit with maxOccurs > 1, and did not manage to get this behaviour, so it seems to be specific to the case where maxOccurs=1 Speculation: is there some relationship here with the old tickets [http://sourceforge.net/apps/trac/pyxb/ticket/32 32] and [http://sourceforge.net/apps/trac/pyxb/ticket/35 35]?
#111 Make simpleType CF_Enumeration iterable 6 months 3 months closed fixed PyXB 1.1.4 JAXB has an incredibly useful construct which allows us to take: <xsd:simpleType name="customerPaymentMethod"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="Credit Card"/> <xsd:enumeration value="Direct Debit"/> <xsd:enumeration value="Invoice Only"/> <xsd:enumeration value="Deferred Payment"/> </xsd:restriction> </xsd:simpleType> and iterate over the values: for (CustomerPaymentMethod pm: CustomerPaymentMethod.values()) { [...] } Both PyXB and JAXB allow public access to the constants (CustomerPaymentMethod.CREDIT_CARD / customerPaymentMethod.Credit_Card), which is great. If you could make the list of those iterable and part of the public interface then that would be great.
#114 .toxml() fails when <any namespace="##other" processContents="lax" maxOccurs="unbounded"/> is used 5 months 5 months closed fixed PyXB 1.1.4 A schema defines an extension point with " <any namespace="##other" processContents="lax" maxOccurs="unbounded"/>". I create a document containing such an extension with CreateFromDocument(xml). This document cannot be toxml()'ed. The toxml() call fails with AttributeError: 'Document' object has no attribute 'removeChild' In reality this is happening with the SAML2 Protocol schema but I have created a simplified example to easily reproduce the problem. The example contains 5 files: * a.py: generated by 'pyxbgen namespace_other_issue.xsd -m a' * namespace_other_issue.xml: xml file using the wildcard * namespace_other_issue.xsd: schema defining the wildcard * namespace_other_issue_support.xsd: not really needed but makes xml schema valid * test.py: crashes when executed
#115 Problem with timedelta to duration conversion 4 months 4 months closed fixed PyXB 1.1.4 When using a timedelta with less than a minute: {{{ d = duration( timedelta(hours=0, seconds = 3, minutes = 0) ) print d }}} Displays: >> 3:00:03 Changing L.252 of pyxb.binding.datatypes.duration from: {{{ if (0 != (rem_time % 1)): data['microseconds'] = types.IntType(1000000 * (rem_time % 1)) rem_time = rem_time // 1 if 60 <= rem_time: data['seconds'] = rem_time % 60 rem_time = data['minutes'] + (rem_time // 60) if 60 <= rem_time: data['minutes'] = rem_time % 60 rem_time = data['hours'] + (rem_time // 60) }}} To: {{{ if (0 != (rem_time % 1)): data['microseconds'] = types.IntType(1000000 * (rem_time % 1)) rem_time = rem_time // 1 data['seconds'] = rem_time % 60 rem_time = data['minutes'] + (rem_time // 60) data['minutes'] = rem_time % 60 rem_time = data['hours'] + (rem_time // 60) data['hours'] = rem_time % 24 }}} Seems to solve the problem.
#116 Simple-typed elements accept any attributes 4 months 4 months closed fixed PyXB 1.1.4 When an element is defined in the schema as having simple type, the resulting binding class accepts attributes on that element. == To reproduce == === root.xsd === {{{ <?xml version="1.0" encoding="utf-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="root" type="xsd:string"/> </xsd:schema> }}} {{{ $ pyxbgen --version pyxbgen from PyXB 1.1.3 $ pyxbgen -u root.xsd -m root urn:uuid:13b5432e-436d-11e1-bbae-20cf303045b5 Python for AbsentNamespace0 requires 1 modules Saved binding source to ./root.py }}} === test.xml === {{{ <?xml version="1.0" encoding="utf-8"?> <root foo='boo'/> }}} === test.py === {{{ import root root.CreateFromDocument(file('test.xml').read()) }}} == Expected behavior == Should throw an exception to the effect that `foo` is not an allowed attribute for `root`. == Observed behavior == No exception is thrown. I have not found any way to access the attribute value. == Other attempts at syntax == This doesn’t work either: {{{ <?xml version="1.0" encoding="utf-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="root"> <xsd:simpleType> <xsd:restriction base="xsd:string"/> </xsd:simpleType> </xsd:element> </xsd:schema> }}} Although this does: {{{ <?xml version="1.0" encoding="utf-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="root"> <xsd:complexType> <xsd:simpleContent> <xsd:restriction base="xsd:string"/> </xsd:simpleContent> </xsd:complexType> </xsd:element> </xsd:schema> }}} {{{ $ python test.py … pyxb.exceptions_.UnrecognizedAttributeError: Attribute foo is not permitted in type None }}}
#119 pyxb.exceptions_.SchemaValidationError: QName AuthenticationRequest with absent default namespace cannot be resolved 4 months 4 months closed fixed PyXB 1.1.4 Unable to round trip a document generated with pyxb >>> ar = ocibase.BroadsoftDocument(protocol="OCI", sessionId='d3cafbad', command=[bwas.AuthenticationRequest(userId='someuserID'),]) >>> ar.toxml() u'<?xml version="1.0" ?><ns1:BroadsoftDocument protocol="OCI" xmlns:ns1="C" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><sessionId>d3cafbad</sessionId><command xsi:type="AuthenticationRequest"><userId>someuserID</userId></command></ns1:BroadsoftDocument>' >>> >>> >>> bd = ocibase.CreateFromDocument(ar.toxml()) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "ocibase.py", line 32, in CreateFromDocument saxer.parse(StringIO.StringIO(xml_text)) File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/xml/sax/expatreader.py", line 107, in parse xmlreader.IncrementalParser.parse(self, source) File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/xml/sax/xmlreader.py", line 123, in parse self.feed(buffer) File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/xml/sax/expatreader.py", line 207, in feed self._parser.Parse(data, isFinal) File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/xml/sax/expatreader.py", line 338, in start_element_ns AttributesNSImpl(newattrs, qnames)) File "/Library/Python/2.6/site-packages/PyXB-1.1.3-py2.6.egg/pyxb/binding/saxer.py", line 329, in startElementNS (did_replace, type_class) = XSI._InterpretTypeAttribute(attrs.getValue(self.__XSITypeTuple), ns_ctx, None, type_class) File "/Library/Python/2.6/site-packages/PyXB-1.1.3-py2.6.egg/pyxb/namespace/builtin.py", line 103, in _InterpretTypeAttribute type_en = ns_ctx.interpretQName(type_name, namespace=fallback_namespace) File "/Library/Python/2.6/site-packages/PyXB-1.1.3-py2.6.egg/pyxb/namespace/resolution.py", line 611, in interpretQName raise pyxb.SchemaValidationError('QName %s with absent default namespace cannot be resolved' % (local_name,)) pyxb.exceptions_.SchemaValidationError: QName AuthenticationRequest with absent default namespace cannot be resolved
#120 module CreateFromDocument ignores default_namespace 4 months 4 months closed fixed PyXB 1.1.4 The module function CreateFromDocument does not use the default_namespace keyword to set the fallback namespace as was done with the old CreateFromDOM function. Consequently there is no way to override the use of the module's namespace as the default. (Which is probably fair, but then the option shouldn't even appear).
#121 PyXB elementary data types do not play well with "copy/pickling/..." 3 months 3 months closed fixed PyXB 1.1.4 As least some elementary data types cannot be copied/pickled. {{{ >>> from pyxb.binding.datatypes import dateTime >>> from datetime import datetime >>> from copy import copy >>> pdt=dateTime(datetime.utcnow()) >>> pdt dateTime(2012, 2, 16, 9, 58, 2, 659166) >>> copy(pdt) Traceback (most recent call last): ... File ".../Python-2.4/lib/python2.4/site-packages/pyxb/binding/datatypes.py", line 426, in __new__ ctor_kw.update(cls._LexicalToKeywords(value, cls.__Lexical_re)) File ".../Python-2.4/lib/python2.4/site-packages/pyxb/binding/datatypes.py", line 328, in _LexicalToKeywords raise BadTypeValueError('Value "%s" not in %s lexical space' % (text, cls._ExpandedName)) BadTypeValueError: Value "� : �" not in {http://www.w3.org/2001/XMLSchema}dateTime lexical space }}}
#122 PxXB should allow to assign `None` to optional elements and attributes 3 months 3 months closed fixed PyXB 1.1.4 Optional attributes return `None` on access to indicate that the attribute is missing. However, when one tries to assign `None` to an optional attribute, this can result in: {{{ Module pyxb.binding.basis, line 62, in __setattr__ Module pyxb.binding.content, line 410, in set AssertionError }}} This can make assigning attributes quite complicated, especially if one creates one binding object from another one. Instead of "dest.attr = "src.attr" one must use code "if src.attr is not None: dest.attr = src.attr".
#123 "unbound wildcard element": "toxml()" fails 3 months 3 months closed fixed PyXB 1.1.4 If "!CreateFromDocument" creates an "unbound wildcard element", a call of "toxml" of the containing binding object fails as seen by the following example: {{{ >>> doc="""<Signature xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" /><Reference URI="#_53cdd0e9-bd51-4a49-8519-f711860c5499"><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"><InclusiveNamespaces PrefixList="#default samlp saml ds xs xsi" xmlns="http://www.w3.org/2001/10/xml-exc-c14n#" /></Transform></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /><DigestValue>4OXjC8LT68JYyCVbtKJims+qe4U=</DigestValue></Reference></SignedInfo><SignatureValue>vG+UCB9C3T8k91yDP2zCvKNHJbp+P1aik9xckByr43y5V5BZktzOF9h4FC8C3mYklg/jTtzWiN4TvAd+wrznpOYDBv3/AseHM+LWG2Q/0t1o8owiliR1z8BqydQUXPuwTSTrPAzEmYFKnq+OQvtq8GiebfYHD2nTKc4M0B8//TuQ295WLwX06RXiuNxGN9C1YvMOL/hHKybPeiVbT7I0wnUMDjf4H/K+4hnCZY2wT+nOBf0fRVkFud/0/lIxCu8T3SMQeSzMRXcdK0FiElFNzh24DJerVwIIZTFXl5Qg42S2Is6kFs1KR0CYDXR/ZVNF5CdVY/xe62t8GUYbTHAoBw==</SignatureValue></Signature>""" >>> >>> from pyxb.bundles.wssplat.ds import CreateFromDocument >>> >>> b=CreateFromDocument(doc) NOTE: Created unbound wildcard element from value in InclusiveNamespaces >>> b.toxml() Traceback (most recent call last): ... Module "pyxb.binding.basis.py", line 2186, in _toDOM_csc element.appendChild(v) Module "xml.dom.minidom.py", line 125, in appendChild node.parentNode.removeChild(node) AttributeError: 'Document' object has no attribute 'removeChild' }}}
#124 Bug in pixb.binding.generate.Generator.__init__ 3 months 3 months closed fixed PyXB 1.1.4 See lines 1983 and 1984: {{{ self.__writeForCustomization = kw.get('write_for_customization', False) self.__writeForCustomization = kw.get('allow_builtin_generation', False) }}} As you may notice, the second line (1984) is buggy: should be {{{ self.__allowBuiltinGeneration = kw.get('allow_builtin_generation', False) }}} Thank you for future fix.
#126 attributes are not validated regardless of pyxb.RequireValidWhenGenerating 3 months 3 months closed fixed PyXB 1.1.4 In particular, the absence of a required attribute is not diagnosed.
#127 dateTime objects must be timezone-aware 3 months 3 months closed fixed PyXB 1.1.4 Per http://www.w3.org/TR/xmlschema-2/#dateTime, all XML timezoned values are in UTC. To prevent confusion with Python, which has a concept of "naive" date/time values for which zone information is unavailable, PyXB should enforce the presence of a tzinfo field with zero minute offset in all timezoned instances.
#128 most lexical representations for reduced dates wrong 3 months 3 months closed fixed PyXB 1.1.4 PyXB appears to use "10-27" as a lexical representation for gMonthDay, but "--10-27" is required.
#129 incorrect timezone adjustment from python values 3 months 3 months closed fixed PyXB 1.1.4 Where a base python datetime instance is used to initialize a PyXB dateTime instance, the timezone adjustment is in the wrong direction.
#132 Crash in PyXB when attempting to retrieve Unicode value from exception 4 weeks 4 weeks closed fixed PyXB 1.1.4 pyxb/exceptions_.py contains the following function:: {{{ #!python def __str__ (self): """Override to use the system-provided message, if available.""" if self.__message is not None: return '%s: %s' % (type(self).__name__, self.__message) return exceptions.Exception.__str__(self) }}} After calling CreateFromDocument() with an invalid XML document that contains Unicode, PyXB may raise an exception that contains Unicode, such as: {{{ #!python BadTypeValueError(u'pattern violation for <unicode characters here> in MyType',) }}} When attempting to retrieve the value of the exception, "exceptions.Exception.__str__(self)" throws an exception: {{{ #!python File "/usr/local/lib/python2.6/dist-packages/pyxb/exceptions_.py" in __str__ 48. return exceptions.Exception.__str__(self) Exception Type: UnicodeEncodeError Exception Value: 'ascii' codec can't encode character u'\xe9' in position 81: ordinal not in range(128) }}} I have not been able to find a workaround that would enable me to get even an ASCII version of the exception value. (I removed the actual Unicode characters because Trac can't handle them.)
#134 Name, NMTOKEN, NCName: wrong validation regexes 3 weeks 2 weeks closed fixed PyXB 1.1.4 The grammar rules for `Name` and `Nmtoken` in the [http://www.w3.org/TR/2000/WD-xml-2e-20000814#dt-name XML spec], and `NCName` in the [http://www.w3.org/TR/1999/REC-xml-names-19990114/#NT-NCName XML Namespaces spec], are defined in terms of `Letter`, which is defined as a [http://www.w3.org/TR/2000/WD-xml-2e-20000814#NT-Letter union] of quite a bunch of character ranges from all over the Unicode repertoire. PyXB, on the other hand, validates these types against substantially simpler regexes: {{{ $ grep -n 'A-Za-z' datatypes.py 920: _ValidRE = re.compile('^[-_.:A-Za-z0-9]*$') 932: _ValidRE = re.compile('^[A-Za-z_:][-_.:A-Za-z0-9]*$') 940: _ValidRE = re.compile('^[A-Za-z_][-_.A-Za-z0-9]*$') }}} This causes PyXB-generated bindings to reject technically well-formed and valid documents that contain IDs in languages other than English.
#136 preserve timezone in processing 8 days 8 days closed fixed PyXB 1.1.4 Although XML schema (http://www.w3.org/TR/xmlschema-2/#dateTime) clearly indicates that all timezoned times are to be in UTC, there are applications where loss of timezone can be an issue. Provide an option to preserve the timezone information rather than canonicalizing it on input.

Defects (to be) fixed in upcoming beta release (1.1.4)

Ticket Summary Created Modified Status Resolution Version Milestone
#69 enhance detection/handling of pyxb.BIND 2 years 9 months new -- PyXB 1.1.0 PyXB 1.1.4
#71 Content type mismanagement with renamed element 2 years 9 months accepted -- PyXB 1.1.0 PyXB 1.1.4
#75 UnrecognizedWhateverException unhelpful 2 years 9 months accepted -- PyXB 1.1.0 PyXB 1.1.4
#79 copy documentation from element to undocumented anonymous type 2 years 9 months accepted -- PyXB 1.1.1 PyXB 1.1.4
#82 restore binding style support 2 years 9 months new -- PyXB 1.1.1 PyXB 1.1.4
#86 support wildcard validation 2 years 9 months accepted -- PyXB 1.1.1 PyXB 1.1.4
#91 Problem with fractionDigits violation 21 months 9 months accepted -- PyXB 1.1.2 PyXB 1.1.4
#99 default/fixed elements 17 months 7 months accepted -- PyXB 1.1.2 PyXB 1.1.4
#101 need facility to customize reserved symbols 12 months 9 months new -- PyXB 1.1.2 PyXB 1.1.4
#109 need post-construction hook 8 months 8 months new -- PyXB 1.1.3 PyXB 1.1.4
#130 Improved "pypi/setuptools" support 2 months 2 months accepted -- PyXB 1.1.3 PyXB 1.1.4
#133 problem with pyxbgen when the xsd has a <xsd:choice> entry 3 weeks 3 weeks new -- PyXB 1.1.3 PyXB 1.1.4
#135 opengis/scripts/genbind removes all user’s files 2 weeks 2 weeks assigned -- PyXB 1.1.3 PyXB 1.1.4
#131 UTF-8 Characters don't store correctly 2 months 2 months closed non-discrepant PyXB 1.1.3 PyXB 1.1.4
#117 attributes are validated regardless of pyxb.RequireValidWhenParsing 4 months 3 months closed worksforme PyXB 1.1.3 PyXB 1.1.4
#113 Timezone support for xsd:date types 6 months 6 months closed duplicate PyXB 1.1.3 PyXB 1.1.4
#125 Bug in pyxb documentation 3 months 3 months closed wontfix PyXB 1.1.3 PyXB 1.1.4
#118 Particle state derived from element rather than from "xsi:type"? 4 months 4 months closed invalid PyXB 1.1.3 PyXB 1.1.4
#102 timezone not supported for datatype "date" 9 months 3 months closed fixed PyXB 1.1.2 PyXB 1.1.4
#108 Pattern restriction does not work correctly with Unicode. 8 months 8 months closed fixed PyXB 1.1.3 PyXB 1.1.4
#110 List element constrained with maxOccurs = 1 does not generate correctly when validation disabled 8 months 8 months closed fixed PyXB 1.1.3 PyXB 1.1.4
#111 Make simpleType CF_Enumeration iterable 6 months 3 months closed fixed PyXB 1.1.3 PyXB 1.1.4
#114 .toxml() fails when <any namespace="##other" processContents="lax" maxOccurs="unbounded"/> is used 5 months 5 months closed fixed PyXB 1.1.3 PyXB 1.1.4
#115 Problem with timedelta to duration conversion 4 months 4 months closed fixed PyXB 1.1.3 PyXB 1.1.4
#116 Simple-typed elements accept any attributes 4 months 4 months closed fixed PyXB 1.1.3 PyXB 1.1.4
#119 pyxb.exceptions_.SchemaValidationError: QName AuthenticationRequest with absent default namespace cannot be resolved 4 months 4 months closed fixed PyXB 1.1.3 PyXB 1.1.4
#120 module CreateFromDocument ignores default_namespace 4 months 4 months closed fixed PyXB 1.1.3 PyXB 1.1.4
#121 PyXB elementary data types do not play well with "copy/pickling/..." 3 months 3 months closed fixed PyXB 1.1.3 PyXB 1.1.4
#122 PxXB should allow to assign `None` to optional elements and attributes 3 months 3 months closed fixed PyXB 1.1.3 PyXB 1.1.4
#123 "unbound wildcard element": "toxml()" fails 3 months 3 months closed fixed PyXB 1.1.3 PyXB 1.1.4
#124 Bug in pixb.binding.generate.Generator.__init__ 3 months 3 months closed fixed PyXB 1.1.3 PyXB 1.1.4
#126 attributes are not validated regardless of pyxb.RequireValidWhenGenerating 3 months 3 months closed fixed PyXB 1.1.3 PyXB 1.1.4
#127 dateTime objects must be timezone-aware 3 months 3 months closed fixed PyXB 1.1.3 PyXB 1.1.4
#128 most lexical representations for reduced dates wrong 3 months 3 months closed fixed PyXB 1.1.3 PyXB 1.1.4
#129 incorrect timezone adjustment from python values 3 months 3 months closed fixed PyXB 1.1.3 PyXB 1.1.4
#132 Crash in PyXB when attempting to retrieve Unicode value from exception 4 weeks 4 weeks closed fixed PyXB 1.1.3 PyXB 1.1.4
#134 Name, NMTOKEN, NCName: wrong validation regexes 3 weeks 2 weeks closed fixed PyXB 1.1.3 PyXB 1.1.4
#136 preserve timezone in processing 8 days 8 days closed fixed PyXB 1.1.3 PyXB 1.1.4

Defects fixed in current beta release (1.1.3)

Ticket Summary Created Modified Status Resolution Version Milestone
#87 deconflict common ReservedSymbols 2 years 12 months closed non-discrepant PyXB 1.1.2 PyXB 1.1.3
#83 support xs:base64Binary 2 years 9 months closed fixed PyXB 1.1.1 PyXB 1.1.3
#89 mistakenly attempt to generate enumerations in extended type 21 months 12 months closed fixed PyXB 1.1.2 PyXB 1.1.3
#90 xs:hexBinary should be based on string 21 months 19 months closed fixed PyXB 1.1.2 PyXB 1.1.3
#92 "--archive-path=.:+" does not resolve "PYXB_ARCHIVE_PATH" for "+" 19 months 12 months closed fixed PyXB 1.1.2 PyXB 1.1.3
#93 "pyxb.xmlschema.structures:5038": NameError: global name 'IncompleteImplementationException' is not defined 19 months 12 months closed fixed PyXB 1.1.2 PyXB 1.1.3
#94 "xs:anyType" not properly handled (not base type of (e.g.) "xs:string") 19 months 19 months closed fixed PyXB 1.1.2 PyXB 1.1.3
#95 need way to require xsi:type for specific elements 19 months 19 months closed fixed PyXB 1.1.2 PyXB 1.1.3
#96 Bad constraint for 'base64Binary' 18 months 18 months closed fixed PyXB 1.1.2 PyXB 1.1.3
#97 pickled schema file problem on windows 17 months 12 months closed fixed PyXB 1.1.2 PyXB 1.1.3
#98 file schema URIs on windows 17 months 12 months closed fixed PyXB 1.1.2 PyXB 1.1.3
#100 Generating bindings for XSD with extensions containing wildcards can cause exception 14 months 12 months closed fixed PyXB 1.1.2 PyXB 1.1.3
#104 AttributeError: 'module' object has no attribute '_nsgroup' with complex restriction/extension layout 9 months 9 months closed fixed PyXB 1.1.2 PyXB 1.1.3
#105 nsgroup binding files collide 9 months 9 months closed fixed PyXB 1.1.2 PyXB 1.1.3
#106 add saml bundle 9 months 9 months closed fixed PyXB 1.1.2 PyXB 1.1.3
#107 avoid overwrite of built-in constants 9 months 9 months closed fixed PyXB 1.1.2 PyXB 1.1.3

For a complete list of local wiki pages, see TitleIndex. Karikatur Online Jasa Karikatur Berita Terkini Jasa SEO Murah Kata Mutiara Hostgator Coupon Zakat Cheater SOBAT Kumpulan Lagu Terbaru Andre Cheater Pekalongan Contoh Drama Cheat PB Terbaru Lumut Bulan Ramadhan Kanker Tulang Struktur Susunan Tulang AWsurveys Kata Bijak Terbaru Google Panda Skripsi Akuntansi Surat Pengunduran Diri Skripsi Pendidikan Lengkap Google Translate Anatomi Muskuloskeletal Blog AutoApprove Cara Download Video Youtube gemscool SPT Tahunan Chinese New Year Harga BlackBerry Model Jilbab Terbaru Shio Kambing Farah Queen Pengertian Reksadana Shio Macan Azab Kubur Shio Monyet Shio Kelinci Cerita Dewasa Fenomena Nama Perawat Shio Tikus Kaskus Atlantica DB Google Chrome Cheat Avatar Hal Unik Video Bokep Saints Row 2 Cheat Smadav Gadget Judul Skripsi Bahasa Inggris Cheat Plants vs Zombie Facebook Timeline Tips Optimasi SEO 4shared Judul Skripsi Keperawatan Kanker Payudara Sistem Informasi Manajemen Cheat Ninja Saga Contoh Proposal Dana Kata Mutiara Cinta Apa Kabar Dunia Harga Nokia Terbaru Judul Skripsi Manajemen Diet Golongan Darah Cara Menghilangkan Jerawat Judul Skripsi Matematika Contoh Proposal PTK Foto Hot Arti Nama Bayi FB Potongan Rambut Angry Birds Fakta Youtube Kata Lucu