Home. 
.

transparent

transparent

transparent

Altova Mailing List Archives


Re: [xml-dev] XML Schema - Associate Element Name and Attribute with keys/keyrefs?

From: "Andrew Welch" <andrew.j.welch@-----.--->
To: "Andy Street" <t3h1337n00b@-----.--->
Date: 4/23/2007 8:48:00 AM
On 4/22/07, Andy Street <t3h1337n00b@g...> wrote:
> Hey all,
>
> Is it possible to associate an element name with an attribute using a
> key/keyref pair?
>
> The message I'm trying to validate would look like this:
>
> <root>
>     <global>
>         <properties message-type="servermessage">
>                                      ...
>         </properties>
>     </global>
>
>     <servermessage>
>                ...
>     </servermessage>
> </root>
>
> or
>
> <root>
>      <global>
>          <properties message-type="modulemessage">
>                                       ...
>          </properties>
>      </global>
>
>      <modulemessage>
>                 ...
>      </modulemessage>
>  </root>
>
>
> The general idea is that the message-type in global/properties defines what
> element follows it.  Right now, I have implemented a schema that uses
> <xs:choice> but obviously that would allow the message-type to  be
> modulemessage and the following element to be a servermessage element.  Any
> ideas on how I would go about writing a schema for what I want to do, or do
> I need to change how my xml is currently written to do what I want?

That's a "co-occurance constraint" which XML Schema 1.0 can't handle
on its own.

You could look at Schematron, or use Relax instead, or use XSLT//XPath
as an extra pre or post validation step... or find a processor that
implements the draft XML Schema 1.1 spec and use that...

cheers
andrew


transparent
Print
Mail
Like It
Disclaimer
.

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.

.
.

transparent

transparent