Altova Mailing List Archives>Archive Index >comp.text.xml Archive Home >Recent entries >Thread Prev - Re: Question about tag and value >Thread Next - Re: Question about tag and value Re: Question about tag and valueTo: NULL Date: 11/5/2007 4:40:00 PM On Nov 5, 4:29 pm, Joseph Kesselman <keshlam-nos...@comcast.net> wrote: > mit...@juno.com wrote: > > I am a newbie to XML. I have the following question: how do I express > > something in XML when the subsequent tag structures depends on the > > value of a preceeding tag? > > Neither DTDs nor XML Schema allow you to use the value of an element or > attribute to constrain the presence or another -- with the exception of > the xsi:type attribute; see a good XML Schema tutorial (or a great deal > of recent discussion in this very newsgroup) for details of how to use > that sub-typing feature. > > You *can* structure things so the presence or absence of your <TAG2> > element gates whether TAG3 or TAG4 was expected after it, by writing the > appropriate content models in your DTD or Schema. > > Or you can enforce the cross-constraint in your application rather than > expecting the document formalism to do it all. Remember, neither DTDs > nor schemas are intended to capture all the semantics of a document, and > some checking will always have to be done by the application -- > vaidation only provides an initial layer and some "machine-readable > documentation" of what's expected. > > -- > Joe Kesselman / Beware the fury of a patient man. -- John Dryden Thanks. I will look into XML Schema tutorial. However, from your respnse it seems I might not have communicated the objective behind doing this. While I can enforce the check of the subsequent tag structure (TAG3 or TAG4) in the application domain, the primary objective is to define *one* XML structure that (based on TAG2) defines the *entire* structure. This will be akin to saying, in this example, if (TAG2 value is 1) then <TAG3>some_value</TAG3> else <TAG4>some_value2</TAG4> Perhaps, XML Schema does it? | ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
