Có cách nào để viết mẫu XSL 1.0 khớp với tất cả các chế độ không?Mẫu XSL có thể khớp với chế độ * ALL * không?
Hoặc tôi có phải viết một mẫu riêng biệt cho mọi chế độ hiện có (bao gồm các mẫu bổ sung cho các chế độ được thêm vào trong tương lai) không?
Dưới đây là những gì tôi có:
<xsl:apply-templates mode="mode1" />
...
<xsl:apply-templates mode="mode2" />
...
<!-- Do not process text content of nodes no matter in what mode -->
<!-- Is there a way to have only one template here? -->
<xsl:template match="text()" mode="mode1" />
<xsl:template match="text()" mode="mode2" />
@divo Tôi sẽ không khuyên mọi người sử dụng #all trong XSLT 2.0 - quá nguy hiểm. Ví dụ: chỉ một mẫu chung chung hơn (nút khớp()) sẽ can thiệp vào * bất kỳ mẫu * khác nào.Tốt hơn hết là thiết kế mẫu của một người cẩn thận hơn, theo cách sạch hơn, để không cần phải #all. –
@divo Bạn không cần mẫu trống khớp với văn bản() nếu bạn sử dụng thay vì sử dụng –
@Dimitre: Vâng, tất nhiên bạn đúng. Tuy nhiên, giải pháp của bạn ngụ ý việc sửa đổi mọi mẫu ứng dụng trong mã giúp bảo trì khá khó khăn và có vẻ dễ bị lỗi. –