OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [xml-dev] use SAX to get "tree" under XML node

> You set processingField2 to true in startElement when you hit <field2>
> and to false in endElement when you hit </field2>. When processingField2
> is true, you do the following:
> a) in startElement, append the element tag to the StringBuffer. For
> example:
>    field2Content.append("<");
>    field2Content.append(qname);
>    field2Content.append(...); // append attributes
>    field2Content.append(">");
> b) in characters and ignorableWhitespace, append the character values.
> c) in endElement, append the closing tag (similar to (a))

This procedure will produce a broken XML,
because SAX turns &gt; &amp; &lt;  &quot; and &apos;
things  into > & < " ' symbols, so the accurate
processing should turn the symbols back to

& should become &amp; < should be come &gt;
e t,.c This usually takes place in endElement

> For more detailed code in answer to a similar question, see:
>    http://lists.xml.org/archives/xml-dev/200111/msg00476.html

The 'detailed' code has the same problem.

> How to generalize this is left as an exercise to the reader :) You might
> also be able to simplify things by using an XMLWriter class, such as
> that available from www.megginson.com. (I haven't looked at that class,
> so I'm not sure exactly how it works.)

I think it does the encoding described above, for example.

I'd say that "how can you read XML document and write it
back unchanged" is a nice question for "XML certification"

Tee-hee. The correct answer is

"It is impossible, but in the case  you are asking about keeping the
there are several problems, such as ... "

XML is 'simple' ?  Most of the 'XML producing' code on the
planet is broken when first released ...