[
Lists Home |
Date Index |
Thread Index
]
<Quote1>
xml schema is not the 'most powerful' and definitely not the 'solve
anything' kind of validator.
</Quote1>
In words given to me at XML 2003 by a very wise (and unnamed) XML
pioneer, "one should not expect too much from a single schema language".
<Quote2>
I m surprised why it does not have xslt like <xsl:if> constructs.
</Quote2>
Which is probably because XSLT has them. ;)
Kind Regards,
Joe Chiusano
Booz | Allen | Hamilton
Strategy and Technology Consultants to the World
Sony Antony wrote:
>
> On Thu, 2003-12-18 at 09:14, John Cowan wrote:
> > santony@bellsouth.net scripsit:
> >
> > > We need to essentially build a schema that will restrict the xml to
> > > be in one of these 3 forms. Is it possible to do this at all.
> >
> > Not in W3C XML Schema. So if you need this kind of validation, get
> > with the program and use RELAX NG, which is perfect for this kind of thing.
> > Here's a (partial) RELAX NG schema, in compact notation, that will
> > validate your documents:
>
> Thanks a zillion John:
> I also found out - to my surprise - unlike what I thought xml schema is
> not the 'most powerful' and definitely not the 'solve anything' kind of
> validator.
>
> I m surprised why it does not have xslt like <xsl:if> constructs.
>
> >From the standards this is what I violated
> http://www.w3.org/TR/xmlschema-1/#non-ambig
>
> Thanks again
> --sony
>
> >
> > start = command1 | command2 | command3
> >
> > command1 = element COMMAND "REQUEST1",
> > element COMMAND_DATA {
> > element REQ1_DAT1 {text},
> > element REQ1_DAT2 {text},
> > ...
> > }
> >
> > command2 = element COMMAND "REQUEST2",
> > element COMMAND_DATA {
> > element REQ2_DAT1 {text},
> > element REQ2_DAT2 {text},
> > ...
> > }
> >
> > command3 = element COMMAND "REQUEST3",
> > element COMMAND_DATA {
> > element REQ3_DAT1 {text},
> > element REQ3_DAT2 {text},
> > ...
> > }
> >
> > Now this assumes that you really do know how many REQi_DATj elements
> > exist for each type; no extant schema language can help you much if you
> > are allowed an arbitrary number of them. The "..." is not part of RELAX
> > NG syntax any more than it is of XML Schema.
> >
> > > But though my xml editor ( xmlspy ) reported this to be a valid schema,
> >
> > XML Spy is notoriously unreliable at checking what is and what is not a
> > valid XML Schema. Indeed, no schema should be called valid unless it's
> > been checked with several different validators.
> >
> > > When I used xerces to validate I got an error like
> > >
> > > "http://www.bellsouth.com/wfaif":COMMAND and
> > > "http://www.bellsouth.com/wfaif":COMMAND (or elements from their
> > > substitution group) violate "Unique Particle Attribution". During
> > > validation against this schema, ambiguity would be created for those
> > > two particles"
> >
> > To XML Schema, your choice looks like "COMMAND | COMMAND | COMMAND", and
> > it can't cope. Differentiating on the content of the element is too subtle.
> > RELAX NG, on the other hand, eats this stuff up.
> >
> > You can find RELAX NG validators and other tools for various environments
> > at http://www.relaxng.org .
> >
> > Moral: Don't define document types like this. Let ordering do its
> > natural work next time, instead of doubling up with ordering *and*
> > magic element names.
> --
> Sony Antony <santony@bellsouth.net>
>
> -----------------------------------------------------------------
> 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://lists.xml.org/ob/adm.pl>
begin:vcard
n:Chiusano;Joseph
tel;work:(703) 902-6923
x-mozilla-html:FALSE
url:www.bah.com
org:Booz | Allen | Hamilton;IT Digital Strategies Team
adr:;;8283 Greensboro Drive;McLean;VA;22012;
version:2.1
email;internet:chiusano_joseph@bah.com
title:Senior Consultant
fn:Joseph M. Chiusano
end:vcard
|