Я хотел бы иметь этот формат в XML
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:001.003.03" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:tech:xsd:pain.001.001.03">
<staff id="1">
<firstname>yong</firstname>
</staff>
</Document>
Я использую следующий код.
Namespace namespace = Namespace.getNamespace("urn:001.003.03");
Namespace namespace1 = Namespace.getNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance");
Namespace namespace2 = Namespace.getNamespace("schemaLocation", "urn:tech:xsd:pain.001.001.03");
Element document = new Element("Document", namespace);
Document doc = new Document(document);
doc.setRootElement(document);
document.addNamespaceDeclaration(namespace1);
document.addNamespaceDeclaration(namespace2);
Element staff = new Element("staff", namespace);
staff.setAttribute(new Attribute("id", "1"));
staff.addContent(new Element("firstname",namespace).setText("yong"));
doc.getRootElement().addContent(staff);
Я получаю вывод:
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:001.003.03" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:schemaLocation="urn:tech:xsd:pain.001.001.03">
<staff id="1">
<firstname>yong</firstname>
</staff>
</Document>
Мне нужно пространство имен, например xsi: schemaLocation , но его генерирующее пространство имен, например xmlns: schemaLocation