- From: George Cristian Bina <george@oxygenxml.com>
- Date: Tue, 06 Jun 2006 14:50:30 +0300
- To: Vasilis Vagenas <vagenas.v@gmail.com>
- Cc: xmlschema-dev@w3.org
Hi, When you have mixed content you cannot place constraints on the text nodes. In fact in your sample the Brand element has 3 text nodes: "HP\n " "\n " "\n" where \n stands for new line. However, if you use Schematron then you can add rules to check for what you want but I would recommend changing the XML structure to have the brand name inside an element or attribute: <Brand> <Name>HP</Name> <Type>Laptop</Type> <Type>Desktop</Type> </Brand> or <Brand Name="HP"> <Type>Laptop</Type> <Type>Desktop</Type> </Brand> Best Regards, George --------------------------------------------------------------------- George Cristian Bina <oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger http://www.oxygenxml.com Vasilis Vagenas wrote: > > I am trying to write an xml schema which will allow xml instance > documents of the following form: > > [............] > <Brand>X1 > <Type>X2 > [............] > > where X1 must belong to a set of string values, e.g. X1 in {"HP", > "Toshiba"} > and X2 must belong to another set of string values, e.g. X2 in > {"Laptop","Desktop"}. > > For examle: > <Brand>HP > <Type>Laptop</Type> > <Type>Desktop</Type> > </Brand> > > > How can I declare an element that satisfies the following: > 1) it has subelements and > 2) the value of its child-text node is restricted (to belong to a set > of values), > just as in the example above? > > I can declare an element satisfying either condition 1 or condition 2, > but not both of them. > > Thank you very much! > >
Received on Tuesday, 6 June 2006 11:48:00 UTC