XML, XLink, XQuery

XLink는 XML 문서에서 하이퍼링크를 생성하는 데 사용됩니다

XPath

  • XLink는 XML 문서에서 하이퍼링크를 생성하는 데 사용됩니다
  • XML 문서의 어떤 요소든 링크로 사용될 수 있습니다
  • XLink를 통해 링크된 파일 외부에서 링크를 정의할 수 있습니다
  • XLink는 W3C 추천 표준입니다

XLink 브라우저 지원

브라우저는 XML 문서에서의 XLink를 지원하지 않습니다.

그러나 모든 주요 브라우저는 지원합니다 SVG에서의 XLink.

XLink 문법

HTML에서는 <a> 요소가 하이퍼링크를 정의합니다. 그러나 이것이 XML에서의 동작은 아닙니다.

XML 문서에서는 원하는 어떤 요소 이름을 사용할 수 있습니다 - 따라서 브라우저는 XML 문서에서 링크 요소를 호출할 것이 무엇인지 예측할 수 없습니다.

XLink를 사용하여 XML 문서에서 링크를 생성하는 간단한 예제는 다음과 같습니다:

<?xml version="1.0" encoding="UTF-8"?>
<homepages xmlns:xlink="http://www.w3.org/1999/xlink">
  <homepage xlink:type="simple" xlink:href="https://www.codew3c.com">CodeW3C.com 방문</homepage>
  <homepage xlink:type="simple" xlink:href="http://www.w3.org">W3C 방문</homepage>
</homepages>

XLink 기능에 접근해야 한다면, XLink 이름 공간을 선언해야 합니다. XLink 이름 공간은 "http://www.w3.org/1999/xlink"입니다.

<homepage> 요소의 xlink:type 및 xlink:href 속성은 이 XLink 이름 공간에서 나옵니다.

xlink:type="simple"는 단순한 "HTML과 유사한" 링크를 생성합니다(즉, "여기 클릭하여 다른 곳으로 이동"이라는 의미입니다).

xlink:href 속성은 링크할 URL을 지정합니다.

XLink 예제

아래의 XML 문서는 XLink 기능을 포함하고 있습니다:

<?xml version="1.0" encoding="UTF-8"?>
<bookstore xmlns:xlink="http://www.w3.org/1999/xlink">
<book title="雅舍谈吃">
  <description
  xlink:type="simple"
  xlink:href="/images/cswd.jpg"
  xlink:show="new">
  《雅舍谈吃》은 타오양의美食의 지침서로, 그 중에서美食爱好者和寻味자에게 필요한 지침과 도움을 제공합니다;
  이 책은 또한 타오양의美食的人文讀本으로, 책에서는 타오양의美食를 소개하며, 타오양의美食와는 다른 타오양의乡土文化、饮食習慣 및 역사 세부 사항을 철저히 탐구하고 표시합니다.
  </description>
</book>
<book title="了不起的狐狸爸爸">
  <description
  xlink:type="simple"
  xlink:href="/images/mrfox.jpg"
  xlink:show="new">
  博吉斯, 邦斯, 和 比恩 是你能遇到的最卑鄙、最吝啬的人,他们憎恨狐狸先生,决定消灭他的全家。
  그래서, 이 세 사람은 총을 들고,狐狸先生的洞 앞에서 은밀하게 기다렸습니다……하지만狐狸先生은 그들을 대처하는妙计를 가지고 있었습니다!
  그래서, 지혜와 힘의 대결이 시작되었습니다……
  </description>
</book>
</bookstore>

예제 설명:

  1. XLink 네임스페이스는 문서 상단에 선언됩니다 (xmlns:xlink="http://www.w3.org/1999/xlink")
  2. xlink:type="simple"은 간단한 "유사 HTML" 링크를 생성합니다
  3. xlink:href 속성은 링크할 URL(이 예제에서는 이미지)을 지정합니다
  4. xlink:show="new"은 링크가 새 창에서 열리도록 지시합니다

XLink - 더 멀리 가기

위의 예제에서는 간단한 XLink를 설명했습니다.

원격 위치를 자원으로 대신 독립 페이지로 접근할 때 XLink는 더 흥미롭게 됩니다.

