Hướng dẫn XML

TRANG CHỦ XML Giới thiệu XML Cách sử dụng XML Cây XML Cú pháp XML Phần tử XML Thuộc tính XML Không gian tên XML Hiển thị XML HttpRequest XML Trình phân tích cú pháp XML DOM XML XPath XML XSLT XML XQuery XML XML XLink Trình xác thực XML DTD XML Lược đồ XML Máy chủ XML Ví dụ về XML Câu đố XML Chứng chỉ XML

XML AJAX

Giới thiệu AJAX AJAX XMLHttp Yêu cầu AJAX Phản hồi AJAX Tệp XML AJAX AJAX PHP AJAX ASP Cơ sở dữ liệu AJAX Ứng dụng AJAX Ví dụ về AJAX

DOM XML

Giới thiệu DOM Nút DOM Truy cập DOM Thông tin nút DOM Danh sách nút DOM DOM Traversing Điều hướng DOM DOM Nhận giá trị Nút thay đổi DOM DOM Xóa các nút Nút thay thế DOM DOM Tạo nút DOM Thêm nút Nút nhân bản DOM Ví dụ về DOM

Hướng dẫn XPath

Giới thiệu XPath Nút XPath Cú pháp XPath Trục XPath Toán tử XPath Ví dụ về XPath

Hướng dẫn XSLT

Giới thiệu XSLT Ngôn ngữ XSL Chuyển đổi XSLT XSLT <template> XSLT <value-of> XSLT <for-each> XSLT <sắp xếp> XSLT <if> XSLT <chọn> Áp dụng XSLT XSLT trên máy khách XSLT trên Máy chủ XSLT Chỉnh sửa XML Ví dụ về XSLT

Hướng dẫn XQuery

Giới thiệu XQuery Ví dụ về XQuery XQuery FLWOR HTML XQuery Điều khoản XQuery Cú pháp XQuery XQuery Thêm Chọn XQuery Hàm XQuery

DTD XML

Giới thiệu DTD Khối xây dựng DTD Phần tử DTD Các thuộc tính DTD Phần tử DTD so với Attr Thực thể DTD Ví dụ về DTD

Lược đồ XSD

Giới thiệu XSD XSD Cách thực hiện XSD <schema> Phần tử XSD Thuộc tính XSD Hạn chế XSD

XSD Complex

Phần tử XSD XSD trống Chỉ các phần tử XSD Chỉ văn bản XSD XSD hỗn hợp Chỉ báo XSD XSD <nhiều> XSD <anyAttribute> Thay thế XSD Ví dụ về XSD

Dữ liệu XSD

Chuỗi XSD Ngày XSD XSD Numeric XSD Misc Tham chiếu XSD

Dịch vụ web

Dịch vụ XML WSDL XML SOAP XML RDF XML RSS XML

Người giới thiệu

Các loại nút DOM Nút DOM DOM NodeList DOM NamedNodeMap Tài liệu DOM Phần tử DOM Thuộc tính DOM Văn bản DOM DOM CDATA Bình luận DOM DOM XMLHttpRequest Trình phân tích cú pháp DOM Phần tử XSLT Hàm XSLT / XPath

XML , XLink và XPointer


XLink được sử dụng để tạo siêu liên kết trong các tài liệu XML.


XPath
  • XLink được sử dụng để tạo siêu liên kết trong các tài liệu XML
  • Bất kỳ phần tử nào trong tài liệu XML đều có thể hoạt động như một liên kết
  • Với XLink, các liên kết có thể được xác định bên ngoài các tệp được liên kết
  • XLink là một Đề xuất của W3C

Hỗ trợ trình duyệt XLink

Không có trình duyệt hỗ trợ XLink trong các tài liệu XML.

Tuy nhiên, tất cả các trình duyệt chính đều hỗ trợ XLinks trong SVG .


Cú pháp XLink

Trong HTML, phần tử <a> xác định một siêu kết nối. Tuy nhiên, đây không phải là cách nó hoạt động trong XML. Trong tài liệu XML, bạn có thể sử dụng bất kỳ tên phần tử nào bạn muốn - do đó trình duyệt không thể dự đoán phần tử liên kết nào sẽ được gọi trong tài liệu XML.

Dưới đây là một ví dụ đơn giản về cách sử dụng XLink để tạo liên kết trong tài liệu 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.w3schools.com">Visit W3Schools</homepage>
  <homepage xlink:type="simple" xlink:href="http://www.w3.org">Visit W3C</homepage>
</homepages>

Để có quyền truy cập vào các tính năng XLink, chúng ta phải khai báo không gian tên XLink. Không gian tên XLink là: "http://www.w3.org/1999/xlink".

Các thuộc tính xlink: type và xlink: href trong phần tử <homepage> đến từ không gian tên XLink.

Xlink: type = "simple" tạo một liên kết đơn giản "giống HTML" (có nghĩa là "nhấp vào đây để đến đó").

Thuộc tính xlink: href chỉ định URL để liên kết đến.


Ví dụ về XLink

Tài liệu XML sau chứa các tính năng XLink:

<?xml version="1.0" encoding="UTF-8"?>

<bookstore xmlns:xlink="http://www.w3.org/1999/xlink">

