[Home] [By Thread] [By Date] [Recent Entries]


Manos Batsis scripsit:

> Consider a fruitbasket element that may contain any number of
> [fruit-name] elements:
> 
> <fruitbasket>
>   <apple color="red"/>
>   <orange color="red"/>
> </fruitbasket>
> 
> 
> I short, I want to allow any element inside fruitbasket, as long as it
> has an attribute with the name "color". I also want to validate the
> attribute value, for erxample it should only allow the colors in my
> enumeration.

No problem in RNG:

color = "red" | "yellow" | "orange" | "green"

start = element fruitbasket {
	element * {
		attribute color {color},
		attribute * - color {text} *
	} +
}

> Any advice or pointers welcome for both XSD/RNG, as I would like to
> offer both in my application.

Unfortunately there's just no way to do something like this in XSD; even
Trang can only translate this into a processContents "skip" wildcard.

-- 
John Cowan  jcowan@r...  http://www.ccil.org/~cowan
O beautiful for patriot's dream that sees beyond the years
Thine alabaster cities gleam undimmed by human tears!
America! America!  God mend thine every flaw,
Confirm thy soul in self-control, thy liberty in law!
        -- one of the verses not usually taught in U.S. schools

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member