XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
RE: [xml-dev] Element as value of another Element

 
> 
> Thanks for your email. This is exactly what I want to do. 
> However, the below syntax does not work. I tried the 
> following but do not know how to assert 

1. Please don't go off-list. When people find the question in the archives
they expect to find the solution as well.

2. I mentioned that this was an XML Schema 1.1 solution. This is currently
available only as a working draft specification, and as far as I know the
only product that currently accepts <xs:assert> is my own Saxon-SA 9.0
processor, which you can get from http://www.saxonica.com/

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


> 
> <xs:complexType name="some_name">
>     <xs:complexContent mixed="true">
>         <xs:restriction base="xs:anyType">
>             <xs:sequence>
>                 <xs:element name="b" type= "some_type" 
> minOccurs="0" maxOccurs="1"/>
>             </xs:sequence>
>         </xs:restriction>
>         <xs:assert select="exists(text()) ne exists(b)"/> 
>     </xs:complexContent>
> </xs:complexType>
> 
> Thanks
>  
> 
> ----- Original Message ----
> From: Michael Kay <mike@saxonica.com>
> To: G. Ken Holman <gkholman@CraneSoftwrights.com>; 
> xml-dev@lists.xml.org
> Sent: Tuesday, January 15, 2008 10:09:21 AM
> Subject: RE: [xml-dev] Element as value of another Element
> 
> 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@CraneSoftwrights.com]
> > Sent: 15 January 2008 17:29
> > To: xml-dev@lists.xml.org
> > Subject: Re: [xml-dev] 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@CraneSoftwrights.com
> > 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@lists.xml.org
> > subscribe: xml-dev-subscribe@lists.xml.org List archive: 
> > http://lists.xml.org/archives/xml-dev/
> > List Guidelines: http://www.oasis-open.org/maillists/guidelines.php
> > 
> 
> 
> ______________________________________________________________
> _________
> 
> 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@lists.xml.org
> subscribe: xml-dev-subscribe@lists.xml.org List archive: 
> http://lists.xml.org/archives/xml-dev/
> List Guidelines: http://www.oasis-open.org/maillists/guidelines.php
> 
> 
>       
> ______________________________________________________________
> ______________________
> Be a better friend, newshound, and
> know-it-all with Yahoo! Mobile.  Try it now.  
> http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ 
> 



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


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

Copyright 1993-2007 XML.org. This site is hosted by OASIS