XML: Phần tử apply-templates

Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực

Khi một style sheet chứa nhiều phần tử template, chúng ta có thể áp dụng chúng vào một khung trình bày nào đó bằng cách sử dụng phần tử apply-templates. Chúng ta cần tạo ra một phần tử template để chứa phần tử apply-templates, nó sẽ lấy kết quả của các template nằm bên ngoài template chứa nó để đưa vào khung trình bày của nó. Nếu trường hợp không có template nào ngoài được áp dụng thì nó sẽ tự lấy kết quả của chính bản thân nó. Để dễ hiểu hơn chúng ta xem các ví dụ sau:

Ví dụ 1:

Tài liệu XSL lưu với tên test.xsl:

1 <xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >

2 <xsl:output method = "html" />

<HTML>

<TABLE>

3 <xsl:template match = "/" >

<TR>

<TD>

4 <xsl:apply-templates select = "//BBB" />

5 </TD>

</TR>

</xsl:template>

</TABLE>

</HTML>

6 <xsl:template match = "BBB" >

7 BBB[ <xsl:value-of select = "position()" /> ]:<xsl:value-of select = "." />

8 </xsl:template>

9 </xsl:stylesheet>

Phần XML:

<?xml version=”1.0”?>

<?xml-stylesheet type="text/xsl" href="test.xsl" ?>

<AAA >

<BBB>10 </BBB>

<BBB>5 </BBB>

<BBB>7 </BBB>

</AAA>

Kết quả:

<HTML>

<TABLE>

<TR>

<TD>BBB[1]: 10</TD>

<TD> BBB[2]: 5</TD>

<TD> BBB[3]: 7</TD>

</TR>
</TABLE>
</HTML>

Ví dụ 2:

Tài liệu XSL lưu với tên test.xsl:

1 <xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >

2 <xsl:output method = "html" />

   <HTML>

   <TABLE>

3 <xsl:template match = "/" >

   <TR>

   <TD>

4 <xsl:apply-templates select = "//BBB" />
5 </TD>

   </TR>

   </xsl:template>

   </TABLE>

   </HTML>

6 </xsl:stylesheet>

Phần XML:

<?xml version=”1.0”?>

<?xml-stylesheet type="text/xsl" href="test.xsl" ?>

<AAA >

<BBB>10 </BBB>

<BBB>5 </BBB>

<BBB>7 </BBB>

</AAA>

Kết quả:

<HTML>

<TABLE>

<TR>

<TD> 10 </TD>

<TD>5</TD>

<TD> 7</TD>

</TR>

</TABLE>

</HTML>

» Tiếp: Phần tử call-template
« Trước: Phần tử element
Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Copied !!!