cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Piroumian, Konstantin" <KPiroum...@flagship.ru>
Subject Re: Problem with XMLFragment
Date Wed, 25 Apr 2001 07:05:13 GMT
It is in the org.w3c.dom.Document interface.
 
  Node <file:///D:/Java/xerces-1_1_2/docs/apiDocs/org/w3c/dom/Node.html>
importNode
<file:///D:/Java/xerces-1_1_2/docs/apiDocs/org/w3c/dom/Document.html#imp
ortNode(org.w3c.dom.Node, boolean)> ( Node
<file:///D:/Java/xerces-1_1_2/docs/apiDocs/org/w3c/dom/Node.html>
importedNode, boolean deep) 
          Imports a node from another document to this document.	
 

importNode

public  Node
<file:///D:/Java/xerces-1_1_2/docs/apiDocs/org/w3c/dom/Node.html>
importNode( Node
<file:///D:/Java/xerces-1_1_2/docs/apiDocs/org/w3c/dom/Node.html>
importedNode,

                       boolean deep)

                throws  DOMException
<file:///D:/Java/xerces-1_1_2/docs/apiDocs/org/w3c/dom/DOMException.html
> 

Imports a node from another document to this document. The returned node
has no parent; (parentNode is null ). The source node is not altered or
removed from the original document; this method creates a new copy of
the source node. 
For all nodes, importing a node creates a node object owned by the
importing document, with attribute values identical to the source node's
nodeName and nodeType , plus the attributes related to namespaces
(prefix , localName , and namespaceURI ). As in the cloneNode operation
on a Node , the source node is not altered. 
Additional information is copied as appropriate to the nodeType ,
attempting to mirror the behavior expected if a fragment of XML or HTML
source was copied from one document to another, recognizing that the two
documents may have different DTDs in the XML case. The following list
describes the specifics for every type of node. 


ELEMENT_NODE 

Specified attribute nodes of the source element are imported, and the
generated Attr nodes are attached to the generated Element . Default
attributes are not copied, though if the document being imported into
defines default attributes for this element name, those are assigned. If
the importNode deep parameter was set to true , the descendants of the
source element will be recursively imported and the resulting nodes
reassembled to form the corresponding subtree. 

ATTRIBUTE_NODE 

The specified flag is set to true on the generated Attr . The
descendants of the source Attr are recursively imported and the
resulting nodes reassembled to form the corresponding subtree. Note that
the deep parameter does not apply to Attr nodes; they always carry their
children with them when imported. 

TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE 

These three types of nodes inheriting from CharacterData copy their data
and length attributes from those of the source node. 

ENTITY_REFERENCE_NODE 

Only the EntityReference itself is copied, even if a deep import is
requested, since the source and destination documents might have defined
the entity differently. If the document being imported into provides a
definition for this entity name, its value is assigned. 

ENTITY_NODE 

Entity nodes can be imported, however in the current release of the DOM
the DocumentType is readonly. Ability to add these imported nodes to a
DocumentType will be considered for addition to a future release of the
DOM. On import, the publicId , systemId , and notationName attributes
are copied. If a deep import is requested, the descendants of the the
source Entity is recursively imported and the resulting nodes
reassembled to form the corresponding subtree. 

PROCESSING_INSTRUCTION_NODE 

The imported node copies its target and data values from those of the
source node. 

DOCUMENT_NODE 

Document nodes cannot be imported. 

DOCUMENT_TYPE_NODE 

DocumentType nodes cannot be imported. 

DOCUMENT_FRAGMENT_NODE 

If the deep option was set true , the descendants of the source element
will be recursively imported and the resulting nodes reassembled to form
the corresponding subtree. Otherwise, this simply generates an empty
DocumentFragment . 

NOTATION_NODE 

Notation nodes can be imported, however in the current release of the
DOM the DocumentType is readonly. Ability to add these imported nodes to
a DocumentType will be considered for addition to a future release of
the DOM. On import, the publicId and systemId attributes are copied.
Note that the deep parameter does not apply to Notation nodes since they
never have any children. 







Parameters: 

importedNode - The node to import. 

deep - If true , recursively import the subtree under the specified
node; if false , import only the node itself, as explained above. This
does not apply to Attr , EntityReference , and Notation nodes. 

Returns: 

The imported node that belongs to this Document . 

Throws: 

DOMException
<file:///D:/Java/xerces-1_1_2/docs/apiDocs/org/w3c/dom/DOMException.html
>  - NOT_SUPPORTED_ERR: Raised if the type of node being imported is not
supported. 

Since: 

DOM Level 2 

----- Original Message ----- 
From: Manuel Alzola <mailto:malzola@wanadoo.es>  
To: cocoon-users@xml.apache.org <mailto:cocoon-users@xml.apache.org>  
Sent: Wednesday, April 25, 2001 7:00 AM
Subject: Re: Problem with XMLFragment

    I?ve looked for importNode() in Document, DocumentBuilder, Element,
Node with no result. Could you tell me where it is?
    Thanks
    Manuel

----- Original Message ----- 
From: Piroumian, Konstantin <mailto:KPiroumian@flagship.ru>  
To: cocoon-users@xml.apache.org <mailto:cocoon-users@xml.apache.org>  
Sent: Monday, April 23, 2001 9:14 AM
Subject: Re: Problem with XMLFragment

Or use importNode() instead.
 
Kot.

hi
to append two document/nodes in cocoon both must have the same parent
document. Thus you cannot append a document into another document using
appendChild.
 
Try making the servlet return the xml document as child of the document
in which you are trying to add it to (ie node in your case).
 
anupam
 

----- Original Message ----- 
From: Manuel  <mailto:malzola@wanadoo.es> Alzola 
To: cocoon-users@xml.apache.org <mailto:cocoon-users@xml.apache.org>  
Sent: Sunday, April 22, 2001 12:39 PM
Subject: Problem with XMLFragment

Hello. I?m using XMLFragment to provide dynamic xml. The data comes from
a servlet that outputs xml. It parses ok with Xerces. Then I concatenate
the two docs this way
 
public void toDOM(Node node)
{
    ...
    node.appendChild(subdocument.getDocumentElement()); 
}
 
I get the following error
 
java.lang.RuntimeException: Error building DOM:
org.apache.xerces.dom.DOMExceptionImpl: DOM005 Wrong document

	at
org.apache.cocoon.processor.xsp.XSPPage.xspExpr(XSPPage.java:183)

	at
_D_._TOOLS._Java._Servers._tomcat._webapps._puro_feeling._xsp._restauran
ts_report.populateDocument(_restaurants_report.java:101)

	at
org.apache.cocoon.processor.xsp.XSPPage.getDocument(XSPPage.java:97)

	at
org.apache.cocoon.processor.xsp.XSPProcessor.process(XSPProcessor.java:5
27)

	at org.apache.cocoon.Engine.handle(Engine.java:384)

	at org.apache.cocoon.Cocoon.service(Cocoon.java:183)

	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

	at
org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)

	at org.apache.tomcat.core.Handler.service(Handler.java:286)

	at
org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)

	at
org.apache.tomcat.core.ContextManager.internalService(ContextManager.jav
a:797)

	at
org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)

	at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(H
ttpConnectionHandler.java:210)

	at
org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416
)

	at
org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:49
8)

	at java.lang.Thread.run(Thread.java:484)
Whats wrong?
Thanks in advance
Manuel Alzola
 


Mime
View raw message