如何通过使用EclipseLink Moxy的注释来指定XML名称空间,schemaLocation和名称空间URI?

问题描述 投票:0回答:1

我希望使用带有注释的EclipseLink Moxy使用XMl文档标签,如下所示:-

<Document xmlns=“urn:iso:std:20022:tech:xsd:pacs.009.001.08” xsi:schemaLocation=“urn”iso:std:20022:tech:xsd:pacs.009.001.08 schema.xsd” xmlns:xsi=“https://www.w3.org/2001/XMLSchema-instance”>

我正在如下使用package-info.java:-

@XmlSchema(namespace = "usn:iso:std:20022:tech:xsd:pacs.009.001.08", elementFormDefault=javax.xml.bind.annotation.XmlNsForm.UNQUALIFIED, xmlns = {@XmlNs(namespaceURI = "https://www.w3.org/2001/XMLSchema-instance", prefix="swift-pacs") })

而我的java模型类具有@XmlRootElement,如下所示:-XmlRootElement(name="Document", namespace="urn:iso:std:20022:tech:xsd:pacs.009.001.08")

有了这个,我得到的输出为:-

<ns0:Document xmlns:ns0="urn:iso:std:20022:tech:xsd:pacs.009.001.08" xmlns:swift-pacs="https://www.w3.org/2001/XMLSchema-instance">

但是我想向其中添加“ xsi:schemaLocation =” urn“ iso:std:20022:tech:xsd:pacs.009.001.08 schema.xsd”并希望输出如下所示:-

<Document xmlns=“urn:iso:std:20022:tech:xsd:pacs.009.001.08” xsi:schemaLocation=“urn”iso:std:20022:tech:xsd:pacs.009.001.08 schema.xsd” xmlns:xsi=“https://www.w3.org/2001/XMLSchema-instance”>

如何做?如果可能的话,谁能建议如何删除文档前的ns0前缀(ns0:Document)和xmlns后的ns0后缀(xmlns:ns0)

我想使用带有注释的EclipseLink Moxy,如下所述使用XMl文档标签:-

java xml namespaces eclipselink moxy
1个回答
0
投票

elementFormDefault注释上的@XmlSchema属性设置为XmlNsForm.QUALIFIED

© www.soinside.com 2019 - 2024. All rights reserved.