[
Lists Home |
Date Index |
Thread Index
]
Manos,
One way to tackle this (albiet kludgy) would be to create a second
schema that allows any element to occur (using xs:any), but "hardcodes"
an attribute named "color" with the allowed enumeration values. This
schema would have a separate targetNamespace than the targetNamespace of
the schema you refer to below (call it the "main" schema). Then, list
the targetNamespace of the second schema in the xs:any for the main
schema, with processContents="strict".
Offhand I don't know of any other way to do this.
Kind Regards,
Joe Chiusano
Booz | Allen | Hamilton
Strategy and Technology Consultants to the World
Manos Batsis wrote:
>
> [resending from the right email account this time]
>
> A good subject line would be "how to validate complex type instance with
> uknown element name".
>
> Consider a fruitbasket element that may contain any number of
> [fruit-name] elements:
>
> <fruitbasket>
> <apple taste="red"/>
> <orange taste="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.
>
> Can anyone please share his/her lights here? Using
>
> <xs:any namespace="##targetNamespace" processContents="strict"/>
>
> does not work, while
>
> <xs:any namespace="##targetNamespace" processContents="lax"/>
>
> does not signal for invalid elements inside the fruitbasket at all.
>
> Any advice or pointers welcome for both XSD/RNG, as I would like to
> offer both in my application.
>
> Manos
>
> -----------------------------------------------------------------
> 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>
|