Re: What would be the consequence of prohibiting local element and attribute declarations?
"Pete Cordell" <[email protected]>
| Newsgroups | gmane.text.xml.schema.devel |
|---|---|
| Message-ID | <36CCAD229A9D4E7EA4D1A8F3A7211A6D@Codalogic> |
Can I just retract: > Using definitions like "Simple" seems to be unavoidable. You can obviously avoid it in the context shown, and the "Simple" form can just be treated as a variation of the "ComplexType" form in the rest of the discussion. Thanks, Pete Cordell Codalogic Ltd Interface XML to C++ the easy way using XML C++ data binding to convert XSD schemas to C++ classes. Visit http://codalogic.com/lmx/ or http://www.xml2cpp.com for more info ----- Original Message ----- From: "Pete Cordell" <[email protected]> To: "Costello, Roger L." <[email protected]>; <[email protected]> Sent: Saturday, October 16, 2010 4:37 PM Subject: Re: What would be the consequence of prohibiting local element and attribute declarations? > > Original Message From: "Costello, Roger L." > > Hi Roger, > > Taking the following as an example... > > <xs:element name="MyElement"> > <xs:complexType> > <xs:sequence> > <xs:element name="Simple" type="xs:int"/> > <xs:element name="ComplexType" type="MyComplexType"/> > <xs:element ref="ComplexRef"/> > <xs:element name="ComplexLocal"> > <xs:complexType> > <xs:sequence> > <xs:element name="another" type="xs:int"/> > </xs:sequence> > </xs:complexType> > </xs:element> > </xs:sequence> > </xs:complexType> > </xs:element> > > Are you saying what are the implications of only allowing definitions as > for "ComplexRef"? > > I would say the definitions of "Simple", "CompleType" and "ComplexRef" are > all sensible ways to go. "ComplexLocal" should be avoided. > > Using definitions like "Simple" seems to be unavoidable. > > In principle there's not much to choose between "CompleType" and > "ComplexRef", so it's worth deciding which mechanism you're going to use > and be consistent. > > Some of the differences come into play when crossing XML namespace > boundaries. Using "CompleType" the parent would have a name in the > 'importing' namespace and the children would be in the 'imported' > namespace, whereas with "ComplexRef" both parent and children would be in > the 'imported' namespace which seems more natural. > > But using the "ComplexRef" form would mean that every element called > "Name" would have to have the same definition irrespective of whether it > was a person's name (which may have given and family name sub-components) > or a building name etc. > > So my suggestion is to use the "CompleType" form within a namespace, and > the "ComplexRef" across namespace boundaries. > > (Not quite the question you asked, but I hope you can pick something out > of it!) > > HTH, > > Pete Cordell > Codalogic Ltd > Interface XML to C++ the easy way using XML C++ > data binding to convert XSD schemas to C++ classes. > Visit http://codalogic.com/lmx/ or http://www.xml2cpp.com > for more info > ============================================= > > ----- Original Message ----- > From: "Costello, Roger L." <[email protected]> > To: <[email protected]> > Sent: Saturday, October 16, 2010 1:03 PM > Subject: What would be the consequence of prohibiting local element and > attribute declarations? > > > > Hi Folks, > > Suppose a team has this XML Schema design policy: > > No local element or attribute declarations > are permitted. All elements and attributes > must be globally declared. > > This policy strips the XML Schema language of a significant functionality. > What are the consequences? Specifically what things will not be > expressible because of this policy? Would this policy result in the > creation of XML Schemas that don't integrate with other XML technologies? > > /Roger > > > > > >