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: how to define choice between value as an attri

[ Lists Home | Date Index | Thread Index ]

In a rather stange looking schema you could. For example:

  <simpleType name="PersonNameType">
      <!-- put your restrictions here, like length and stuff -->

  <element name="Person">

          <element name="PersonName">
                  <attribute name="value" type="PersonNameType"/>
          <!-- Add all your other *attribute* elements here -->

          <element name="PersonName" type="PersonNameType"/>
          <!-- Add all your other *element text* elements here -->


This sort of schema would in effect do what you're looking for, making all
the nodes have either a "value" attribute, or the text of the element having
the value. The only restriction is that you couldn't do this to the document
element, since there's no way to "choice" a document element with the same
name. It's an ugly schema, IMHO, but would work.

Bryce K. Nielsen
SysOnyx, Inc. (www.sysonyx.com)
Makers of xmlHack, the Simple XML Editor

----- Original Message ----- 
From: "Patrik Beno" <pb@patrikbeno.net>
To: "XML Developers List" <xml-dev@lists.xml.org>
Sent: Saturday, June 12, 2004 2:48 PM
Subject: [xml-dev] XML schema: how to define choice between value as an
attribute and value as element text

Hey there :-)

Suppose I have simple element <PersonName>.

I want to define restriction that data (person name itself) may be
defined either in "value" attribute or as element text.

Meaning - either this way:

  <PersonName value="John Doe"/>

or this way:

  <PersonName> John Doe </PersonName>

But this is forbidden:

  <PersonName value="John Doe"> Jane Smith <PersonName>

I have been reading spec, tutorials, references, I have
been gooooooooogling for hours but I can't find out how to do this or
even if it is feasible at all.

Please - can this restriction be defined using XML schema?
If so, how? Can anyone provide an example?


Patrik Beno

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://www.oasis-open.org/mlmanage/index.php>


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

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