[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Conditional statements in DTD?

  • From: sandor <xsanyi@g...>
  • To: Keith Hassen <keith.hassen@g...>
  • Date: Wed, 11 Mar 2009 15:24:42 -0400

Re:  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@g...> 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@l...>
Sent: Wednesday, March 11, 2009 6:15 PM
Subject: 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@l...
subscribe: xml-dev-subscribe@l...
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@l...
subscribe: xml-dev-subscribe@l...
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@l...
subscribe: xml-dev-subscribe@l...
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]


PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.