[
Lists Home |
Date Index |
Thread Index
]
RelaxNG can also handle this with the following schema:
start = human
human = element human { husbandModel | wifeModel }
husbandModel= ( maleGenderAttr, element husband { text } )
wifeModel = ( femaleGenderAttr, element wife { text } )
maleGenderAttr = attribute gender { "male" }
femaleGenderAttr = attribute gender { "female" }
-----Original Message-----
From: Chiusano Joseph [mailto:chiusano_joseph@bah.com]
Sent: Wednesday, February 25, 2004 3:34 PM
To: Pedro Salazar
Cc: xml-dev@lists.xml.org
Subject: Re: [xml-dev] semantics in schema (xsd)
This is not possible with W3C Schema - we normally refer to this requirement
as "co-occurrence constraints". This may be more than what you need, but you
could express these requirements as classes in RDF or OWL (where a wife
could be a subclass of female, for example).
Schematron will allow you to do this, however, and someone will most likely
be along soon to tell you how.
Kind Regards,
Joe Chiusano
Booz | Allen | Hamilton
Strategy and Technology Consultants to the World
Pedro Salazar wrote:
>
> Greetings,
>
> I'm creating a schema file but by several times I feel the needed of
> something to validate my sub-elements in tree (children elements)
> subordinated to an attribute value on the parent element.
>
> Is it possible to validate this with the schema semantics?
>
> For instance, a schema may define an element called "human" that would
> allow to have a <wife> or <husband> element below it. However, I would
> like to apply an extra semantic rule that would only allow the <wife>
> element be inside a human of gender type "female", and the same thing
> for <husband> with "male". Is it possible?
>
> <human gender="female">
> <wife />
> </human>
>
> <human gender="male">
> <husband />
> </human>
>
> thanks,
> Pedro Salazar.
> --
> PS
> pedro-b-salazar_at_ptinovacao_dot_pt
> PGP:0E129E31D803BC61
>
> -----------------------------------------------------------------
> 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://www.oasis-open.org/mlmanage/index.php>
-----------------------------------------------------------------
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://www.oasis-open.org/mlmanage/index.php>
|