   | Mailing List | | Home | | Forum Home | | JBoss - Java Application Server | | Struts - A MVC web framework | | Tomcat - JSP/Servlet container | | iText - An open source PDF Java Library | | JDOM - JDOM XML Parser | | J2EE - A mailing list for Java(tm) 2 Platform, Enterprise Edition | | J2EE Pattern - An interest list for Sun Java Center J2EE Pattern Catalog | | Servlet - A mailing list for discussion about Sun Microsystem's Java Servlet API Technology | | JSP - A mailing list about Java Server Pages specification and reference | |
Struts & Hibernate
|
|
|
  | |  | SV: SV: [jdom-interest] Building documents from XML fragments | SV: SV: [jdom-interest] Building documents from XML fragments 2004-01-15 - By Per Norrman
Back Hi, A quick FragmentParser for your convenience ... (not seriously tested). /pmn
-- --Ursprungligt meddelande-- -- Fr?n: jdom-interest-admin@(protected) [mailto:jdom-interest-admin@(protected)] F?r Ed Maher Skickat: den 15 januari 2004 14:23 Till: jdom-interest@(protected) ?mne: Re: SV: [jdom-interest] Building documents from XML fragments
I was sort of hoping that there would be more 'integrated' approach that did not require manipulating the XML as a string, such as being able to pass a list of namespaces to the Document constructor, or build an element from an xml fragment, but the approach described here is what I am now using. Thanks.
-- -- Original Message -- -- From: Phil Weighill-Smith <mailto:phil.weighill-smith@(protected)> To: jdom-interest@(protected) Sent: Thursday, January 15, 2004 12:56 PM Subject: Re: SV: [jdom-interest] Building documents from XML fragments
Commonly fragments have multiple "top-level" nodes, which may mean that you also need to wrap them all in a "fake" container element to make the document parsable (unless JDOM has a document fragment parser - which I don't recall seeing and can't find).
Handling this is similar to what Per said, but you need detach all the content from this "fake" root element and add it into the target document and the required point(s).
Phil :n)
On Thu, 2004-01-15 at 12:39, Per Norrman wrote:
Hi, For each fragment, build a valid XML string (with namespace declarations), parse it, detach the single child of the root element and insert it in the target document. Or did I miss anything? /pmn -- --Ursprungligt meddelande-- -- Fr?n: jdom-interest-admin@(protected) [mailto:jdom-interest-admin@(protected)] F?r Ed Maher Skickat: den 15 januari 2004 11:49 Till: jdom-interest@(protected) ?mne: [jdom-interest] Building documents from XML fragments
Hi, I am wondering what is the suggested way of building an XML document from fragments of XML. The xml is returned from a remote server in response to an XPath query - in particular there is a problem because the server does not return the namespace prefix declarations in the fragment, which means the document builder throws an exception Exception - org.jdom.JDOMException : Error on line 1: The prefix "erm" for element "erm:loco" is not bound. I would like to take the XML string and incorporate or merge the fragment into an XML document in memory, and/or create a new one from it. I have access to the XML namespace bindings, but I cannot see how I can tell JDom about these without creating a skeleton document - and then I cannot see how I can 'import' the remaining fragment into the document. Regards, Ed.
-- Phil Weighill-Smith < <mailto:phil.weighill-smith@(protected)> phil.weighill-smith@(protected)> Volantis Systems
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> <TITLE>Meddelande</TITLE>
<META content="MSHTML 6.00.2800.1276" name=GENERATOR> <STYLE></STYLE> </HEAD> <BODY bgColor=#ffffff> <DIV><SPAN class=526435413-15012004><FONT face=Arial color=#0000ff size=2>Hi,</FONT></SPAN></DIV> <DIV><SPAN class=526435413-15012004><FONT face=Arial color=#0000ff size=2></FONT></SPAN> </DIV> <DIV><SPAN class=526435413-15012004><FONT face=Arial color=#0000ff size=2>A quick FragmentParser for your convenience ... (not seriously tested).</FONT></SPAN></DIV> <DIV><SPAN class=526435413-15012004><FONT face=Arial color=#0000ff size=2></FONT></SPAN> </DIV> <DIV><SPAN class=526435413-15012004><FONT face=Arial color=#0000ff size=2>/pmn</FONT></SPAN></DIV> <DIV><SPAN class=526435413-15012004></SPAN> </DIV> <BLOCKQUOTE dir=ltr style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px"> <DIV></DIV> <DIV class=OutlookMessageHeader lang=sv dir=ltr align=left><FONT face=Tahoma size=2>-- --Ursprungligt meddelande-- --<BR><B>Fr?n:</B> jdom-interest-admin@(protected) [mailto:jdom-interest-admin@(protected)] <B>F?r </B>Ed Maher<BR><B>Skickat:</B> den 15 januari 2004 14:23<BR><B>Till:</B> jdom-interest@(protected)<BR><B>?mne:</B> Re: SV: [jdom-interest] Building documents from XML fragments<BR><BR></FONT></DIV> <DIV><FONT face=Arial size=2>I was sort of hoping that there would be more 'integrated' approach that did not require manipulating the XML as a string, such as being able to pass a list of namespaces to the Document constructor, or build an element from an xml fragment, but the approach described here is what I am now using.</FONT></DIV> <DIV><FONT face=Arial size=2>Thanks.</FONT></DIV> <BLOCKQUOTE style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px"> <DIV style="FONT: 10pt arial">-- -- Original Message -- -- </DIV> <DIV style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:< /B> <A title=phil.weighill-smith@(protected) href="mailto:phil.weighill-smith@(protected)">Phil Weighill-Smith</A> </DIV> <DIV style="FONT: 10pt arial"><B>To:</B> <A title=jdom-interest@(protected) href="mailto:jdom-interest@(protected)">jdom-interest@(protected)</A> </DIV> <DIV style="FONT: 10pt arial"><B>Sent:</B> Thursday, January 15, 2004 12:56 PM</DIV> <DIV style="FONT: 10pt arial"><B>Subject:</B> Re: SV: [jdom-interest] Building documents from XML fragments</DIV> <DIV><BR></DIV>Commonly fragments have multiple "top-level" nodes, which may mean that you also need to wrap them all in a "fake" container element to make the document parsable (unless JDOM has a document fragment parser - which I don't recall seeing and can't find).<BR><BR>Handling this is similar to what Per said, but you need detach all the content from this "fake" root element and add it into the target document and the required point(s).<BR><BR>Phil :n)<BR><BR>On Thu, 2004-01-15 at 12:39, Per Norrman wrote: <BLOCKQUOTE TYPE="CITE"><FONT color=#0000ff size=2><I>Hi,</FONT><BR><FONT color=#737373> </FONT><BR><FONT color=#0000ff size=2>For each fragment, build a valid XML string (with namespace declarations), parse it, detach the <BR>single child of the root element and insert it in the target document.</FONT><BR><FONT color=#737373> </FONT><BR><FONT color=#0000ff size=2>Or did I miss anything?</FONT><BR><FONT color=#737373> </FONT><BR><FONT color=#0000ff size=2>/pmn</FONT><BR><FONT color=#737373> </FONT><BR><FONT color=#737373 size=2>-- --Ursprungligt meddelande-- --<BR><B>Fr?n:</B> jdom-interest-admin@(protected) [mailto:jdom-interest-admin@(protected)] <B>F?r </B>Ed Maher<BR><B>Skickat:</B> den 15 januari 2004 11:49<BR><B>Till:</B> jdom-interest@(protected)<BR><B>?mne:</B> [jdom-interest] Building documents from XML fragments<BR><BR><BR> <BLOCKQUOTE>Hi,</FONT><BR><FONT color=#737373> </FONT><BR><FONT color=#737373 size=2>I am wondering what is the suggested way of building an XML document from fragments of XML.<BR>The xml is returned from a remote server in response to an XPath query - in particular there is<BR>a problem because the server does not return the namespace prefix declarations in the fragment,<BR>which means the document builder throws an exception</FONT><BR><FONT color=#737373> </FONT><BR><FONT color=#737373 size=2>Exception - org.jdom.JDOMException : Error on line 1: The prefix "erm" for element "erm:loco" is not bound.</FONT><BR> <FONT color=#737373> </FONT><BR><FONT color=#737373 size=2>I would like to take the XML string and incorporate or merge the fragment into an XML document<BR>in memory, and/or create a new one from it.</FONT><BR><FONT color=#737373> </FONT><BR><FONT color=#737373 size=2>I have access to the XML namespace bindings, but I cannot see how I can tell JDom about these<BR>without creating a skeleton document - and then I cannot see how I can 'import' the remaining<BR>fragment into the document.</FONT><BR><FONT color=#737373> </FONT><BR><FONT color=#737373 size=2>Regards,<BR>Ed.</FONT><BR><FONT color=#737373></I></FONT></BLOCKQUOTE></BLOCKQUOTE> <TABLE cellSpacing=0 cellPadding=0 width="100%"> <TBODY> <TR> <TD>-- <BR>Phil Weighill-Smith <<A href="mailto:phil.weighill-smith@(protected)"><U>phil.weighill-smith @(protected)</U></A>><BR>Volantis Systems </TD></TR></TBODY></TABLE></BLOCKQUOTE></BLOCKQUOTE></BODY>< /HTML>
Earn $52 per hosting referral at Lunarpages.
|
|
 |