OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: [xml-dev] XML Schema considered harmful?

[ Lists Home | Date Index | Thread Index ]

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@reutershealth.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_




 

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

Copyright 2001 XML.org. This site is hosted by OASIS