XML, XLink και XQuery

Το XLink χρησιμοποιείται για τη δημιουργία υπερσυνδέσεων σε έγγραφα XML

XPath

  • Το XLink χρησιμοποιείται για τη δημιουργία υπερσυνδέσεων σε έγγραφα XML
  • Οποιοδήποτε στοιχείο στο έγγραφο XML μπορεί να χρησιμοποιηθεί ως σύνδεση
  • Με το XLink, μπορεί να καθοριστεί η σύνδεση εκτός του αρχείου που συνδέεται
  • Το XLink είναι πρόταση πρότυπο από το W3C

Υποστήριξη περιηγητών XLink

Οι περιηγητές δεν υποστηρίζουν το XLink σε έγγραφα XML.

Αλλά όλα τα κύρια προγράμματα περιήγησης υποστηρίζουν XLink στο SVG.

Γραμματική 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".

Οι ιδιότητες xlink:type και xlink:href στο στοιχείο <homepage> προέρχονται από το χώρο ονομάτων XLink.

xlink:type="simple" δημιουργεί μια απλή

Η ιδιότητα xlink:href καθορίζει την URL που θα συνδεθεί.

XLink Example

The following XML document contains XLink functionality:

<?xml version="1.0" encoding="UTF-8"?>
<bookstore xmlns:xlink="http://www.w3.org/1999/xlink">
<book title="Yashu Talk About Eating">
  <description
  xlink:type="simple"
  xlink:href="/images/cswd.jpg"
  xlink:show="new">
  Yashu Talk About Eating can be regarded as a guidebook for Chaozhou cuisine, providing the necessary guidance and help for food lovers and those who seek flavors;
  This book can also be said to be a humanistic reader of Chaozhou cuisine, introducing Chaozhou cuisine rather than Chaozhou food, fully挖掘 and show the hidden local culture, dietary customs, and historical details behind the food.
  </description>
</book>
<book title="The Great Fox Dad">
  <description
  xlink:type="simple"
  xlink:href="/images/mrfox.jpg"
  xlink:show="new">
  Bogies, Bons, and Beens are the most despicable and stingy people you can meet. They hate Mr. Fox and decide to exterminate his entire family.
  Thus, these three men with guns waited sinisterly outside Mr. Fox's cave... But Mr. Fox had a clever plan to deal with them!
  Thus, a contest of wisdom and strength began...
  </description>
</book>
</bookstore>

Example Explanation:

  1. The XLink namespace is declared at the top of the document (xmlns:xlink="http://www.w3.org/1999/xlink")
  2. xlink:type="simple" creates a simple "similar to HTML" link
  3. The xlink:href attribute specifies the URL to which the link should point (in this case, an image)
  4. xlink:show="new" indicates that the link should open in a new window

XLink - Go Further

In the above example, we demonstrated a simple XLink.

XLink becomes more interesting when we use remote locations as resources instead of accessing them as standalone pages.

If we set the xlink:show attribute value to "embed", the linked resource should be handled inline within the page. For example, if you think it might be another XML document, you can build the hierarchy of the XML document.

You can also use the xlink:actuate attribute to specify when the resource should appear.

XLink Attribute Reference

Attribute Value Description xlink:actuate onLoad onRequest άλλο μηδέν Define when to read and display the linked resources: onLoad - The resources should be loaded and displayed when the document is loaded onRequest - πριν από την κλικ στο δεσμό δεν θα διαβάσει ή θα εμφανίσει πόρο xlink:href URL θα规定πρέπει να συνδέσει το URL. xlink:show εγκατάσταση νέο replace άλλο μηδέν θα规定πού θα ανοίξει ο δεσμός. Η προεπιλογή είναι "replace". xlink:type πростόχρονος εκτεταμένο τοποθετητής αρχή πρόσβαση τίτλος μηδέν θα规定δεσμούς τύπου.

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>Οι πρόγονοι του Rottweiler ήταν πιθανότατα Ρωμαίοι
  drover dogs.....</history>
  <temperament>Προσγειωμένος, γενναίος, προσεκτικός και επιβλητικός, ο Rottweiler
  είναι μια δημοφιλής επιλογή για την ικανότητά του να προστατεύει....</temperament>
</dog>
<dog breed="FCRetriever" id="FCRetriever">
  <picture url="https://dog.com/fcretriever.gif" />
  <history>Μία από τις πρώτες χρήσεις των ανακτητικών σκύλων ήταν για να
  βοηθήστε τους ψαράδες να ανακτήσουν ψάρια από το νερό....</history>
  <temperament>Ο γυαλιστερός retriever είναι ένας γλυκός, αισιόδοξος,
  ζωντανός σκύλος που αγαπά να παίζει και να ανακτά....</temperament>
</dog>
</dogbreeds>

Παρακαλώ σημειώστε ότι το παραπάνω XML έγγραφο χρησιμοποιεί την ιδιότητα id σε κάθε στοιχείο!

Επομένως, ο XPointer σας επιτρέπει να συνδέσετε σε συγκεκριμένες ενότητες του έγγραφου, αντί να συνδέσετε το σύνολο του έγγραφου (όπως το XLink).

Για να συνδέσετε σε συγκεκριμένη ενότητα της σελίδας, προσθέστε το σύμβολο hashtag (#) και την έκφραση XPointer στο URL του xlink:href, όπως παρακάτω:

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

Η έκφραση αυτή αναφέρεται στο στοιχείο με την τιμή id "Rottweiler" του στόχου έγγραφου.

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>
  Ο Anton είναι ο αγαπημένος μου σκύλος. Έχει κερδίσει πολλά.....
  </description>
  <fact xlink:type="simple" xlink:href="https://dog.com/dogbreeds.xml#Rottweiler">
  Αλήθεια για Rottweiler
  </fact>
</mydog>
<mydog>
  <description>
  Πλούτων είναι ο πιο γλυκός σκύλος στη γη......
  </description>
  <fact xlink:type="simple" xlink:href="https://dog.com/dogbreeds.xml#FCRetriever">
  关于平毛寻回犬的事实
  </fact>
</mydog>
</mydogs>