Giá trị của match
thuộc tính của lệnh <xsl:template>
phải là một mẫu phù hợp.
Mẫu kết hợp tạo thành một tập con của tập hợp tất cả các biểu thức XPath có thể là. Giới hạn đầu tiên, tự nhiên là mẫu phù hợp phải chọn một tập hợp các nút. Ngoài ra còn có những hạn chế khác. Đặc biệt, các trục ngược không được phép trong các bước vị trí (nhưng có thể được xác định trong các vị từ). Ngoài ra, không cho phép tham chiếu biến hoặc tham số trong XSLT 1.0, nhưng việc sử dụng chúng là hợp pháp trong XSLT 2.x.
/
trong XPath biểu thị gốc hoặc nút tài liệu. Trong XPath 2.0 (và do đó XSLT 2.x), điều này cũng có thể được viết là document-node()
.
Mẫu đối sánh có thể chứa //
abbreviation.
Ví dụ về mô hình phù hợp:
<xsl:template match="table">
có thể được áp dụng trên bất kỳ yếu tố tên table
.
<xsl:template match="x/y">
thể được áp dụng trên bất kỳ phần tên y
mà cha mẹ là một yếu tố được đặt tên x
.
<xsl:template match="*">
có thể được áp dụng cho bất kỳ thành phần nào.
<xsl:template match="/*">
chỉ có thể được áp dụng cho phần tử trên cùng của tài liệu XML.
<xsl:template match="@*">
có thể được áp dụng cho bất kỳ thuộc tính nào.
<xsl:template match="text()">
có thể được áp dụng cho bất kỳ nút văn bản nào.
<xsl:template match="comment()">
có thể được áp dụng cho bất kỳ nút nhận xét nào.
<xsl:template match="processing-instruction()">
có thể được áp dụng cho bất kỳ nút lệnh xử lý nào.
<xsl:template match="node()">
có thể được áp dụng cho bất kỳ nút nào: yếu tố, văn bản, nhận xét hoặc hướng dẫn xử lý.
Câu trả lời này không thực sự chính xác. Không phải mọi biểu thức XPath đều có thể được chỉ định làm mẫu đối sánh pháp lý. –
Tôi đồng ý nhưng theo ý kiến của tôi thì tốt hơn cho người mới bắt đầu xem xét mẫu phù hợp khi được xác định bằng XPath. – Koynov