Phần tử <xsl:output> của XSLT

Định nghĩa và cách sử dụng

Phần tử <xsl:output> định nghĩa định dạng của tài liệu đầu ra.

Chú ý:<xsl:output> là phần tử cấp cao (top-level element), phải là con của <xsl:stylesheet> hoặc <xsl:transform>.

Ngữ pháp

<xsl:output
method="xml|html|text|name"
version="chuỗi"
encoding="chuỗi"
omit-xml-declaration="Có|Không"
standalone="Có|Không"
doctype-public="chuỗi"
doctype-system="chuỗi"
cdata-section-elements="namelist"
indent="Có|Không"
media-type="chuỗi"/>

Thuộc tính

Thuộc tính Giá trị Mô tả
method
  • xml
  • html
  • text
  • name
Tùy chọn. Định nghĩa định dạng đầu ra. Mặc định là XML. Netscape 6 chỉ hỗ trợ "html" và "xml".
version string Tùy chọn. Đặt số phiên bản W3C của định dạng đầu ra. (Chỉ sử dụng khi method="html" hoặc method="xml").
encoding string Tùy chọn. Đặt giá trị của thuộc tính mã hóa trong đầu ra.
omit-xml-declaration
  • yes
  • no

Tùy chọn.

"yes" quy định nên bỏ qua tuyên bố XML (<?xml...?>).

"no" quy định nên bao gồm tuyên bố XML trong đầu ra. Mặc định là "no".

standalone
    • yes
    • no
Tùy chọn. Quy định bộ xử lý XSLT có nên xuất tuyên bố tài liệu độc lập hay không; giá trị phải là yes hoặc no. Mặc định là "no". Netscape 6 không hỗ trợ thuộc tính này.
doctype-public string Tùy chọn. Quy định hệ số nhận biết công cộng cần sử dụng trong DTD. Tức là giá trị của thuộc tính PUBLIC trong tuyên bố DOCTYPE trong đầu ra.
doctype-system string Tùy chọn. Quy định hệ số nhận biết hệ thống cần sử dụng trong DTD. Tức là giá trị của thuộc tính SYSTEM trong tuyên bố DOCTYPE trong đầu ra.
cdata-section-elements namelist Tùy chọn. Danh sách các phần tử phân tách bằng khoảng trống, nội dung văn bản của các phần tử này nên được xuất như phần CDATA.
indent
  • yes
  • no
Tùy chọn. Xác định liệu có cần thêm khoảng trống vào đầu ra kết quả hay không; giá trị phải là yes hoặc no. Netscape 6 không hỗ trợ thuộc tính này.
media-type string Tùy chọn. Định nghĩa loại MIME của đầu ra (loại phương tiện của dữ liệu). Mặc định là "text/xml". Netscape 6 không hỗ trợ thuộc tính này.

Thuộc tính method

Biểu thị phương pháp tổng thể để xuất cây kết quả. Nếu không có tiền tố, biểu thị phương pháp được chỉ định trong tài liệu này, phải là "xml", "html", "text" hoặc một tên NCName không bị giới hạn. Nếu có tiền tố, hãy mở rộng và biểu thị phương pháp.

Lựa chọn giá trị mặc định của thuộc tính method như sau. Nếu bất kỳ điều kiện nào sau đây là đúng, phương pháp đầu ra mặc định là "html":

Nút gốc của cây kết quả chứa phần tử con.

Tên mở rộng của phần tử con của nút gốc trong cây kết quả (tức là phần tử tài liệu) chứa phần địa phương "html" (bất kỳ tổ hợp viết hoa hoặc viết thường nào) và URI không có tên.

Mọi nút văn bản trước phần tử con đầu tiên của nút gốc trong cây kết quả chỉ chứa ký tự trống.

Ngoài ra, phương pháp đầu ra mặc định là "xml". Nếu không có phần tử <xsl:output> hoặc phần tử <xsl:output> không chỉ định giá trị thuộc tính method, bạn nên sử dụng phương pháp đầu ra mặc định.

Mô hình

Ví dụ 1

Trong ví dụ này, đầu ra là tài liệu XML, phiên bản 1.0. Cách mã hóa ký tự được thiết lập là "ISO-8859-1", đầu ra sẽ được lùi lại để cải thiện khả năng đọc:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="iso-8859-1" indent="yes"/>
...
...
</xsl:stylesheet>

Ví dụ 2

Trong ví dụ này, đầu ra là tài liệu HTML, phiên bản là 4.0. Cách mã hóa ký tự được thiết lập là "ISO-8859-1", đầu ra sẽ được nhấn vào để cải thiện khả năng đọc:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" version="4.0" encoding="iso-8859-1" indent="yes"/>
...
...
</xsl:stylesheet>