[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: XML schema: how to define choice between value as an attri

  • To: "XML Developers List" <xml-dev@l...>
  • Subject: Re: XML schema: how to define choice between value as an attribute and value as element text
  • From: "Bryce K. Nielsen" <bryce@s...>
  • Date: Sun, 13 Jun 2004 23:23:13 -0600
  • References: <1571756113.20040612224834@z...>

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

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

  <element name="Person">
    <complexType>
      <choice>

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

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


      </choice>
    </complexType>
  </element>
</schema>

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
http://www.sysonyx.com/products/xmlhack


----- Original Message ----- 
From: "Patrik Beno" <pb@p...>
To: "XML Developers List" <xml-dev@l...>
Sent: Saturday, June 12, 2004 2:48 PM
Subject:  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?

thnx

-- 
Patrik Beno
mailto:pb@p...


-----------------------------------------------------------------
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>



PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.