Bob,

Don't you just hate namespace problems.  I know I do.

Seriously, I'll take a look at it tomorrow or next week at the
latest.

Thanks for the report.

Dave

On Wed, Nov 01, 2017 at 05:09:56PM -0700, Bob Barcklay wrote:
> Hi Dave,
> 
> I’m using the XML Signature Schema (http://www.w3.org/2000/09/xmldsig#) 
> imported and used inside another schema 
> (http://openadr.org/oadr-2.0b/2012/07) to create a “signed object”.  I’m 
> running into a problem with the namespace that is generated for one element 
> within the XML Signature.  Everything else looks fine but this one element, 
> which should get associated with the XML Digital Signature namespace is 
> instead getting tagged with the surrounding namespace.  The XSD look fine:
> 
> 
> <element name="Reference" type="ds:ReferenceType"/>
> <complexType name="ReferenceType">
>    <sequence>
>       <element ref="ds:Transforms" minOccurs="0"/>
>       <element ref="ds:DigestMethod"/>
>       <element ref="ds:DigestValue"/>
>    </sequence>
>    <attribute name="Id" type="ID" use="optional"/>
>    <attribute name="URI" type="anyURI" use="optional"/>
>    <attribute name="Type" type="anyURI" use="optional"/>
> </complexType>
> 
> The DigestValue element is associated with the ‘ds’ namespace just like 
> Transforms and DigestMethod, but the generated code for this element looks 
> different.
> 
> def exportChildren(self, outfile, level, namespace_='oadr:', 
> name_='ReferenceType', fromsubclass_=False, pretty_print=True):
>     if pretty_print:
>         eol_ = '\n'
>     else:
>         eol_ = ''
>     if self.Transforms is not None:
>         self.Transforms.export(outfile, level, namespace_='ds:', 
> name_='Transforms', pretty_print=pretty_print)
>     if self.DigestMethod is not None:
>         self.DigestMethod.export(outfile, level, namespace_='ds:', 
> name_='DigestMethod', pretty_print=pretty_print)
>     if self.DigestValue is not None:
>         showIndent(outfile, level, pretty_print)
>         outfile.write('<%sDigestValue>%s</%sDigestValue>%s' % (namespace_, 
> self.gds_format_base64(self.DigestValue, input_name='DigestValue'), 
> namespace_, eol_))
> Notice that both Transforms and DigestMethod are exported with 
> namespace_=‘ds:’ but for some reason, DigestValue is exported with the 
> default namespace for exportChildren which in this case is namespace=‘oadr:’. 
>  The generated code looks similar if I process only the XML Signature XSD but 
> in this case, the default namespace is ‘ds:’ so it generates correctly.
> 
> I’ve tried unsuccessfully to isolate just a portion of the XSD to make this 
> happen but haven’t been able to do it.  I’m attaching the XML Signature XSD 
> which can be used to generate code that will exhibit the behavior described 
> above. I’m happy to experiment further if you can’t point me in the right 
> direction ;-)
> 
> BTW, I am able to work around the issue by hand editing the generated code 
> and replacing namespace_ with ‘ds:’.
> 
> -Bob
> 
> 
> 
> 
> 
> 
> b...@kisensum.com
> (510) 520-7741
> www.kisensum.com <http://www.kisensum.com/>
> 
> Kisensum | 344 Thomas Berkley Way #260 | Oakland, CA, 94612
> 

> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot

> _______________________________________________
> generateds-users mailing list
> generateds-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/generateds-users


-- 

Dave Kuhlman
http://www.davekuhlman.org

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
generateds-users mailing list
generateds-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/generateds-users

Reply via email to