[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Element as value of another Element
Hi, Michael Kay a écrit : > 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: So, we want to define a content model as a choice between a text and another element ? Unfortunately, this can't be expressed in W3C XML Schema With the Active Schema Language, you would express it as you say it : <asl:element name="a"> <asl:choice> <asl:text min-occurs="0" ref-type="xs:string"/> <asl:element min-occurs="0" ref-elem="b"/> </asl:choice> </asl:element> We don't need a conditional type assignment for that, we just need more expressiveness ; some examples of conditional assignment are shown here : http://reflex.gforge.inria.fr/tutorial-schemas.html Just be aware that ASL is experimental and not fully implemented 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 >> > > > _______________________________________________________________________ > > 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 -- Cordialement, /// (. .) --------ooO--(_)--Ooo-------- | Philippe Poulard | ----------------------------- http://reflex.gforge.inria.fr/ Have the RefleX !
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] |
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|