Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JAXB-无法将此xsd绑定到java对象_Java_Xsd_Xml Parsing_Jaxb - Fatal编程技术网

JAXB-无法将此xsd绑定到java对象

JAXB-无法将此xsd绑定到java对象,java,xsd,xml-parsing,jaxb,Java,Xsd,Xml Parsing,Jaxb,我正在使用这个示例中的采购订单的HyperJAXB示例代码。我能够从XSD创建java对象并将其持久化到DB中。现在我正在尝试使用XML和XSD。 我无法使用JAXB绑定以下xsd。我正在使用eclipse内置工具和HyperJAXB,但两者都未能解析我的XSD。 我使用在线工具从xml生成了这个xsd: 存在多个问题: xml:lang=en us-给出了一个eror,即使我们删除了它,绑定中也存在问题。 [错误]未能执行目标org.apache.maven.plugins:maven编译器p

我正在使用这个示例中的采购订单的HyperJAXB示例代码。我能够从XSD创建java对象并将其持久化到DB中。现在我正在尝试使用XML和XSD。 我无法使用JAXB绑定以下xsd。我正在使用eclipse内置工具和HyperJAXB,但两者都未能解析我的XSD。 我使用在线工具从xml生成了这个xsd:

存在多个问题:

xml:lang=en us-给出了一个eror,即使我们删除了它,绑定中也存在问题。 [错误]未能执行目标org.apache.maven.plugins:maven编译器plugin:2.5.1:testCompile项目hyperjaxb3 ejb模板上的默认testCompile基本maven:Comp ilation失败:编译失败: [错误]E:\App\SampleCode\hyperjaxb3-ejb-template-basic-0.5.6-maven-src\hyperjaxb3-ejb-template-basic-0.5.6\target\generated sources\xjc\generated\CXML.java:[599,7]错误 :重复类:generated.CXML [错误]E:\App\SampleCode\hyperjaxb3-ejb-template-basic-0.5.6-maven-src\hyperjaxb3-ejb-template-basic-0.5.6\src\test\java\generated\ObjectFactory.java:[32,7]错误:dupli cate类:generated.ObjectFactory 它只生成两个类,而不生成其余的类

已生成\CXML.java 已生成\ObjectFactory.java 有人能帮我成功地绑定这个XSD并从中生成java对象吗

XSD:


