如何通过使用EclipseLink Moxy的注释来指定XML名称空间,schemaLocation和名称空间URI?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何通过使用EclipseLink Moxy的注释来指定XML名称空间,schemaLocation和名称空间URI?相关的知识,希望对你有一定的参考价值。
我希望使用带有注释的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文档标签:-
将elementFormDefault
注释上的@XmlSchema
属性设置为XmlNsForm.QUALIFIED
:
以上是关于如何通过使用EclipseLink Moxy的注释来指定XML名称空间,schemaLocation和名称空间URI?的主要内容,如果未能解决你的问题,请参考以下文章