2014-08-30 2 views
2

다음은 예제입니다. Pls는 저에게 동일한 이름이있어의 부작용을 알게했습니다. 이 XSD에서 Java Object model을 생성하려고합니다. 당신이 주어진 시간에 언급하는 맥락에서 명백으로 XML 스키마면에서 괜찮complexType 및 element - XSD 표준에 동일한 이름을 부여 할 수 있습니까?

<xs:element name="person" type="person"/> 

     <xs:complexType name="person"> 
      <xs:sequence> 
      <xs:element name="firstname" type="xs:string"/> 
      <xs:element name="lastname" type="xs:string"/> 
      </xs:sequence> 
     </xs:complexType> 
+1

그렇게 할 수 있습니다. 나는 부작용이 없다고 말할 것이다. 참조하는 요소와 참조하는 유형에 모호성이 없기 때문에 애매 모호하지 않을 것이다. 원하는 경우 * * – sergioFC

+1

과 같은 것을 사용할 수도 있습니다.이 XSD에서 Java Object Model 양식을 만들면 문제가 없습니다. – JSR

+0

Java + XSD를 사용한 적이 없기 때문에 관련 문제가 있는지 정말로 알지 못합니다. 어쩌면 당신은 귀하의 질문에 자바와 관련된 지정해야합니다. – sergioFC

답변

3

, 당신은 요소와 모호함없이 같은 이름의 유형을 가질 수 있습니다. 유형과 함께 ObjectFactory의 방법이 될 것이다 자바 클래스 Person 및 요소 선언에 매핑됩니다 JAXB에서

JAXBElement<Person>에 요소 매핑의 사용합니다. 익명 중첩 된 complexType이있는 요소 (예 :이 유형이이 특정 루트 요소 이외의 다른 용도로 사용될 수없는 경우)에 대해서만 @XmlRootElement 주석이 적용된 클래스 만받습니다.

+0

설명해 주셔서 감사합니다. – JSR