- From: Flavio Cordova <flavio.cordova@gmail.com>
- Date: Tue, 1 Dec 2009 10:34:19 -0200
- To: xmlschema-dev@w3.org
Hello People...
I'm not being able to work with extended types and after some hours
trying to find a solution, I decided to ask for help.. :)
here's the problem..
I have an XML that looks like this:
<MyMessage>
<HeaderInfo>
....
</HeaderInfo>
<BusinessContent>
#someSpecificInformation# <!-- This will be defined in a "child" XSD
<GenericInfo>
<information>a</information>
</GenericInfo>
</BusinessContent>
</MyMessage>
In a file called definition.xsd, I defined the whole structure,
including the BusinessContent ComplexType.. Then, I defined another
XSD, called item.xsd, where I'd like to define only the content of the
BusinessContent, so I did something like this:
<xs:include schemaLocation="definition.xsd"></xs:include>
<xs:complexType name="BusinessContentTypeImpl">
<xs:complexContent>
<xs:extension base="GenericBusinessContentType">
<xs:sequence>
<xs:element name="Code" type="xs:string"></xs:element>
<xs:element name="Description" type="xs:string"></xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
When I create an XML (adding tags Code and Description), I get an
error because tags Code and Description are not valid children for
BusinessContent, although I've extended it...
I'd also like to force extension of BusinessContent. Then I tried to
use the abstract attribute, but then I couldn't add the <GenericInfo>
child...
So, my questions are:
1) how should I extend BusinessContent (GenericBusinessContentType) so
I could keep the current elements (GenericInfo) add more elements..
2) how could I force a "child" xsd file to import the definitions.xsd
and extend BusinessContent.
Thanks !
Received on Tuesday, 1 December 2009 13:46:21 UTC