[
Lists Home |
Date Index |
Thread Index
]
- To: "Manos Batsis" <mbatsis@netsmart.gr>,"XML Dev" <xml-dev@lists.xml.org>
- Subject: RE: [xml-dev] Fruitbasket schema question for both W3C/RelaxNG
- From: "Dare Obasanjo" <dareo@microsoft.com>
- Date: Fri, 23 Jan 2004 12:23:50 -0800
- Thread-index: AcPhEFc+m3IdCfNpR6iVEYeEJDDAZgA3mIhw
- Thread-topic: [xml-dev] Fruitbasket schema question for both W3C/RelaxNG
SCHEMA:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.example.com/fruitbasket"
xmlns:tns="http://www.example.com/fruitbasket">
<xs:element name="fruitbasket">
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:placeHolder" minOccurs="0"
maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="placeHolder" type="tns:hasColor"
abstract="true" />
<xs:element name="orange" type="tns:hasColor"
substitutionGroup="tns:placeHolder" />
<xs:element name="apple" type="tns:hasColor"
substitutionGroup="tns:placeHolder" />
<xs:complexType name="hasColor">
<xs:attribute name="color" type="tns:color" />
</xs:complexType>
<xs:simpleType name="color">
<xs:restriction base="xs:string">
<xs:enumeration value="red" />
<xs:enumeration value="green" />
<xs:enumeration value="purple" />
<xs:enumeration value="yellow" />
</xs:restriction>
</xs:simpleType>
</xs:schema>
INSTANCE:
<fruitbasket xmlns="http://www.example.com/fruitbasket">
<apple color="red"/>
<orange color="red"/>
</fruitbasket>
--
PITHY WORDS OF WISDOM
Fairy tales: horror stories for children to get them used to reality.
This posting is provided "AS IS" with no warranties, and confers no
rights.
>-----Original Message-----
>From: Manos Batsis [mailto:mbatsis@netsmart.gr]
>Sent: Thursday, January 22, 2004 7:26 AM
>To: XML Dev
>Subject: [xml-dev] Fruitbasket schema question for both W3C/RelaxNG
>
>[resending from the right email account this time]
>
>A good subject line would be "how to validate complex type
>instance with uknown element name".
>
>Consider a fruitbasket element that may contain any number of
>[fruit-name] elements:
>
><fruitbasket>
> <apple taste="red"/>
> <orange taste="red"/>
></fruitbasket>
>
>
>I short, I want to allow any element inside fruitbasket, as
>long as it has an attribute with the name "color". I also want
>to validate the attribute value, for erxample it should only
>allow the colors in my enumeration.
>
>Can anyone please share his/her lights here? Using
>
><xs:any namespace="##targetNamespace" processContents="strict"/>
>
>does not work, while
>
><xs:any namespace="##targetNamespace" processContents="lax"/>
>
>does not signal for invalid elements inside the fruitbasket at all.
>
>Any advice or pointers welcome for both XSD/RNG, as I would
>like to offer both in my application.
>
>Manos
>
>
>
>
>
>
>-----------------------------------------------------------------
>The xml-dev list is sponsored by XML.org <http://www.xml.org>,
>an initiative of OASIS <http://www.oasis-open.org>
>
>The list archives are at http://lists.xml.org/archives/xml-dev/
>
>To subscribe or unsubscribe from this list use the subscription
>manager: <http://lists.xml.org/ob/adm.pl>
>
>
>
|