ASPN ActiveState Programmer Network
ActiveState
/ Home / Perl / PHP / Python / Tcl / XSLT /
/ Safari / My ASPN /
Cookbooks | Documentation | Mailing Lists | Modules | News Feeds | Products | User Groups


Recent Messages
List Archives
About the List
List Leaders
Subscription Options

View Subscriptions
Help

View by Topic
ActiveState
.NET Framework
Open Source
Perl
PHP
Python
Tcl
Web Services
XML & XSLT

View by Category
Database
General
SOAP
System Administration
Tools
User Interfaces
Web Programming
XML Programming


MyASPN >> Mail Archive >> xml-dev
xml-dev
Re: [xml-dev] XML Schema considered harmful?
by John Cowan other posts by this author
Jun 5 2002 8:08PM messages near this date
Re: [xml-dev] XML Schema considered harmful? | Re: [xml-dev] XML Schema considered harmful?
Michael Leditschke scripsit:

>  The level of co-constraint checking offered by RELAX NG is an improvement
>  on their absence in XML Schema but is this more than leap-frogging? I would
>  also add that the situations where I needed co-constraints were often
>  content based, e.g. if element X contains "5", attribute Y should be
>  present.
>  I may have missed it, but the support in RELAX NG seems, by the nature of
>  RELAX NG, purely structural. 

Not entirely: in the case you want, RNG can cope.  Consider this schema:

element x {
	(attribute y {text}, "5")
	| (string - "5")
	}

Valid documents:

	<x y="7"> 5</x>
	<x> 4</x>

Invalid documents (Jing says "bad character content for element):

	<x> 5</x>
	<x y="8"> 4</x>

RNG, like XML, doesn't care about the order of the attributes in the instance.

An alternative schema that permits (but does not require) y to be present
if x is not 5:

element x {
	(attribute y {text}, "5") |
	(attribute y {text}?, string - "5")
	}

-- 
John Cowan <jcowan@[...].com>      http://www.reutershealth.com
I amar prestar aen, han mathon ne nen,    http://www.ccil.org/~cowan
han mathon ne chae, a han noston ne 'wilith.  --Galadriel, _LOTR:FOTR_

-----------------------------------------------------------------
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> 
Thread:
Tim Bray
Michael Leditschke
Rick Jelliffe
Michael Leditschke
Rick Jelliffe
Cyril Jandia
Thomas B. Passin
Murali Mani
John Cowan
John Cowan
Eddie Robertsson
James Clark
Murali Mani
Simon St.Laurent
Don Park
Murali Mani
Joe English

Privacy Policy | Email Opt-out | Feedback | Syndication
© ActiveState Software Inc. All rights reserved