I need to add namespace defintion to an element since its not getting added when when xml is generated using apache xmlbean. How do I acheieve this using xmlbeans API?
Asked
Active
Viewed 6,635 times
2 Answers
4
I have found answer to the problem. Here's how it is.
XmlCursor cursor= targetObject.newCursor();
cursor.toNextToken();
cursor.insertNamespace("A", "namespace1");
//For example
cursor.insertNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance");
cursor.dispose();
-
I had to call cursor.toNextToken() twice, otherwise this was what I needed. – Michael Paesold May 23 '14 at 07:25
0
Use:
XmlOptions.setSaveSuggestedPrefixes()
XmlOptions xmlOptions = new XmlOptions();
xmlOptions.setSavePrettyPrint();
xmlOptions.setSavePrettyPrintIndent(4);
xmlOptions.setSaveAggressiveNamespaces();
HashMap<String, String> nsMap = new HashMap<String, String>();
nsMap.put("namespace1","A");
nsMap.put("http://www.w3.org/2001/XMLSchema-instance", "xsi");
xmlOptions.setSaveSuggestedPrefixes(nsMap);
// Create your XmlObject
<Your XmlObject>.save(new File("test.xml"),xmlOptions);

Prasad Jadhav
- 5,090
- 16
- 62
- 80

pranav
- 1
-
Didn't work for me - this only sets the suggested prefixes. As far as I understand, the original question was about adding a namespace definition to documents that don't actually use that namespace. – Michael Paesold May 23 '14 at 07:25