[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
RE: [xml-dev] Element as value of another Element
- From: "Michael Kay" <mike@saxonica.com>
- To: "'Shashank Gupta'" <gumnam_musafir@yahoo.com>
- Date: Tue, 15 Jan 2008 18:58:36 -0000
>
> 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]