|
Re: Re: How can I insert "raw" (X|XHT|HT)ML into my DOM?: msg#00025java.enhydra.xmlc
On Thursday 16 January 2003 13:47, David Corbin wrote: > Joe Caron wrote: > >Hello David: > > > >While the following "cheat" is officially frowned upon, I'm convinced it's > >necessary in a very few hard cases (where you are dynamically inserting > > data that already contains markup, and the pain of creating appropriate > > dom objects is 20 times greater than the guilt you may feel about taking > > the easier way out). > > > >page.setTextContents(""); // remove any placeholder text > > > >CDATASection cds = page.createCDATASection ([some data containing markup > > you want used as markup]); > > > >page.getElementContents().appendChild(cds); > > > >.... > >out.print(page.toDocument(request, response))..... > > Why doesn't that insert a CData in the form of [CData[...]] or what ever > the syntax is? It does if you output to XML (including XHTML, of course). In HTML, there are no CDATA sections, but sometimes the need to put unescaped markup into a DOM. What's more, the semantics of a CDATA section ("leave anything in here as is" :-) more-or-less matches the intended effect of putting chunks of verbatim markup into the document. So, it was kind of reasonable to reuse the CData support in the HTML DOM to support unescaped markup. BTW, here's the obligatory official frown :-) I'd strongly advise you to only use the CDATA hack if there's really no other reasonable way (say, you've got predefined markup in a legacy database or something like this) because putting raw markup into an XMLC DOM has a number of disadvantages: - If you're not careful, you can easily produce documents that are not valid HTML - DOM access methods like Document.getElementById(), Document.getLinks() etc. don't see the elements inside a CDATA node - Automatic URL rewriting doesn't work for links/forms/whatever inside of a CDATA node -- Richard Kunze [ t]ivano Software, Bahnhofstr. 18, 63263 Neu-Isenburg Tel.: +49 6102 80 99 07 - 0, Fax.: +49 6102 80 99 07 - 1 http://www.tivano.de, kunze@xxxxxxxxx
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: Re: How can I insert "raw" (X|XHT|HT)ML into my DOM?, David Corbin |
|---|---|
| Next by Date: | Re: How can I insert "raw" (X|XHT|HT)ML into my DOM?, Jacob Kjome |
| Previous by Thread: | Re: Re: How can I insert "raw" (X|XHT|HT)ML into my DOM?, David Corbin |
| Next by Thread: | Re: Re: How can I insert 'raw' (X|XHT|HT)ML into my DOM?, dcorbin |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |