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

  • From: "Andrew Welch" <andrew.j.welch@g...>
  • To: "Andy Street" <t3h1337n00b@g...>
  • Date: Mon, 23 Apr 2007 09:48:07 +0100

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


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


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