Phần tử <xsl:key> của XSLT
Định nghĩa và cách sử dụng
<xsl:key> là phần tử cấp cao, có thể khai báo một khóa đặt tên (để phân phối tên và cặp giá trị cho các phần tử được chỉ định trong tài liệu XML).
Khóa này được sử dụng bằng hàm key() trong bảng樣 thức, giúp bạn truy cập hiệu quả các phần tử được分配 trong tài liệu XML phức tạp.
Ghi chú:Khóa không nhất thiết phải là duy nhất!
Ngữ pháp
<xsl:key name="name" match="pattern" use="expression"/>
Thuộc tính
Thuộc tính | Giá trị | Mô tả |
---|---|---|
name | name | Bắt buộc. Định nghĩa tên của khóa. |
match | pattern | Bắt buộc. Định nghĩa khóa được áp dụng cho哪nodos. |
use | expression |
Bắt buộc. Định nghĩa biểu thức cần sử dụng làm giá trị của khóa này. Giá trị khóa có thể là bất kỳ giá trị nào sau: thuộc tính, phần tử con hoặc nội dung phần tử khớp. |
Mô hình
Ví dụ 1
Giả sử bạn có tệp XML tên là "persons.xml":
<persons> <person name="Tarzan" id="050676"/> <person name="Donald" id="070754"/> <person name="Dolly" id="231256"/> </persons>
Bạn có thể định nghĩa một khóa trong tệp XSL như sau:
<xsl:key name="preg" match="person" use="@id"/>
Nếu bạn muốn tìm người với id="050676", hãy sử dụng mã này (trong tệp 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 /> Tên: <xsl:value-of select="@name"/> </p> </xsl:for-each> </body> </html> </xsl:template> </xsl:stylesheet>