[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Defining an XML Fragment in W3C Schema
That's *exactly* what I was looking for. Thanks Henry! "Henry S. Thompson" wrote: > > "Chiusano Joseph" <chiusano_joseph@b...> writes: > > > I have a need to define an XML fragment in a W3C schema. In other words, > > an element or attribute in the schema should be able to contain an XML > > fragment, with the parser recognizing this XML fragment as actual data > > rather than part of the XML document. > > > > I've researched XML Fragments, and I also understand that CDATA was part > > of the W3C Schema specification at one point but did not make it into > > the final version. Can anyone please suggest a way to accomplish this? > > > > Much appreciated, > > Not sure I understand, but I'll try. > > You want an element to be constrained to contain a quoted XML > fragment. So the following is OK: > > <root> > <fragmentContainer> > <?xml version='1.0'?> > <doc/> > </fragmentContainer> > </root> > > But the following is not: > > <root> > <fragmentContainer> > <?xml version='1.0'?> > garbage > </fragmentContainer> > </root> > > Is that it? > > In which case, _mirabile dictu_, the best you can do is use a > NOTATION, along the following lines > > <xs:notation name="XML_10_2e" > public="-//W3C//NOTATION XML 1.0//EN" > system="http://www.w3.org/TR/2000/REC-xml-20001006"/> > > <xs:element name="fragmentContainer"> > <xs:complexType> > <xs:simpleContent> > <xs:extension base="xs:string"> > <xs:attribute name="fragType" fixed="XML_10_2e"> > <xs:simpleType> > <xs:restriction base="xs:NOTATION"> > <xs:enumeration value="XML_10_2e"/> > </xs:restrition> > </xs:simpleType> > </xs:attribute> > </xs:extension> > </xs:simpleContent> > </xs:complexType> > </xs:element> > > Note that because XML Schema works on infosets, not character strings, > there's now way it could have defined something equivalent to SGML's > CDATA, even if it had wanted to. So for direct inclusion of a quoted > XML fragment, you need to use either < etc. or <![CDATA[ .... ]]> > _in your instance_. > > XInclude provides a way to include an XML fragment as text. > > Hope this helps. > > ht > -- > Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh > Half-time member of W3C Team > 2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440 > Fax: (44) 131 650-4587, e-mail: ht@c... > URL: http://www.ltg.ed.ac.uk/~ht/ > [mail really from me _always_ has this .sig -- mail without it is forged spam] > > ----------------------------------------------------------------- > 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://lists.xml.org/ob/adm.pl> begin:vcard n:Chiusano;Joseph tel;work:(703) 902-6923 x-mozilla-html:FALSE url:www.bah.com org:Booz | Allen | Hamilton;IT Digital Strategies Team adr:;;8283 Greensboro Drive;McLean;VA;22012; version:2.1 email;internet:chiusano_joseph@b... title:Senior Consultant fn:Joseph M. Chiusano end:vcard
|
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
|