Hi, I am not sure where is the best place to ask this question about using a file I created with generateDS. If this is not the right place, apologies and I would appreciate to be told where to post it.
I am having the following problem: when I generate the xml using the export function, the children elements are missing the namespace. I have been using a file created with Python 2.7.14 and GenerateDS 2.29.6 and everything was working well, this was my exported xml: > <oadr:oadrSignedObject xmlns:oadr="http://openadr.org/oadr-2.0b/2012/07"> > <oadr:oadrCreatedEvent > xmlns:oadr="http://openadr.org/oadr-2.0b/2012/07" > xmlns:pyld="http://docs.oasis-open.org/ns/energyinterop/201110/payloads" > > <pyld:eiCreatedEvent > xmlns:oadr="http://openadr.org/oadr-2.0b/2012/07" > xmlns:ei="http://docs.oasis-open.org/ns/energyinterop/201110" > xmlns:pyld="http://docs.oasis-open.org/ns/energyinterop/201110/payloads"> > <ei:eiResponse > xmlns:oadr="http://openadr.org/oadr-2.0b/2012/07" > xmlns:ei="http://docs.oasis-open.org/ns/energyinterop/201110" > xmlns:pyld="http://docs.oasis-open.org/ns/energyinterop/201110/payloads" > > <ei:responseCode>200</ei:responseCode> > </ei:eiResponse> > <ei:eventResponses > xmlns:oadr="http://openadr.org/oadr-2.0b/2012/07" > xmlns:ei="http://docs.oasis-open.org/ns/energyinterop/201110"> > <ei:eventResponse > xmlns:oadr="http://openadr.org/oadr-2.0b/2012/07" > xmlns:ei="http://docs.oasis-open.org/ns/energyinterop/201110" > xmlns:pyld="http://docs.oasis-open.org/ns/energyinterop/201110/payloads" > > <ei:responseCode>200</ei:responseCode> > <pyld:requestID>300</pyld:requestID> > <ei:qualifiedEventID > xmlns:oadr="http://openadr.org/oadr-2.0b/2012/07" > xmlns:ei="http://docs.oasis-open.org/ns/energyinterop/201110" > > <ei:eventID>4</ei:eventID> > > <ei:modificationNumber>0</ei:modificationNumber> > </ei:qualifiedEventID> > <ei:optType>none</ei:optType> > </ei:eventResponse> > </ei:eventResponses> > <ei:venID>1</ei:venID> > </pyld:eiCreatedEvent> > </oadr:oadrCreatedEvent> > </oadr:oadrSignedObject> But I have recently generated a new file with python 3.7 and generateDS 2.32.0. This is the xml (note the missing namespaces in the children element) > <oadrSignedObject xmlns:oadr="http://openadr.org/oadr-2.0b/2012/07"> > <oadr:oadrCreatedEvent> > <pyld:eiCreatedEvent> > <ei:eiResponse> > <responseCode>200</responseCode> > </ei:eiResponse> > <ei:eventResponses> > <eventResponse> > <responseCode>200</responseCode> > <requestID>300</requestID> > <ei:qualifiedEventID> > <eventID>4</eventID> > <modificationNumber>0</modificationNumber> > </ei:qualifiedEventID> > <optType>none</optType> > </eventResponse> > </ei:eventResponses> > <venID>1</venID> > </pyld:eiCreatedEvent> > </oadr:oadrCreatedEvent> > </oadrSignedObject> When trying to *etree_.fromstring* the oadrSignedObject I get the error: "Namespace prefix pyld on eiCreatedEvent is not defined" After digging in the generateDS files I can see that the problem is in the *exportChildren()* methods and how they call the export methods of the children elements: * In the old file: self.oadrCreatedEvent.export(outfile, level, namespace_='oadr:', name_='oadrCreatedEvent', pretty_print=pretty_print) * In the new file: self.oadrCreatedEvent.export(outfile, level, *namespaceprefix_='oadr:', namespacedef_=''*, name_='oadrCreatedEvent', pretty_print=pretty_print) In the new file we are passing *namespaceprefix_ *and *namespacedef_* which overwrite the default ones used in the child's export method, if they were not passed everything would work well. The only thing I have tried to do to sort the problem was to create my file again using the *--no-namespace-defs* but what that does is the no name space is added at all. Does anybody know what should I do to get the namespace in the child elements. Thank you very much in advance. Carlos ** -- Carlos Alonso-Gabizon - Carbon Co-op - Technical Developer m: 07990 725 966 e: car...@carbon.coop w: https://carbon.coop t: @carboncoop People Powered Not Fossil Fuelled: an intro to Carbon Co-op: http://www.carbon.coop/reports/CarbonCoopPeoplePoweredBooklet.pdf Office: c/o URBED, 10 Little Lever Street, Manchester M1 1HR Society for the Reduction of Carbon Ltd (Trading as Carbon Co-op) Registered address: Holyoake House, Hanover Street, Manchester M60 0AS United Kingdom Registered under the Industrial and Provident Societies Act 1965 Registration Number 31342R
_______________________________________________ generateds-users mailing list generateds-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/generateds-users