<book title="Harry Potter">
  <description
  xlink:type="simple"
  xlink:href="/images/HPotter.gif"
  xlink:show="new">
  As his fifth year at Hogwarts School of Witchcraft and
  Wizardry approaches, 15-year-old Harry Potter is.......
  </description>
</book>

<book title="XQuery Kick Start">
  <description
  xlink:type="simple"
  xlink:href="/images/XQuery.gif"
  xlink:show="new">
  XQuery Kick Start delivers a concise introduction
  to the XQuery standard.......
  </description>
</book>

</bookstore>

Ví dụ được giải thích:

  • Không gian tên XLink được khai báo ở đầu tài liệu (xmlns: xlink = "http://www.w3.org/1999/xlink")
  • Xlink: type = "simple" tạo một liên kết "giống HTML" đơn giản
  • Thuộc tính xlink: href chỉ định URL để liên kết đến (trong trường hợp này là - một hình ảnh)
  • Xlink: show = "new" chỉ định rằng liên kết sẽ mở trong một cửa sổ mới


XLink - Tiến xa hơn

Trong ví dụ trên, chúng tôi đã chứng minh các XLink đơn giản. XLink ngày càng thú vị hơn khi truy cập các vị trí từ xa dưới dạng tài nguyên, thay vì các trang độc lập.

Nếu chúng tôi đặt giá trị của thuộc tính xlink: show thành "nhúng", thì tài nguyên được liên kết sẽ được xử lý nội tuyến trong trang. Ví dụ, khi bạn cho rằng đây có thể là một tài liệu XML khác, bạn có thể xây dựng một hệ thống phân cấp của các tài liệu XML.

Bạn cũng có thể chỉ định KHI nào tài nguyên sẽ xuất hiện, với thuộc tính xlink: actuate.


Tham chiếu thuộc tính XLink

Attribute Value Description
xlink:actuate onLoad
onRequest
other
none
Defines when the linked resource is read and shown:
  • onLoad - the resource should be loaded and shown when the document loads
  • onRequest - the resource is not read or shown before the link is clicked
xlink:href URL Specifies the URL to link to
xlink:show embed
new
replace
other
none
Specifies where to open the link. Default is "replace"
xlink:type simple
extended
locator
arc
resource
title
none
Specifies the type of link

XPointer

XPath
  • XPointer cho phép các liên kết trỏ đến các phần cụ thể của tài liệu XML
  • XPointer sử dụng các biểu thức XPath để điều hướng trong tài liệu XML
  • XPointer là một Khuyến nghị của W3C

Hỗ trợ trình duyệt XPointer

Không có trình duyệt hỗ trợ cho XPointer. Nhưng XPointer được sử dụng trong các ngôn ngữ XML khác.


Ví dụ XPointer

Trong ví dụ này, chúng tôi sẽ sử dụng XPointer kết hợp với XLink để trỏ đến một phần cụ thể của tài liệu khác.

Chúng ta sẽ bắt đầu bằng cách xem xét tài liệu XML đích (tài liệu mà chúng ta đang liên kết đến):

<?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
  is a popular choice for its ability to protect....</temperament>
</dog>

<dog breed="FCRetriever" id="FCRetriever">
  <picture url="https://dog.com/fcretriever.gif" />
  <history>One of the earliest uses of retrieving dogs was to
  help fishermen retrieve fish from the water....</history>
  <temperament>The flat-coated retriever is a sweet, exuberant,
  lively dog that loves to play and retrieve....</temperament>
</dog>

</dogbreeds>

Lưu ý rằng tài liệu XML ở trên sử dụng các thuộc tính id trên mỗi phần tử!

Vì vậy, thay vì liên kết đến toàn bộ tài liệu (như với XLink), XPointer cho phép bạn liên kết đến các phần cụ thể của tài liệu. Để liên kết đến một phần cụ thể của trang, hãy thêm dấu số (#) và biểu thức XPointer sau URL trong thuộc tính xlink: href, như sau: xlink: href = "https://dog.com/dogbreeds.xml #xpointer (id ('Rottweiler')) ". Biểu thức đề cập đến phần tử trong tài liệu đích, với giá trị id là "Rottweiler".

XPointer cũng cho phép một phương thức viết tắt để liên kết với một phần tử có id. Bạn có thể sử dụng trực tiếp giá trị của id, như sau: xlink: href = "https://dog.com/dogbreeds.xml#Rottweiler".

Tài liệu XML sau chứa các liên kết đến thêm thông tin về giống chó cho từng con chó của tôi:

<?xml version="1.0" encoding="UTF-8"?>

<mydogs xmlns:xlink="http://www.w3.org/1999/xlink">

<mydog>
  <description>
  Anton is my favorite dog. He has won a lot of.....
  </description>
  <fact xlink:type="simple" xlink:href="https://dog.com/dogbreeds.xml#Rottweiler">
  Fact about Rottweiler
  </fact>
</mydog>

<mydog>
  <description>
  Pluto is the sweetest dog on earth......
  </description>
  <fact xlink:type="simple" xlink:href="https://dog.com/dogbreeds.xml#FCRetriever">
  Fact about flat-coated Retriever
  </fact>
</mydog>

</mydogs>