OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   RE: [xml-dev] Fruitbasket schema question for both W3C/RelaxNG

[ 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>
>
>
>




 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS