Το στοιχείο XSLT <xsl:key>
Ορισμός και χρήση
<xsl:key> είναι το κορυφαίο στοιχείο, μπορεί να δηλώσει ένα ονομαστο κλειδί (δηλαδή το όνομα και την τιμή που αναγνωρίζεται για τα στοιχεία του αρχείου XML).
Αυτό το κλειδί χρησιμοποιείται μέσω της συνάρτησης key() στο στυλ, βοηθώντας σας να επιτύχετε αποτελεσματικά την πρόσβαση στα στοιχεία που έχουν αναγνωριστεί στο περίπλοκο αρχείο XML.
Σημείωση:Το κλειδί δεν χρειάζεται να είναι μοναδικό!
Γραμματική
<xsl:key name="name" match="pattern" use="expression"/>
Απαιτείται. Χρησιμοποιείται ως τιμή του κλειδιού.
Απαιτείται. Χρησιμοποιείται ως τιμή του κλειδιού. | Τιμή | Περιγραφή |
---|---|---|
name | name | Απαιτείται. Ορίζει το όνομα του κλειδιού. |
match | pattern | Απαιτείται. Ορίζει σε ποιον κόμβο εφαρμόζεται το κλειδί. |
use | expression |
Απαιτείται. Ορίζει την έκφραση που θα χρησιμοποιηθεί ως τιμή του κλειδιού. Το κλειδί μπορεί να είναι οποιαδήποτε από τις παρακάτω τιμές: ιδιότητες, υποεлементά ή το περιεχόμενο του στοιχείου που ταιριάζει. |
Παράδειγμα
Παράδειγμα 1
Ας υποθέσουμε ότι έχετε ένα αρχείο XML με το όνομα "persons.xml":
<persons> <person name="Tarzan" id="050676"/> <person name="Donald" id="070754"/> <person name="Dolly" id="231256"/> </persons>
Μπορείτε να ορίσετε ένα κλειδί στο αρχείο XSL, όπως αυτό:
<xsl:key name="preg" match="person" use="@id"/>
Για να βρείτε το person με το id="050676", χρησιμοποιήστε τον παρακάτω κώδικα (στο αρχείο XSL):
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" <xsl:key name="preg" match="person" use="@id"/> <xsl:template match="/"> <html> <body> <xsl:for-each select="key('preg','050676')"> <p> Id: <xsl:value-of select="@id"/><br /> Όνομα: <xsl:value-of select="@name"/> </p> </xsl:for-each> </body> </html> </xsl:template> </xsl:stylesheet>