I can't think of a way to do that restricted to specific namespaces, but it might be a worthwhile enhancement. You can set global defaults:
pyxb.utils.domutils.BindingDOMSupport.SetDefaultNamespace(container.Namespace,) pyxb.utils.domutils.BindingDOMSupport.DeclareNamespace(cdb.Namespace, 'cdb') which should produce the output you want, assuming that the bindings for the relevant namespaces are imported as modules called container and cdb. Whether this might impact your users' desires for a different default namespace is something to consider; you might want to provide a default declaration for your default namespace in case the user overrides it and a prefix is required. http://pyxb.sourceforge.net/userref_usebind.html#creating-xml-documents-from-binding-instances Peter Arne Grimstrup wrote: > Hello everyone, > > I've generated bindings for the following schema: > > <?xml version="1.0" encoding="ISO-8859-1"?> > <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" > xmlns="urn:Container:1.0" > xmlns:cdb="urn:CDB:1.0" > xmlns:log="urn:LoggingConfig:1.0" > targetNamespace="urn:Container:1.0" > elementFormDefault="qualified" > attributeFormDefault="unqualified"> > <xs:import namespace="urn:CDB:1.0" schemaLocation="CDB.xsd"/> > <xs:import namespace="urn:LoggingConfig:1.0" > schemaLocation="LoggingConfig.xsd"/> > <xs:element name="Container" type="Container"/> > <xs:complexType name="Container"> > <xs:sequence>< > <xs:element name="Autoload" type="cdb:Array"/> > <xs:element name="LoggingConfig" type="log:LoggingConfig"/> > </xs:sequence> > </xs:complexType> > </xs:schema> > > Running the toxml() method of the Container binding produces valid > output like this: > > <?xml version="1.0" ?> > <ns1:Container xmlns:ns1="urn:Container:1.0" xmlns:ns2="urn:CDB:1.0"> > <ns1:Autoload> > <ns2:_ string="baci"/> > </ns1:Autoload> > <ns1:LoggingConfig centralizedLogger="Log" dispatchPacketSize="0" > immediateDispatchLevel="99" minLogLevel="2"/> > </ns1:Container> > > However, I'd like the output to look like: > > <?xml version="1.0" ?> > <Container xmlns="urn:Container:1.0" xmlns:cdb="urn:CDB:1.0"> > <Autoload> > <cdb:_ string="baci"/> > </Autoload> > <LoggingConfig centralizedLogger="Log" dispatchPacketSize="0" > immediateDispatchLevel="99" minLogLevel="2"/> > </Container> > > The documentation shows how to control this by passing a > BindingDOMSupport object to the toxml() method that has the default > and declared namespaces set accordingly. That works just fine too > but, as these bindings will be going into a library, making users of > the code create binding objects to get the formatting right invites a > lot of trouble. > > I've been experimenting with generating raw bindings and then writing > a custom module to set the BindingDOMSupport appropriately. In what > I've done so far, it appears to work the same as the manual case. > However, there are a lot of schema to generate bindings for and users > are writing their own schemata as well, so a manual process like this > doesn't appear to be a good solution either. > > Is there an automated way to generate and associate a > BindingDOMSupport object for the elements of a schema? > > Regards, > > Arne > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > ------------------------------------------------------------------------ > > _______________________________________________ > pyxb-users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/pyxb-users > ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ pyxb-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/pyxb-users
