[
https://issues.apache.org/jira/browse/XERCESJ-1720?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17016629#comment-17016629
]
Vithursa edited comment on XERCESJ-1720 at 1/16/20 1:28 PM:
------------------------------------------------------------
Hi [~elharo],
{quote}xmlns="" is only needed when there's a default namespace in scope and
you need to remove it.
{quote}
As you mentioned, my requirement is to add *xmlns = ""* in order to prevent
default namespace getting added. Let me explain requirement in detail. I am
generating an XML which should be appended as child for a root element, over
which I do not have any control.
Root element would have a format like this:
{code:xml}
<rootElement xmlns="defaultNamespace">
<!–The XML I generate, goes as a child of this-->
</rootElement>
{code}
My requirement is not add the root element's namespace to child. Since, I do
not have any control over the root element, I am trying to add xmlns="" in
child so that, it prevents the default namespace being added.
If I have child element as,
{code:xml}
<a xmlns:q="web">
<q:b xmlns="">
<r>123</r>
</q:b>
</a>{code}
then it is possible that when appending the child element, the namespace of
root element will not get added. Hence, I need to generate XML element with
namespace *xmlns=""*.
Is it possible to do so?
Thanks,
Vithursa
was (Author: vithursa):
Hi [~elharo],
{quote}xmlns="" is only needed when there's a default namespace in scope and
you need to remove it.
{quote}
As you mentioned, my requirement is to add *xmlns = ""* in order to prevent
default namespace getting added. Let me explain requirement in detail. I am
generating an XML which should be appended as child for a root element, over
which I do not have any control.
Root element would have a format like this:
{code:xml}
<rootElement xmlns="defaultNamespace">
<!–The XML I generate, goes as a child of this-->
</rootElement>
{code}
My requirement is not add the root element's namespace to child. Since, I do
not have any control over the root element, I am trying to add xmlns="" in
child so that, it prevents the default namespace being added.
If I have root element as,
{code:xml}
<a xmlns:q="web">
<q:b xmlns="">
<r>123</r>
</q:b>
</a>{code}
then it is possible that when appending the child element, the namespace of
root element will not get added. Hence, I need to generate XML element with
namespace *xmlns=""*.
Is it possible to do so?
Thanks,
Vithursa
> Generate DOM Element with empty namespace using Apache xerces
> --------------------------------------------------------------
>
> Key: XERCESJ-1720
> URL: https://issues.apache.org/jira/browse/XERCESJ-1720
> Project: Xerces2-J
> Issue Type: Bug
> Components: Documentation
> Affects Versions: 2.8.1
> Reporter: Vithursa
> Priority: Minor
> Labels: query
>
> I have a requirement to generate an XML which should have empty namespace. An
> example XML should looks like:
> {code:xml}
> <name xmlns:cap="mynamespace">
> <cap:attributeID>
> <attribute1 xmlns="" >xxxx</attribute1>
> <attribute2 xmlns="" >xxxx</attribute2>
> </cap:attributeID>
> </name>
> {code}
>
> As mentioned above, I need to add *xmlns* attribute with empty string. I
> have tried following ways to achieve it but none of them worked:
> {code:java}
> DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
> DocumentBuilder docBuilder;
> docBuilder = docFactory.newDocumentBuilder();
> Document doc = docBuilder.newDocument();
> element = doc.createElement("attribute1"); // It did not have any namespace.
> Output becomes as, <attribute1>xxxx</attribute1>.
> {code}
> {code:java}
> element = doc.createElementNS("", "name"); // Output :
> <attribute1>xxxx</attribute1>
> {code}
> {code:java}
> element = doc.createElement("name");
> element.setAttribute("xmlns", ""); // Output : <attribute1>xxxx</attribute1>
> {code}
> {code:java}
> element = doc.createElement("name");
> element.setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns", "");
> // Output : <attribute1>xxxx</attribute1>
> {code}
> What is the correct way of adding an empty string as namespace to cater my
> requirement? Can someone provide guidance on this?
> Thanks,
> Vithursa
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]