|
[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Schema validation question
It would work if you intend to have an output that is static/hardcoded - which might not be the case. According to the requirements, it appears to me that the data should be extracted from a system rather than hardcoded. Kind Regards, Joe Chiusano Booz | Allen | Hamilton Strategy and Technology Consultants to the World "Bryce K. Nielsen" wrote: > > Then wouldn't the following work: > > <xs:complexType name="Fruit"> > <xs:choice> > <xs:group ref="apple"/> > <xs:group ref="orange"/> > </xs:choice> > </xs:complexType> > > <xs:group name="apple"> > <xs:element name="Name" type="xs:string" fixed="Apple"/> > <xs:element name="Abbrev" type="xs:token" fixed="APL"/> > </xs:group> > > <xs:group name="orange"> > <xs:element name="Name" type="xs:string" fixed="Orange"/> > <xs:element name="Abbrev" type="xs:token" fixed="ORG"/> > </xs:group> > > -BKN > > ----- Original Message ----- > From: "Chiusano Joseph" <chiusano_joseph@b...> > To: "Robert Koberg" <rob@k...> > Cc: "Linda Grimaldi" <grimlinda@e...>; <xml-dev@l...> > Sent: Tuesday, May 04, 2004 4:30 PM > Subject: Re: Schema validation question > > > Not quite, as the approach you propose below still uses data as metadata > > (i.e. "APL" should be a data value, according to the original > > requirement). > > > > The original requirement was: if the data associated with the node > > <Fruit><Name> is "Apple", then the value of the sibling node > > <Fruit><Abbrev> must be "APL". This means that the following XML > > document fragment is considered valid: > > > > <Fruit> > > <Name>Apple</Name> > > <Abbrev>APL</Abbrev> > > </Fruit> > > > > (NOTE: Now I'm getting hungry) > > > > while the following is considered invalid: > > > > <Fruit> > > <Name>Apple</Name> > > <Abbrev>ORG</Abbrev> > > </Fruit> > > > > Kind Regards, > > Joe Chiusano > > Booz | Allen | Hamilton > > Strategy and Technology Consultants to the World > > > > Robert Koberg wrote: > > > > > > Couldn't you do: > > > > > > <xs:complexType name="Fruit"> > > > <xs:choice> > > > <xs:group ref="apple"/> > > > <xs:group ref="orange"/> > > > </xs:choice> > > > </xs:complexType> > > > > > > <xs:group name="apple"> > > > <xs:element name="Apple" type="xs:string"/> > > > <xs:element name="APL" type="xs:token"/> > > > </xs:group> > > > > > > <xs:group name="orange"> > > > <xs:element name="Orange" type="xs:string"/> > > > <xs:element name="ORG" type="xs:token"/> > > > </xs:group> > > > > > > Maybe I missed something? > > > > > > best, > > > -Rob > > > > > > Chiusano Joseph wrote: > > > > > > > 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 > > > >>> > > > > > > > > > > > -- > > Kind Regards, > > Joseph Chiusano > > Associate > > Booz | Allen | Hamilton > > > > ----------------------------------------------------------------- > > 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> -- Kind Regards, Joseph Chiusano Associate Booz | Allen | Hamilton
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|
|||||||||

Cart








