Re: [xmlc] Adding xhtml code in string form

Erik Rasmussen <[email protected]> Mon, 5 Sep 2005 07:01:12 -0700 (PDT)
Newsgroups gmane.comp.java.enhydra.xmlc
Message-ID <[email protected]>
This is a multi-part message in MIME format...

------------=_1125928912-18658-176
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

Here's a solution I came up with:

---
import org.apache.xerces.parsers.DOMParser;
import org.enhydra.xml.xmlc.XMLObject;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;

import java.io.ByteArrayInputStream;
import java.io.IOException;

// ...

public static final String XML_HEADER = "<?xml
version=\"1.0\" encoding=\"ISO-8859-1\"?>\n" +
			"<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0
Transitional//EN\"
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n";

public static final void addXhtmlToNode(final
XMLObject page, final Node destNode, final String src)
throws IOException, SAXException
{
	final StringBuilder xml = new
StringBuilder(XML_HEADER);
	xml.append(src);
	final DOMParser parser = new DOMParser();
	parser.parse(new InputSource(new
ByteArrayInputStream(xml.toString().getBytes())));
	final Document document = parser.getDocument();

destNode.appendChild(page.importNode(document.getFirstChild(),
true));
}

// ...
---

Works fine.  As long as I validate all the xml going
into the database, the stuff coming out of it should
work here.

Erik


--- Justin Akehurst <[email protected]> wrote:

> Perhaps if you can find out how you can take a
> string of xhtml text  
> and suck that into a DOM Document format, then you
> could probably do  
> DOM import and import that chunk into your document
> somehow.  Would  
> probably make sense if your chunk in the database
> was a fully valid  
> XHTML chunk, though.
> 
> -Justin
> 
> On Sep 4, 2005, at 5:24 PM, [email protected]
> wrote:
> 
> > Hello again.  I have a field in my database that
> allows xhtml, and  
> > I want to be able to write this to the page.  This
> was  
> > straightforward in jsp-land.  But how do I do it
> in xmlc-land?   
> > Obviously, calling the setTextWhatever() method is
> escaping all my  
> > code.  So I guess I need to construct a dom
> structure from my  
> > string value, and appendChild() that.  But how? 
> I'm sure I could  
> > dig into the depths of DocumentLoaderImpl.java and
> Xerces figure it  
> > out, but I thought I'd pose the question here
> first.  Surely this  
> > has been done by some developer on this list.
> >
> > Cheers,
> > Erik
> >
> >
> > --
> > You receive this message as a subscriber of the
> [email protected]  
> > mailing list.
> > To unsubscribe:
> mailto:[email protected]
> > For general help:
> mailto:[email protected]?subject=help
> > ObjectWeb mailing lists service home page:
> http://www.objectweb.org/ 
> > wws
> >
> 
> 
> > 
> --
> You receive this message as a subscriber of the
> [email protected] mailing list.
> To unsubscribe:
> mailto:[email protected]
> For general help:
> mailto:[email protected]?subject=help
> ObjectWeb mailing lists service home page:
> http://www.objectweb.org/wws
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


------------=_1125928912-18658-176
Content-Type: text/plain; name="message-footer.txt"
Content-Disposition: inline; filename="message-footer.txt"
Content-Transfer-Encoding: 8bit


--
You receive this message as a subscriber of the [email protected] mailing list.
To unsubscribe: mailto:[email protected]
For general help: mailto:[email protected]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws

------------=_1125928912-18658-176--