Мне нужно создать свой XML следующим образом:не может претендовать только XSD атрибут с помощью XJC
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<advice_request xmlns="urn:xyz.com:bf:api:core:v1" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<instructions>
<instruction i:type="advice_instruction_adjust">
<method>not_set</method>
<quantity>1</quantity>
<site_guid>abcd123</site_guid>
</instruction>
</instructions>
</advice_request>
Примечание атрибут «тип» квалифицирован с «я».
Я определил XSD как:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="urn:xyz.com:bf:api:core:v1"
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
targetNamespace="urn:xyz.com:bf:api:core:v1"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xsd:element name="advice_request">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="instructions" type="Instructions" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="Instructions">
<xsd:sequence>
<xsd:element name="instruction" type="Instruction" minOccurs="1" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Instruction">
<xsd:sequence>
<xsd:element name="method" type="xsd:string" minOccurs="1" maxOccurs="1"/>
<xsd:element name="quantity" type="xsd:int" minOccurs="1" maxOccurs="1"/>
<xsd:element name="site_guid" type="xsd:string" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="type" id="type" type="xsd:string"/>
</xsd:complexType>
</xsd:schema>
XJC генерирует следующий package-info.java:
@XmlSchema(namespace = "urn:xyz.com:bf:api:core:v1", elementFormDefault = QUALIFIED)
Однако на сортировочных объект я всегда получаю XML как:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<advice_request xmlns="urn:xyz.com:bf:api:core:v1">
<instructions>
<instruction type="advice_instruction_adjust">
<method>not_set</method>
<quantity>1</quantity>
<site_guid>abcd123</site_guid>
</instruction>
</instructions>
</advice_request>
Как получить атрибут с «i»? Любая помощь очень ценится.
Я попробовал несколько вещей, как импортировать пространство имен XMLSchema инстанции, не устанавливая SCHEMA_LOCATION на ИАС явно (хотя это может быть вариант для меня), но до сих пор ничего ...
Спасибо заранее!
Большое спасибо сэр !! Я не был знаком с этим и предполагал, что «тип» был атрибутом. Оцените оперативный ответ. – Pratik
Ваше приветствие :) – Xstian