내 스키마의 xsd:unique
제약 조건은 소수 요소의 기본 키와 외래 키를 정의합니다.xsd : Java 클래스 내 고유
스키마가 오류를 발생시키지 않지만.
Java 클래스 xsd:unique
생성 중에는 추가되지 않습니다.
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="urn:schemas-microsoft-com:xml-msdata" schemaLocation="msdata.xsd" />
<xsd:element name="root">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" name="subroot">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" name="set">
<xsd:complexType>
<xsd:sequence>
<xsd:any processContents="lax" />
<xsd:choice>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" name="Held">
<xsd:complexType>
<xsd:attribute name="_attr1" use="required" type="xsd:integer" />
<xsd:attribute name="_attr2" use="required" type="xsd:integer" />
</xsd:complexType>
</xsd:element>
<xsd:element maxOccurs="unbounded" name="Asses">
<xsd:complexType>
<xsd:attribute name="_attr2" use="required" type="xsd:integer" />
<xsd:attribute name="_attr3" use="required" type="xsd:NCName" />
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
<xsd:unique name="PK_Held" msdata:PrimaryKey="true">
<xsd:selector xpath="xsd:Held"></xsd:selector>
<xsd:field xpath="@_attr1"></xsd:field>
</xsd:unique>
<xsd:unique name="PK_Asses" msdata:PrimaryKey="true">
<xsd:selector xpath="xsd:Asses"></xsd:selector>
<xsd:field xpath="@_attr2"></xsd:field>
</xsd:unique>
<xsd:keyref name="FK_Held_Asses" refer="PK_Asses">
<xsd:selector xpath="xsd:Held"></xsd:selector>
<xsd:field xpath="@_attr2"></xsd:field>
</xsd:keyref>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
JAXB는 유효성 검사 규칙을 시행하지 않습니다. 유효성 검사 규칙을 적용하려면 유효성 검사를 사용하여 XML을 구문 분석 할 때 XSD 스키마를 지정해야합니다. – Andreas
@ Andreas 나는 의견보다는 대답으로 자격이 있다고 생각한다. 어쩌면 Schema 인스턴스를 생성하고 unmarshaller에 그것을 설정하는 방법에 관한 간단한 스 니펫으로 게시 할 것인가? –
감사합니다. Andreas, 하나의 추가 정보 --- 이것은 XML을 제공하는 공급 업체이며 우리는 그것을 사용하여 스키마를 생성했습니다. 그들은 xml 자체에서 고유 한 제약 조건을 전송하므로 ''태그에서 구문 분석이 실패합니다. –
thiagu