XSD部分似乎有问题。当我将其加载到Eclipse的模式编辑器中时,所有带有的行都标记为有错误。它引用了一个文件中其他地方似乎不存在的属性。即使我从xml中删除xml:lang=en US并从中生成XSD,它也有我上面提到的第二个问题。那么您是从xml生成XSD的吗?我通常做相反的事情。我想你的主要问题是你使用的xsd生成器。它似乎没有生成100%有效的模式。我重新表述了我的问题。我正在尝试使用JAXB绑定CXML DTD。没有要绑定的DTD。您可以在上找到DTD。
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified">
<xs:element name="cXML">
<xs:complexType>
<xs:sequence>
<xs:element name="Header">
<xs:complexType>
<xs:sequence>
<xs:element name="From">
<xs:complexType>
<xs:sequence>
<xs:element name="Credential">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="Identity"/>
</xs:sequence>
<xs:attribute type="xs:string" name="domain"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="To">
<xs:complexType>
<xs:sequence>
<xs:element name="Credential">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="Identity"/>
</xs:sequence>
<xs:attribute type="xs:string" name="domain"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Sender">
<xs:complexType>
<xs:sequence>
<xs:element name="Credential">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="Identity"/>
</xs:sequence>
<xs:attribute type="xs:string" name="domain"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Request">
<xs:complexType>
<xs:sequence>
<xs:element name="OrderRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="OrderRequestHeader">
<xs:complexType>
<xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:element name="ID">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:short">
<xs:attribute type="xs:string" name="domain"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Total">
<xs:complexType>
<xs:sequence>
<xs:element name="Money">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:float">
<xs:attribute type="xs:string" name="currency"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Shipping">
<xs:complexType>
<xs:sequence>
<xs:element name="Money">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:float">
<xs:attribute type="xs:string" name="currency"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Description">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute ref="xml:lang"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Tax">
<xs:complexType>
<xs:sequence>
<xs:element name="Money">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:float">
<xs:attribute type="xs:string" name="currency"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Extrinsic">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="name"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="BillTo">
<xs:complexType mixed="true">
<xs:sequence>
<xs:element name="Address" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="CompanyName"/>
<xs:element name="ContactId">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:int">
<xs:attribute type="xs:string" name="domain"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element type="xs:string" name="PaymentType"/>
<xs:element name="PostalAddress">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="FirstName"/>
<xs:element type="xs:string" name="LastName"/>
<xs:element type="xs:string" name="Street"/>
<xs:element type="xs:string" name="City"/>
<xs:element type="xs:string" name="State"/>
<xs:element name="Country">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="isoCountryCode"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element type="xs:int" name="PostalCode"/>
<xs:element type="xs:string" name="Email"/>
<xs:element type="xs:long" name="WorkPhone"/>
</xs:sequence>
<xs:attribute type="xs:string" name="name"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:int" name="contactId"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="name" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="Contact">
<xs:complexType>
<xs:sequence>
<xs:element name="ID">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="domain"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element type="xs:string" name="Name"/>
<xs:element type="xs:string" name="Email"/>
<xs:element type="xs:string" name="Company"/>
<xs:element type="xs:string" name="Department"/>
</xs:sequence>
<xs:attribute type="xs:string" name="Role"/>
</xs:complexType>
</xs:element>
</xs:choice>
<xs:attribute type="xs:string" name="orderDate"/>
<xs:attribute type="xs:string" name="type"/>
</xs:complexType>
</xs:element>
<xs:element name="ItemOut">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="Type"/>
<xs:element name="ItemId">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:int">
<xs:attribute type="xs:string" name="domain"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element type="xs:string" name="StatusType"/>
<xs:element name="PostageAmount">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:float">
<xs:attribute type="xs:string" name="currency"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Discount">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:float">
<xs:attribute type="xs:string" name="currency"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element type="xs:string" name="orderItemName"/>
<xs:element type="xs:string" name="orderItemDescription"/>
<xs:element type="xs:float" name="Price"/>
<xs:element name="ItemID">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="SupplierPartID"/>
<xs:element type="xs:string" name="SupplierPartAuxiliaryID"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ItemDetail">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="URL"/>
<xs:element name="Description">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute ref="xml:lang"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="UnitPrice">
<xs:complexType>
<xs:sequence>
<xs:element name="Money">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:float">
<xs:attribute type="xs:string" name="currency"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element type="xs:string" name="UnitOfMeasure"/>
<xs:element name="Extrinsic">
<xs:complexType>
<xs:sequence>
<xs:element name="ul">
<xs:complexType>
<xs:sequence>
<xs:element name="li" maxOccurs="unbounded" minOccurs="0">
<xs:complexType mixed="true">
<xs:sequence>
<xs:element type="xs:float" name="span"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="name"/>
</xs:complexType>
</xs:element>
<xs:element name="Classification">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="domain"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element type="xs:string" name="ManufacturerPartID"/>
<xs:element name="ManufacturerName">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute ref="xml:lang"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ShipTo">
<xs:complexType>
<xs:sequence>
<xs:element name="Address">
<xs:complexType>
<xs:sequence>
<xs:element name="ContactId">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:int">
<xs:attribute type="xs:string" name="domain"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element type="xs:string" name="CompanyName"/>
<xs:element name="PostalAddress">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="FirstName"/>
<xs:element type="xs:string" name="LastName"/>
<xs:element type="xs:string" name="Street"/>
<xs:element type="xs:string" name="City"/>
<xs:element type="xs:string" name="State"/>
<xs:element name="Country">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="isoCountryCode"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element type="xs:int" name="PostalCode"/>
<xs:element type="xs:string" name="Email"/>
<xs:element type="xs:long" name="WorkPhone"/>
</xs:sequence>
<xs:attribute type="xs:string" name="name"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:int" name="contactId"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Shipping">
<xs:complexType>
<xs:sequence>
<xs:element name="Money">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:float">
<xs:attribute type="xs:string" name="currency"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Description">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute ref="xml:lang"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Distribution" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Accounting">
<xs:complexType>
<xs:sequence>
<xs:element name="AccountingSegment" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Name">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute ref="xml:lang"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Description">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute ref="xml:lang"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="id" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="name" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="Charge">
<xs:complexType>
<xs:sequence>
<xs:element name="Money">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="currency" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Comments">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute ref="xml:lang"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:byte" name="quantity"/>
<xs:attribute type="xs:byte" name="lineNumber"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="payloadID"/>
<xs:attribute type="xs:string" name="timestamp"/>
<xs:attribute ref="xml:lang"/>
</xs:complexType>
</xs:element>
</xs:schema>

 XML:
