[
Lists Home |
Date Index |
Thread Index
]
[this went out originally in direct reply to Michael's original, but
bounced and is being resent]
We have come across a similar problem when comparing XML documents
with processing instructions and comments which need to be included
in the comparison. A simple solution is to use XSL to convert these
to markup elements, and then convert back as and when needed.
Unfortunately XSL would not work for <!DOCTYPE..> because that is
handled differently, but the same principle could be applied of
converting to an element, e.g. when the files are generated or
merged. The element could either be a stand-alone or nest the
following 'root' element. Then at least the file is a single XML file
and does not have a single CDATA section with markup embedded. The
internal DTD would need to be CDATA as others have said.
SOAP uses Schema for so that the 'DTD' can be included in the file,
another possible solution of course.[as others have also pointed out]
Both Schema and converting <!DOCTYPE..> to an element seem better
than CDATA, but perhaps there is some even better way to do this.
With either solution at least it is all XML and that is infinitely
better than CDATA.
Robin
At 12:13 pm +0000 7/2/02, Michael Kay wrote:
>I'm seeing an increasing tendency for people to nest one XML document within
>a CDATA section of another XML document. This of course doesn't work well:
>you have to make two passes through the XML parser to process the inner
>document out; and you get into problems if the inner document contains a
>CDATA section, because the ]]> delimiters don't nest.
>
>People end up asking "how can I apply a transformation to the inner
>document", and my usual response is the rather lame "I wouldn't start from
>here if I were you".
>
>The usual excuse for doing it seems to be that the inner document has a
><!DOCTYPE..> declaration that people want to preserve while carrying an XML
>document over some protocol like SOAP.
>
>Is there a better solution that we can point them to?
>
>Michael Kay
>Software AG
>home: Michael.H.Kay@ntlworld.com
>work: Michael.Kay@softwareag.com
>
>
>-----------------------------------------------------------------
>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>
--
-- -----------------------------------------------------------------
Robin La Fontaine, Director, Monsell EDM Ltd
DeltaXML: "Change control for XML in XML"
Tel: +44 1684 592 144 Fax: +44 1684 594 504
Email: robin.lafontaine@deltaxml.com http://www.deltaxml.com
|