xlink:show 속성 값을 "embed"로 설정하면 링크된 자원이 페이지 내에서 내장 처리되어야 합니다. 예를 들어, 이가 다른 XML 문서일 가능성이 있다고 생각하면 XML 문서의 계층 구조를 구축할 수 있습니다.

xlink:actuate 속성을 사용하여 자원이 표시되어야 할 시간을 지정할 수 있습니다.

XLink 속성 참조

속성 값 설명 xlink:actuate onLoad onRequest other none 링크된 자원을 언제 읽고 표시할지 정의하십시오: onLoad - 자원은 문서가 로드될 때 로드되고 표시되어야 합니다 onRequest - 링크를 클릭하기 전에 자원을 읽거나 표시하지 않습니다. xlink:href URL 링크가 이동할 URL을 정의합니다. xlink:show embed new replace other none 링크를哪里 열 것인지 정의합니다. 기본值为 "replace"。 xlink:type simple extended locator arc resource title none 링크 유형을 정의합니다.

XPointer

XPath
  • XPointer는 XML 문서의 특정 부분을 지칭하는 링크를 허용합니다
  • XPointer는 XPath 표현식을 사용하여 XML 문서에서 탐색합니다
  • XPointer는 W3C 권장 표준입니다

XPointer 브라우저 지원

브라우저는 XPointer를 지원하지 않지만, XPointer는 다른 XML 언어에서도 사용됩니다.

XPointer 예제

이 예제에서는 XPointer와 XLink를 결합하여 다른 문서의 특정 부분을 지칭합니다.

먼저 이 목표 XML 문서를 살펴보겠습니다. (링크된 문서):

<?xml version="1.0" encoding="UTF-8"?>
<dogbreeds>
<dog breed="Rottweiler" id="Rottweiler">
  <picture url="https://dog.com/rottweiler.gif" />
  <history>The Rottweiler's ancestors were probably Roman
  drover dogs.....</history>
  <temperament>Confident, bold, alert and imposing, the Rottweiler
  보호 능력으로 인해 인기가 많은 선택입니다.</temperament>
</dog>
<dog breed="FCRetriever" id="FCRetriever">
  <picture url="https://dog.com/fcretriever.gif" />
  <history>추리견이 사용된 초기 중 하나는
  어항에서 고기를 찾아내는 어업인을 도와주는...</history>
  <temperament>The flat-coated retriever is a sweet, exuberant,
  놀이와 수집을 좋아하는 활기찬 개...</temperament>
</dog>
</dogbreeds>

주의하세요, 위의 XML 문서는 각 요소에 id 속성을 사용하고 있습니다!

따라서 XPointer는 전체 문서에 링크하는 것 대신 문서의 특정 부분에 링크할 수 있도록 합니다(예: XLink).

페이지의 특정 부분에 링크하려면, xlink:href 속성의 URL 뒤에 해시 (#)와 XPointer 표현을 추가하세요,예를 들어:

xlink:href="https://dog.com/dogbreeds.xml#xpointer(id('Rottweiler'))"

이 표현은 목표 문서의 "Rottweiler" 값이 id인 요소를 참조합니다。

xlink:href="https://dog.com/dogbreeds.xml #xpointer(id('Rottweiler'))"。

XPointer는 id를 가진 요소에 단축 방법으로 링크할 수 있습니다. 아래와 같이 id 값을 직접 사용할 수 있습니다:

xlink:href="https://dog.com/dogbreeds.xml#Rottweiler

아래의 XML 문서는 각 개의 품종에 대한 더 많은 정보를 포함하고 있습니다:

<?xml version="1.0" encoding="UTF-8"?>
<mydogs xmlns:xlink="http://www.w3.org/1999/xlink">
<mydog>
  <description>
  안톤은 제가 가장 좋아하는 개입니다. 그는 많은.....를 이겼습니다.
  </description>
  <fact xlink:type="simple" xlink:href="https://dog.com/dogbreeds.xml#Rottweiler">
  로트웰라이어에 대한 사실
  </fact>
</mydog>
<mydog>
  <description>
  플루토는 지구에서 가장 맛있는 개입니다......
  </description>
  <fact xlink:type="simple" xlink:href="https://dog.com/dogbreeds.xml#FCRetriever">
  Flatten coated Retriever에 대한 사실
  </fact>
</mydog>
</mydogs>