[
Lists Home |
Date Index |
Thread Index
]
I was also just reminded that this can also be done with RNG (I knew
there was another one!).
Kind Regards,
Joe Chiusano
Booz | Allen | Hamilton
Strategy and Technology Consultants to the World
Joseph Chiusano wrote:
>
> Using elements as data rather than metadata - very offensive indeed. ;)
>
> There is no solution for this with W3C Schema, but it can be done with
> Schematron.
>
> Kind Regards,
> Joe Chiusano
> Booz | Allen | Hamilton
> Strategy and Technology Consultants to the World
>
> Linda Grimaldi wrote:
> >
> > I have been out of the XML world for a little while now, but someone just asked me a question and I have to admit, it's going to keep me up tonight if I can't come up with a better solution. And I'm a little rusty, to boot...
> >
> > The issue is one of data dependency and validation. The goal is to enforce a restriction on pairs of data values- if the data associated with the node <Fruit><Name> is "Apple", then the value of the sibling node <Fruit><Abbrev> must be "APL". Effectively, the goal is to enforce a specific mapping from one enum into another within an XML document. The only way my associate could figure to capture this dependency is as follows:
> >
> > <xs:complexType name="Fruit">
> > <xs:annotation>
> > <xs:documentation>Defines the valid values for fruit types</xs:documentation>
> > </xs:annotation>
> > <xs:choice>
> > <xs:element name="APL" type="xs:token" fixed="Apple"/>
> > <xs:element name="ORG" type="xs:token" fixed="Orange"/>
> > <xs:element name="BAN" type="xs:token" fixed="Banana"/>
> > <xs:element name="LEM" type="xs:token" fixed="Lemon"/>
> > <xs:element name="GRP" type="xs:token" fixed="Grape"/>
> > </xs:choice>
> > </xs:complexType>
> >
> > All in all, this strikes me as a very ugly, even offensive, solution. My initial response was to forget about the validation- it wasn't worth it. Is there a way to preserve the data dependency validation without warping the instance document as the above schema fragment would require?
> >
> > Thanks,
> > Linda
> >
> > -----------------------------------------------------------------
> > 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>
>
> --
> Kind Regards,
> Joseph Chiusano
> Associate
> Booz | Allen | Hamilton
--
Kind Regards,
Joseph Chiusano
Associate
Booz | Allen | Hamilton
|