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

  • From: "Michael Kay" <mike@s...>
  • To: "'G. Ken Holman'" <gkholman@C...>,<xml-dev@l...>
  • Date: Tue, 15 Jan 2008 18:09:21 -0000

If I understand correctly you want to allow things such as


<a>asdfgh</a>

<a><b>oihvcg</b></a>

In XML Schema 1.1 you can do this by defining the content model as mixed
content, and then constraining it with an assertion:

<xs:complexType>
  <xs:complexContent mixed="true">
     <xs:sequence>
       <xs:element name="b" minOccurs="0" maxOccurs="1"/>
     </xs:sequence>
  </xs:complexContent>
  <xs:assert select="exists(text()) ne exists(b)"/>
</xs:complexType>

Doing it with conditional type assignment would be nicer in many ways: you
really want to say that the type is either the simpleType xs:string or a
complexType that only allows a <b> child - but conditional type assignment
can only be driven from attribute values, so that's not possible here.

Michael Kay
http://www.saxonica.com/
 

> -----Original Message-----
> From: G. Ken Holman [mailto:gkholman@C...] 
> Sent: 15 January 2008 17:29
> To: xml-dev@l...
> Subject: Re:  Element as value of another Element
> 
> At 2008-01-15 07:50 -0800, Shashank Gupta wrote:
> >I want to define an element of type string such that it's 
> value can be 
> >either of :
> >-any string
> >-value of another element of type string
> >
> >I am using Schema.
> 
> Using W3C Schema 1.0 you cannot express that as a constraint.
> 
> >Something like :
> ><xs:simpleType name="a" value = any string OR another 
> element b of type 
> >string>
> 
> Using the ISO/IEC 19757-3 Schematron assertion-based 
> constraint language you can express your desired constraint, 
> but it is run separately from W3C Schema.
> 
> Off hand I'm not sure if the future W3C Schema 1.1 can help 
> in this regard ... I suspect that it can since it supports 
> co-occurrence constraints, but I don't know if there are limits.
> 
> I hope this helps.
> 
> . . . . . . . . . . . . . Ken
> 
> --
> Comprehensive in-depth XSLT2/XSL-FO1.1 classes: Austin 
> TX,Jan-2008 World-wide corporate, govt. & user group XML, XSL 
> and UBL training
> RSS feeds:     publicly-available developer resources and training
> G. Ken Holman                 mailto:gkholman@C...
> Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/x/
> Box 266, Kars, Ontario CANADA K0A-2E0    +1(613)489-0999 (F:-0995)
> Male Cancer Awareness Nov'07  http://www.CraneSoftwrights.com/x/bc
> Legal business disclaimers:  http://www.CraneSoftwrights.com/legal
> 
> 
> ______________________________________________________________
> _________
> 
> XML-DEV is a publicly archived, unmoderated list hosted by 
> OASIS to support XML implementation and development. To 
> minimize spam in the archives, you must subscribe before posting.
> 
> [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
> Or unsubscribe: xml-dev-unsubscribe@l...
> subscribe: xml-dev-subscribe@l... List archive: 
> http://lists.xml.org/archives/xml-dev/
> List Guidelines: http://www.oasis-open.org/maillists/guidelines.php
> 



[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