<cXML payloadID="7ece55bf-8af9-42c4-9f5b-613ac5e00819" timestamp="12/4/2014 4:51:22 PM" xml:lang=" en-us ">
<Header>
<From>
<Credential domain="web">
<Identity>UAT Master</Identity>
</Credential>
</From>
<To>
<Credential domain="web">
<Identity>notused</Identity>
</Credential>
</To>
<Sender>
<Credential domain="web">
<Identity>notused</Identity>
</Credential>
</Sender>
</Header>
<Request>
<OrderRequest>
<OrderRequestHeader orderDate="12/4/2014 4:51:22 PM" type="new">
<ID domain="Web">645</ID>
<Total>
<Money currency="USD">129.48</Money>
</Total>
<Shipping>
<Money currency="USD">12.57</Money>
<Description xml:lang="en-US"/>
</Shipping>
<Tax>
<Money currency="USD">8.91</Money>
</Tax>
<Extrinsic name="Additional Comments or Instructions:"/>
<BillTo>
<Address contactId="210306">
<CompanyName>UAT Master</CompanyName>
<ContactId domain="Web">210306</ContactId>
<PaymentType>CREDITCARD</PaymentType>
<PostalAddress name="default">
<FirstName>test</FirstName>
<LastName>test</LastName>
<Street>Hills Road</Street>
<City>NYC</City>
<State>NY</State>
<Country isoCountryCode="USA">USA</Country>
<PostalCode>78759</PostalCode>
<Email>test@test.com</Email>
<WorkPhone>2342423434</WorkPhone>
</PostalAddress>
</Address>
</BillTo>
<Extrinsic name="Purchase Order Number:"/>
<Contact Role="buyer">
<ID domain="Web">John</ID>
<Name>John M</Name>
<Email>test@test.com</Email>
<Company>UAT Master</Company>
<Department/>
</Contact>
</OrderRequestHeader>
<ItemOut quantity="120" lineNumber="1">
<Type>PRINT</Type>
<ItemId domain="Web">210300</ItemId>
<StatusType>APPROVED</StatusType>
<PostageAmount currency="USD">0.00</PostageAmount>
<Discount currency="USD">0.00</Discount>
<orderItemName>cxml test for cc payment</orderItemName>
<orderItemDescription>test cxml only with cc payment</orderItemDescription>
<Price>108.00</Price>
<ItemID>
<SupplierPartID>BUSCRD001</SupplierPartID>
<SupplierPartAuxiliaryID/>
</ItemID>
<ItemDetail>
<URL>
http://47.59.13.45/ACV3UATRepo/NgA=/MQAzADUAOAAwAA==/2012/3/28/someImage==.jpg
</URL>
<Description xml:lang="en-US">Business Card</Description>
<UnitPrice>
<Money currency="USD">0.90</Money>
</UnitPrice>
<UnitOfMeasure>PER_PIECE</UnitOfMeasure>
<Extrinsic name="options">
<ul>
<li>
Envelope Color/Yellow=
<span>0.00</span>
</li>
<li>
Paper Type/Gloss=
<span>0.00</span>
</li>
</ul>
</Extrinsic>
<Classification domain=""/>
<ManufacturerPartID/>
<ManufacturerName xml:lang="en-US"/>
</ItemDetail>
<ShipTo>
<Address contactId="210301">
<ContactId domain="Web">210301</ContactId>
<CompanyName>UAT Master</CompanyName>
<PostalAddress name="default">
<FirstName>test</FirstName>
<LastName>test</LastName>
<Street>Hills Road</Street>
<City>NYC</City>
<State>NY</State>
<Country isoCountryCode="USA">USA</Country>
<PostalCode>78759</PostalCode>
<Email>test@test.com</Email>
<WorkPhone>2342423434</WorkPhone>
</PostalAddress>
</Address>
</ShipTo>
<Shipping>
<Money currency="USD">12.57</Money>
<Description xml:lang="en-US">Fedex Ground</Description>
</Shipping>
<Distribution>
<Accounting name="DistributionCharge">
<AccountingSegment id="">
<Name xml:lang="en-US"/>
<Description xml:lang="en-US"/>
</AccountingSegment>
<AccountingSegment id="">
<Name xml:lang="en-US"/>
<Description xml:lang="en-US"/>
</AccountingSegment>
</Accounting>
<Charge>
<Money currency="USD"/>
</Charge>
</Distribution>
<Distribution>
<Accounting name="DistributionCharge">
<AccountingSegment id="">
<Name xml:lang="en-US"/>
<Description xml:lang="en-US"/>
</AccountingSegment>
<AccountingSegment id="">
<Name xml:lang="en-US"/>
<Description xml:lang="en-US"/>
</AccountingSegment>
</Accounting>
<Charge>
<Money currency="USD"/>
</Charge>
</Distribution>
<Comments xml:lang="en-US"/>
</ItemOut>
</OrderRequest>
</Request>
</cXML>