2010-11-22 7 views
4

구문 분석 할 XML 형식이 있습니다. 일례 파일은 아래에 열거된다 :노드의 참조를 다른 노드의 참조로 어떻게 설명 할 수 있습니까?

<?xml version="1.0" encoding="UTF-8"> 
<root> 
    <parent name="example1"> 
    <childdef ref="1" type="a" /> 
    <childdef ref="3" type="c" /> 
    </parent> 

    <parent name="example2"> 
    <childdef ref="1" type="b" /> 
    <childdef ref="2" type="b" /> 
    </parent> 

    <child id="1" name="Child 1" /> 
    <child id="2" name="Child 2" /> 
    <child id="3" name="Child 3" /> 
    <child id="4" name="Child 4" /> 
</root> 

parent 요소는 자식 요소를 참조하는 적어도 하나 개의 원소를 포함 childdef. 한 명의 자녀가 여러 명의 부모에 의해 참조 될 수 있으므로 참조를 사용해야합니다 (자녀 1 참조).

이제 XML 매퍼 (예 : JAXB 구현)를 사용하는 경우 Parent1에서 Child 1까지 객체 참조를 갖고 싶습니다. 이제 참조 ID 만 속성으로 사용합니다.

이 개체 참조를 XSD에서 정의 할 수 있습니까?

답변

5

예, 가능합니다. @XmlID@XmlIDREF을 참조하십시오. 이들은 xsd:idxsd:idref과 같은 XML 유형에 해당합니다. 그러나 문자열 만 ID가 될 수 있음을 명심하십시오.

+0

감사합니다. 이것은 나를 도울 것입니다. 참조 된 객체의 유형을 지정할 수 있습니까? 이제 JAXB는 Object를 제공합니다 ... – guerda

+0

나는 이해하지 못합니다. '@XmlIDREF'는'@XmlID'를 가진 타입의 필드 일 수 있습니다. – musiKk

관련 문제