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ể định nghĩa một khóa tên (là cặp tên và giá trị được phân phối cho các phần tử được chỉ định trong tài liệu XML).
Khóa này được sử dụng qua hàm key() trong bảng định dạng, giúp bạn truy cập hiệu quả các phần tử được phân phối 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!
Cú 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. Quy định tên khóa. |
match | pattern | Bắt buộc. Định nghĩa khóa được áp dụng cho nút nào. |
use | expression |
Bắt buộc. Đ指定 biểu thức để sử dụng làm giá trị của khóa. 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 có 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"/>
Để tìm kiếm person 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 /> Name: <xsl:value-of select="@name"/> </p> </xsl:for-each> </body> </html> </xsl:template> </xsl:stylesheet>