2009-06-09 4 views
1

가되게합니다 :같은 문서의 다른 노드에 대한 간단한되는 XLink의 일반적인 요점 보인다

하는 XPointer 또는 XPath를 사용하지 않고
<root xmlns:xlink="http://www.w3.org/1999/xlink"> 
    <firstChild id="ID1" /> 
    ... 
    <ref xlink:href="#ID1" /> 
</root> 

, 당신이 할 수있는이 많이있다 XLink로할까요? 당신은 말 대신 customId 언급, 인 XLink처럼 보였다 뭔가 할 수 없습니다 :

<root xmlns:xlink="http://www.w3.org/1999/xlink"> 
    <firstChild id="ID1" customId="{1234-5678}" /> 
    ... 
    <ref xlink:href="#customId/{1234-5678}" /> 
</root> 

단지 W3 spec에 저를 참조하지 마십시오 - 나는 당신에 관하여 모른다, 그러나 그것은 소요 특별한 종류의 사람이 그들을 해석 할 수 있고, 나는 오늘 그 사람이 아닙니다!

어쨌든, 대부분의 XLink는 외부 리소스를 참조하는 것으로 보이고 대부분의 예제에서는 웹 리소스에 대한 http 링크를 사용합니다 ... 저는 XLink를 사용하여 XLink에서 할 수있는 일에 대해 궁금합니다. XML 문서 내의 특정 부분을 참조하는 용어.

감사합니다.

답변

5

XPointer 또는 XPath를 사용하지 않고 작동하는 방법이 없다고 생각합니다. 난 당신이 사양 언급하지 않으려는 알고 있지만, 다음 XLink spec에서

: [...]을 URI 참조 내에서 사용

조각 식별자 의 형식이 지정 XPointer 사양.

XPointer에 [...]

그래서 내가 말을하려는 XML 경로 언어 (XPath)에 근거가 뭔가 같은 :

XPointer spec에서

<root xmlns:xlink="http://www.w3.org/1999/xlink"> 
    <firstChild id="ID1" customId="{1234-5678}" /> 
    ... 
    <ref xlink:href="#xpointer(/root/firstChild[@customId = '{1234-5678}'])" /> 
</root> 
+1

심지어 href = "# ID1"은 href = "xpointer (id ('ID1'))"의 줄임말입니다. XPointer 없이는 할 수 없습니다. – Onots

+0

좋아, 더 이해하기 시작했다. 실제로 모든 것이 XPath에 실제로 돌아온다는 것은 좋은 일입니다. 지금 XPointer 스펙을 배우기 만하면됩니다! 감사. – Gavin

+1

XLink 사양에서 언급 된 XPointer 문서는 XPointer 프레임 워크 (http://www.w3.org/TR/xptr-framework/)로 대체되었습니다. xpointer() 체계는 http://www.w3.org/TR/xptr-xpointer/에 정의되어 있습니다. – Tomalak

관련 문제