Ο στοιχείο <xsl:key> του XSLT
Ορισμός και Χρήση
<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 /> Name: <xsl:value-of select="@name"/> </p> </xsl:for-each> </body> </html> </xsl:template> </xsl:stylesheet>