XSLT <xsl:output> element

Definition and Usage

<xsl:output> 元素定义了输出文档的格式。

Note:<xsl:output> 是顶层元素(top-level element),必须是 <xsl:stylesheet> 或 <xsl:transform> 的子节点。

Syntax

<xsl:output
method="xml|html|text|name"
version="string"
encoding="string"
omit-xml-declaration="yes|no"
standalone="yes|no"
doctype-public="string"
doctype-system="string"
cdata-section-elements="namelist"
indent="yes|no"
media-type="string"/>

attribute

attribute value description
method
  • xml
  • html
  • text
  • name
可选。定义输出的格式。默认是 XML。Netscape 6 仅支持 "html" 和 "xml"。
version string 可选。设置输出格式的 W3C 版本号。(仅在 method="html" or method="xml" 时使用)。
encoding string Οπциона. Ορίζει την τιμή της ιδιότητας κωδικοποίησης στην έξοδο.
omit-xml-declaration
  • yes
  • no

Οπциона.

"yes" ορίζει ότι πρέπει να παραλειφθεί η δήλωση XML (<?xml...?>).

"no" ορίζει ότι πρέπει να περιέχεται η δήλωση XML στην έξοδο. Η προεπιλεγμένη τιμή είναι "no".

standalone
    • yes
    • no
Οπциона. Ορίζει αν ο επεξεργαστής XSLT πρέπει να εξάγει ανεξάρτητο έγγραφο δηλωση; Η τιμή πρέπει να είναι "yes" ή "no". Το Netscape 6 δεν υποστηρίζει αυτή την ιδιότητα.
doctype-public string Οπциона. Ορίζει τον κοινό αναγνωριστικό που θα χρησιμοποιηθεί στο DTD. Είναι η τιμή της ιδιότητας PUBLIC της δηλώσης DOCTYPE της εξόδου.
doctype-system string Οπциона. Ορίζει τον σύστημα αναγνωριστικό που θα χρησιμοποιηθεί στο DTD. Είναι η τιμή της ιδιότητας SYSTEM της δηλώσης DOCTYPE της εξόδου.
cdata-section-elements namelist Οπциона. Λίστα στοιχείων που διαχωρίζονται με κενά, τα οποία πρέπει να περιέχουν το κείμενο ως μέρος CDATA.
indent
  • yes
  • no
Οπциона. Ορίζει αν θα προστεθεί κενό στην έξοδο του δέντρου αποτελεσματικότητας. Η τιμή πρέπει να είναι "yes" ή "no". Το Netscape 6 δεν υποστηρίζει αυτή την ιδιότητα.
media-type string Οπциона. Ορίζει τον τύπο MIME της εξόδου (τύπος μεσής μεταφοράς δεδομένων). Η προεπιλεγμένη τιμή είναι "text/xml". Το Netscape 6 δεν υποστηρίζει αυτή την ιδιότητα.

ιδιότητα method

Η ταυτότητα χρησιμοποιείται για την αναγνώριση της γενικής μεθόδου εξόδου του δέντρου αποτελεσματικότητας. Αν δεν υπάρχει πρόθεμα, τότε η ταυτότητα πρέπει να είναι η μέθοδος που καθορίζεται στο έγγραφο, πρέπει να είναι "xml", "html", "text" ή κάποια άλλη ονομασία NCName που δεν είναι περιορισμένη. Αν υπάρχει πρόθεμα, τότε πρέπει να επεκταθεί και να αναγνωριστεί η μέθοδος εξόδου.

Η επιλογή της προεπιλεγμένης τιμής της ιδιότητας method είναι όπως εμφανίζεται παρακάτω. Αν οποιαδήποτε από τις παρακάτω προϋποθέσεις είναι αληθής, η προεπιλεγμένη μέθοδος εξόδου είναι "html":

Ο κόμβος ρίζας του δέντρου αποτελεσματικότητας περιέχει υποκείμενα στοιχεία.

Η επέκταση του κόμβου ρίζας του δέντρου αποτελεσματικότητας περιέχει το τοπικό μέρος "html" (καμία συνδυασμός κεφαλαίων και πεζών) και το κενό URI ονόματος χώρου.

Οποιαδήποτε κενή κόμβος κειμένου πριν από τον πρώτο υποκείμενο στοιχείο του κόμβου ρίζας του δέντρου αποτελεσματικότητας περιέχει μόνο κενά χαρακτήρες.

Εάν δεν υπάρχει το στοιχείο <xsl:output> ή το στοιχείο <xsl:output> δεν έχει οριστεί η τιμή της ιδιότητας method, θα πρέπει να χρησιμοποιηθεί η προεπιλεγμένη μέθοδος εξόδου.

Παράδειγμα

Παράδειγμα 1

Σε αυτό το παράδειγμα, η έξοδος είναι έγγραφο XML, έκδοση 1.0. Η μέθοδος κωδικοποίησης χαρακτήρων έχει ρυθμιστεί ως "ISO-8859-1", η έξοδος θα γίνει συμπτυγμένη, για να βελτιώσει την αναγνωσιμότητα:

<?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>

Παράδειγμα 2

Σε αυτό το παράδειγμα, η έξοδος είναι το έγγραφο HTML, έκδοση 4.0. Ο τρόπος κωδικοποίησης χαρακτήρων έχει ρυθμιστεί ως "ISO-8859-1", η έξοδος θα γίνει προεκκεντρωμένη για να βελτιώσει την αναγνωσιμότητα:

<?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>