- 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