[
Lists Home |
Date Index |
Thread Index
]
I believe this solution allows only 2 possible elements ("orange" and
"apple") inside of "fruitbasket", instead of any element.
Kind Regards,
Joe Chiusano
Booz | Allen | Hamilton
Strategy and Technology Consultants to the World
Dare Obasanjo wrote:
>
> 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>
> >
> >
> >
>
> -----------------------------------------------------------------
> 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>
|