Not so great news, I'm afraid. This turns out to be a really nasty thing to fix, as it requires propagating namespace contexts into areas that they've never had to reach before (you can't form the lexical representation of a QName without a context that tells you how to spell the qualifying prefix for the QName's namespace).
I'm not going to be able to develop a satisfactory solution in a few hours, so I'm going to have to delay this until I can find a spare week or two when I can address the accumulated infoset issues behind this and a couple other bugs. That won't happen until I've found a source of income for this year. Sorry. No estimated date for a fix, and there will be no PyXB releases until there is a fix. Peter On Wed, Mar 5, 2014 at 4:24 PM, Xavier Fernandez <xav.fernan...@gmail.com> wrote: > Great news :) > > I'm looking forward to your bugfix. > > Xavier > > > On Wed, Mar 5, 2014 at 4:44 PM, Peter Bigot <big...@acm.org> wrote: >> >> Heh. tns should not be special. It is special because PyXB has not >> properly handled the QName type until you pointed this out: the value space >> and lexical space are not the same. Since the schema for soap12 identifies >> the enumeration restrictions with the string "tns:Sender" it works. Once I >> correct PyXB to handle QName properly (making the type inherit from >> ExpandedName instead of string), alternative namespace prefixes will also >> work. >> >> This is now https://sourceforge.net/apps/trac/pyxb/ticket/229 and I should >> get a patch into the next branch by the end of the week. >> >> Peter >> >> >> On Wed, Mar 5, 2014 at 9:25 AM, Xavier Fernandez <xav.fernan...@gmail.com> >> wrote: >>> >>> Hello list, >>> >>> I'm quite new to PyXB and I'm looking forward for the porting to Python >>> 3. >>> >>> Meanwhile I've got an issue with soap 1.2 faults, is the 'tns' namespace >>> magic or something ?: >>> >>> from pyxb.bundles.wssplat import soap12 >>> >>> resp="""<{0}:Envelope >>> xmlns:{0}="http://www.w3.org/2003/05/soap-envelope"> >>> <{0}:Body> >>> <{0}:Fault> >>> <{0}:Code> >>> <{0}:Value>{0}:Sender</{0}:Value> >>> </{0}:Code> >>> <{0}:Reason><{0}:Text xml:lang="en">Reason >>> test</{0}:Text></{0}:Reason> >>> </{0}:Fault> >>> </{0}:Body> >>> </{0}:Envelope>""" >>> >>> soap12.CreateFromDocument(resp.format('tns')) >>> print 'OK for tns' >>> soap12.CreateFromDocument(resp.format('anything')) >>> >>> The CreateFromDocument works with 'tns' but not with 'anything' that >>> fails with: >>> pyxb.exceptions_.SimpleFacetValueError: Type >>> {http://www.w3.org/2003/05/soap-envelope}faultcodeEnum enumeration >>> constraint violated by value anything:Sender >>> >>> Am I missing something ? >>> >>> Regards, >>> Xavier >>> >>> >>> ------------------------------------------------------------------------------ >>> Subversion Kills Productivity. Get off Subversion & Make the Move to >>> Perforce. >>> With Perforce, you get hassle-free workflows. Merge that actually works. >>> Faster operations. Version large binaries. Built-in WAN optimization and >>> the >>> freedom to use Git, Perforce or both. Make the move to Perforce. >>> >>> http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk >>> _______________________________________________ >>> pyxb-users mailing list >>> pyxb-users@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/pyxb-users >>> >> > ------------------------------------------------------------------------------ Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce. With Perforce, you get hassle-free workflows. Merge that actually works. Faster operations. Version large binaries. Built-in WAN optimization and the freedom to use Git, Perforce or both. Make the move to Perforce. http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk _______________________________________________ pyxb-users mailing list pyxb-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pyxb-users