2009-07-09 2 views
2

사람들이이 기능을 사용하는 방법에 관심이 있습니다 : 어떤 도메인, 어떤 관계 (설문 조사 질문이 적절하지 않은 경우 사과).설문 조사 : ID/IDREF는 어떻게 사용하고 있습니까? (또는 key/keyref)

XML은 자연적으로 봉쇄를 사용하는 나무를 나타냅니다. ID를 참조하는 IDREF를 사용하여 그래프를 나타낼 수도 있습니다. 많은 요소가 동일한 요소 (다중 참조)를 참조 할 수 있습니다. 중첩 된 요소는 조상 (순환)을 나타낼 수 있습니다. ID와 IDREF를 사용하는 것이 편리 할 수도 있으므로 XML 구조가 다른 저장 형식과 일치합니다 (예 : 데이터베이스 외래 키.

무엇을 은 ID/IDREF로 표현 하시겠습니까?

편집 또한 XML 스키마의 <key>/<keyref>을 포함합니다.

+0

이것은 DTD 사용으로 제한되며 DTD는 더 이상 사용되지 않으며 확장으로 ID/IDREF도 제공됩니다. – skaffman

+0

@skaffman : http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/datatypes.html#ID – 13ren

+0

@skaffman :하지만 새로운 XSD 동급 제품을 포함시켜야합니다. 감사합니다. . – 13ren

답변

2

저는 주로 데이터를 저장하지 않기 위해 XML을 사용합니다. 따라서 IDREF가있는 요소의 콘텐츠가 ID가있는 요소에서 가져온 링크 및 상호 참조에 ID/IDREF를 사용합니다.

2

XML을 직렬화에 사용하므로 ID/IDREF를 사용하여 순환을 중단하고 중복 직렬화를 방지합니다. 나는 또한 내 그래프에 붙어 있지만 그것의 일부로 직렬화되지 않은 외부 객체에 대한 참조를 "미리 선언"하는 데 사용하는 것을 고려했습니다.

이러한 접근 방식의 문제점은 런타임에 객체를 직렬 또는 참조로 직렬화해야 하는지를 직렬화 프레임 워크 (즉 JAX-B)를 동축으로 처리하는 것이 어렵다는 것입니다.