XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev] Conditional statements in DTD?

as others have noted, schematron will help check the conformance of your document.  but if you're concerned with validating conditions using a DTD, you may want to reconsider your use of attributes here, and move those conditions into element content models.

<root>
<allow>
<yes><playing>hard</playing></yes>
</allow>
</root>

or

<root>
<allow>
<no/>
</allow>
</root>

the "allow" element can force a choice ( yes | no ), the "yes" element allows "playing" or whatever the action is... the "no" element is EMPTY, or maybe contains some sort of message element to make it clear that you've reached the end of the road going down that path.

i don't know what you're really trying to do in your document excerpts, so the above is just a quick outline, but hopefully it illustrates that DTDs will at least allow you to set up conditional paths which *should* get you towards some useful validation.


On Wed, Mar 11, 2009 at 3:00 PM, Keith Hassen <keith.hassen@gmail.com> wrote:
It's expressible using schematron, I'm fairly certain.  Check http://www.schematron.com/ for info.

K



On 3/11/2009 2:55 PM, Pete Cordell wrote:
The limited specification abilities of DTDs is why XML schema was developed. But even XSD schema 1.0 can't do what you want.  XSD 1.1 should be able to do it with an xs:assert statement, but that's still being worked on.

HTH,

Pete Cordell
Codalogic Ltd
Interface XML to C++ the easy way using XML C++
data binding to convert XSD schemas to C++ classes.
Visit http://codalogic.com/lmx/ for more info
----- Original Message ----- From: "Graeme Kidd"
To: <xml-dev@lists.xml.org>
Sent: Wednesday, March 11, 2009 6:15 PM
Subject: [xml-dev] Conditional statements in DTD?





Hi All,

I am certain you cant use conditional statements within the DTD file so is it possible to make an attribute valid only if a parent element had an attribute set to something e.g.

The 'StepTwo' element is valid as the 'allow' attribute in 'StepOne' is set to 'yes'

< root>
 < StepOne allow="yes">
    < StepTwo playing="hard"
 < / StepOne
< / root>

The 'StepTwo' element is invalid as the 'allow' attribute in 'StepOne' is set to 'no'

< root>
 < StepOne allow="no">
    < StepTwo playing="hard">
 < / StepOne
< / root>

The 'StepTwo' element is valid because the 'allow' attribute is set to 'no' and there is no attribute for Step Two.


< root>
 < StepOne allow="no">
    < StepTwo>
 < / StepOne
< / root>

Surely things like this could be rather common?



_________________________________________________________________
View your Twitter and Flickr updates from one place – Learn more!
http://clk.atdmt.com/UKM/go/137984870/direct/01/
_______________________________________________________________________

XML-DEV is a publicly archived, unmoderated list hosted by OASIS
to support XML implementation and development. To minimize
spam in the archives, you must subscribe before posting.

[Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
Or unsubscribe: xml-dev-unsubscribe@lists.xml.org
subscribe: xml-dev-subscribe@lists.xml.org
List archive: http://lists.xml.org/archives/xml-dev/
List Guidelines: http://www.oasis-open.org/maillists/guidelines.php




_______________________________________________________________________

XML-DEV is a publicly archived, unmoderated list hosted by OASIS
to support XML implementation and development. To minimize
spam in the archives, you must subscribe before posting.

[Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
Or unsubscribe: xml-dev-unsubscribe@lists.xml.org
subscribe: xml-dev-subscribe@lists.xml.org
List archive: http://lists.xml.org/archives/xml-dev/
List Guidelines: http://www.oasis-open.org/maillists/guidelines.php


_______________________________________________________________________

XML-DEV is a publicly archived, unmoderated list hosted by OASIS
to support XML implementation and development. To minimize
spam in the archives, you must subscribe before posting.

[Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
Or unsubscribe: xml-dev-unsubscribe@lists.xml.org
subscribe: xml-dev-subscribe@lists.xml.org
List archive: http://lists.xml.org/archives/xml-dev/
List Guidelines: http://www.oasis-open.org/maillists/guidelines.php




[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS