You are viewing a plain text version of this content. The canonical link for it is here.
Posted to j-users@xerces.apache.org by Michael Glavassevich <mr...@ca.ibm.com> on 2004/12/01 04:01:12 UTC
Re: Adding nodes to a PSVI generated document again
Hello Jakub,
XML Schema depends on namespaces. The schema-aware nodes in the PSVI DOM
are all namespace-aware. Document.createElement() creates a
non-namespace-aware node. You should never use the DOM Level 1
non-namespace factory methods with a DOM containing namespace-aware nodes.
New element nodes should be created by calling Document.createElementNS()
[1].
Hope that helps.
[1]
http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core.html#ID-DocCrElNS
Jakub Kahovec <j....@imperial.ac.uk> wrote on 11/30/2004 09:43:14 AM:
> Hi,
> I am trying to add new node to a PSVI generated document but the
> problem is that the node I am adding doesn't
> have any schema information attached.
> I'd tried to set the document 'psvi' and 'validate' fetures and then
> normalized document by calling method
> normalizeDocument but despite this the new node still doesn't
> contain any schema information.
>
> This si the piece of my code :
>
> Node node = (Node) tree.getSelectionPath().
> getLastPathComponent();
>
> Node newNode =
node.getOwnerDocument().createElement("NEW_NODE");
> newNode.appendChild( node.getOwnerDocument().
> createTextNode("NODE_TEXT"));
>
> node.getParentNode().appendChild(newNode);
>
> node.getOwnerDocuemnt.getDomConfig().setParameter(
> "validate", Boolean.TRUE );
> node.getOwnerDocuemnt.getDomConfig().setParameter( "psvi",
> Boolean.TRUE );
>
> node.getOwnerDocument().normalizeDocument();
>
> //!!!! node is without any schema schema information
> node = node.getParentNode().getLastChild();
>
>
>
> Thank you very much for any ideas.
>
> Jakub
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: xerces-j-user-unsubscribe@xml.apache.org
> For additional commands, e-mail: xerces-j-user-help@xml.apache.org
>
Michael Glavassevich
XML Parser Development
IBM Toronto Lab
E-mail: mrglavas@ca.ibm.com
E-mail: mrglavas@apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-j-user-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-j-user-help@xml.apache.org
Re: Adding nodes to a PSVI generated document again
Posted by Jakub Kahovec <j....@imperial.ac.uk>.
Hi,
that was the cause of the problem, now it works well.
Thank you very much.
Jakub
Michael Glavassevich wrote:
>Hello Jakub,
>
>XML Schema depends on namespaces. The schema-aware nodes in the PSVI DOM
>are all namespace-aware. Document.createElement() creates a
>non-namespace-aware node. You should never use the DOM Level 1
>non-namespace factory methods with a DOM containing namespace-aware nodes.
>New element nodes should be created by calling Document.createElementNS()
>[1].
>
>Hope that helps.
>
>[1]
>http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core.html#ID-DocCrElNS
>
>Jakub Kahovec <j....@imperial.ac.uk> wrote on 11/30/2004 09:43:14 AM:
>
>
>
>>Hi,
>>I am trying to add new node to a PSVI generated document but the
>>problem is that the node I am adding doesn't
>>have any schema information attached.
>>I'd tried to set the document 'psvi' and 'validate' fetures and then
>>normalized document by calling method
>>normalizeDocument but despite this the new node still doesn't
>>contain any schema information.
>>
>>This si the piece of my code :
>>
>> Node node = (Node) tree.getSelectionPath().
>>getLastPathComponent();
>>
>> Node newNode =
>>
>>
>node.getOwnerDocument().createElement("NEW_NODE");
>
>
>> newNode.appendChild( node.getOwnerDocument().
>>createTextNode("NODE_TEXT"));
>>
>> node.getParentNode().appendChild(newNode);
>>
>> node.getOwnerDocuemnt.getDomConfig().setParameter(
>>"validate", Boolean.TRUE );
>> node.getOwnerDocuemnt.getDomConfig().setParameter( "psvi",
>>Boolean.TRUE );
>>
>> node.getOwnerDocument().normalizeDocument();
>>
>> //!!!! node is without any schema schema information
>> node = node.getParentNode().getLastChild();
>>
>>
>>
>>Thank you very much for any ideas.
>>
>>Jakub
>>
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: xerces-j-user-unsubscribe@xml.apache.org
>>For additional commands, e-mail: xerces-j-user-help@xml.apache.org
>>
>>
>>
>
>Michael Glavassevich
>XML Parser Development
>IBM Toronto Lab
>E-mail: mrglavas@ca.ibm.com
>E-mail: mrglavas@apache.org
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: xerces-j-user-unsubscribe@xml.apache.org
>For additional commands, e-mail: xerces-j-user-help@xml.apache.org
>
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-j-user-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-j-user-help@xml.apache.org