2014-03-24 3 views
1

저는 다른 것들 중에서도 스키마를 입력으로 사용하는 회사를위한 Java 응용 프로그램을 만들고 있습니다.Jaxb는 요소 속성에 대해 BigInteger 변수를 만듭니다.

IDE : 넷빈즈 8.0 자바 : JDK 1.6 (내가 ... 내가 아는, 알고) 스키마 요소 유형 중 하나에

가 requiered 두 개의 속성이 있습니다 이제

<xs:complexType name="InsertType"> 
    <xs:attribute name="ID" type="NameType" use="required" /> 
    <xs:attribute name="Priority" type="xs:int" use="required" /> 
</xs:complexType> 

을 이 복합 타입의 생성 된 클래스는 다음과 같습니다 : XML에 대한

public class InsertType { 

    @XmlAttribute(name = "ID") 
    protected String id; 
    @XmlAttribute(name = "Priority") 
    protected BigInteger priority; 
    ... 
} 

명명 규칙 (난 그냥이 스키마를 얻고 명명 규칙 그냥 O를하다 옆으로 속성 이름을 내 피드백 주제 중), 왜 "BigInteger"를 "우선 순위"에 대한 데이터 유형으로 가져 옵니까? 내가받은 원래 스키마는 XS 이유

<xs:attribute name="Priority" type="xs:integer" use="optional"> 

그래서 내가 볼 수있는 "우선 순위"이처럼 보였다 : 정수 플러스 "선택 사항"트리거 "BigInteger를"세대 것입니다,하지만 난 이미 변경된 유형 "XS : INT" 그리고 내가 사용하는 "minOccurs = '1'과 동등한 것이 필요한 요소를 사용하여 요소에 대한 문제를 (바라기로) 해결할 것입니다.

아무도 내가 다음에 조사해야 할 아이디어가 있습니까? 나는 여기에 손실이고 구글 안타 나는 모두 "xs : int"대신 "xs : int"와 "minOccurs = '1'"의 사용법을 지적했다. 내가 얘기를 깜빡 했네요, 이것은 바인딩이 다른 등이 스키마, 하나에서 만든 것이 필수적 수 있습니다 :

당신에게

EDIT 감사드립니다. 첫 번째 또는 주 스키마는 XML의 전체 아키텍처를 설명합니다. 두 번째는 주로 사용 된 모든 유형 정의로 구성됩니다. 처음에는 유형 정의가 포함되어 있으므로이 둘 사이의 분리는 필요하지 않습니다. 하지만 위에서 언급 한 문제와 관련이있을 수 있습니까?

+0

어디에서나 정의 된 Jaxb 바인딩 정의가 있습니까? – Alvin

+0

내 netbeans 프로젝트에서 예. 마스터 스키마를 가리 킵니다. xml 스키마에는 jaxb에 대한 언급이 전혀 없습니다. –

답변

1

좋아, 다시 모든 세부 사항을 통해 작업을 마친 후 나 자신이 대답을 찾았습니다. 속성에 대한 변경 사항이 생성 된 클래스에 반영되지 않은 이유가 궁금 해서요. 그래서 주석도 변경했습니다. 이러한 변경 사항은 프로젝트의 빌드 디렉토리를 삭제 한 후에도 생성 된 클래스에 반영되지 않았습니다.

간단하고 간단하지만 Netbeans 캐시 폴더 (C : \ Users \\\\ Netbeans \ Cache \ 8.0에 있음)를 삭제하고 netbeans를 다시 시작하고 클래스를 가져 오는 것이 간단하고 간단합니다. 다시 생성됩니다.

관련 문제