Στοιχείο XSLT <xsl:output>
Ορισμός και χρήση
Το στοιχείο <xsl:output> ορίζει τη μορφή του έγγραφου έξοδου.
Σημείωση:<xsl:output> είναι το ανώτερο στοιχείο (top-level element), πρέπει να είναι θυροφύλακας του <xsl:stylesheet> ή του <xsl:transform>.
Γλώσσα
<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"/>
Ιδιότητα
Ιδιότητα | Τιμή | Περιγραφή |
---|---|---|
method |
|
Επιλογή. Ορίζει τη μορφή της έξοδου. Η προεπιλογή είναι XML. Το Netscape 6 υποστηρίζει μόνο "html" και "xml". |
version | string | Επιλογή. Ρυθμίζει την έκδοση της μορφής της έξοδου. Χρησιμοποιείται μόνο όταν method="html" ή method="xml". |
encoding | string | Επιλογή. Ρυθμίζει την τιμή της ιδιότητας κωδικοποίησης της έξοδου. |
omit-xml-declaration |
|
Επιλογή. "yes" ορίζει ότι πρέπει να παραλειφθεί η δήλωση XML στην έξοδο (<?xml...?>). "no" ορίζει ότι πρέπει να περιλαμβάνεται η δήλωση XML στην έξοδο. Η προεπιλογή είναι "no". |
standalone |
|
Επιλογή. Ορίζει αν ο επεξεργαστής XSLT θα εκτυπώσει ανεξάρτητη δήλωση έγγραφου; Η τιμή πρέπει να είναι yes ή no. Η προεπιλογή είναι "no". Το Netscape 6 δεν υποστηρίζει αυτή την ιδιότητα. |
doctype-public | string | Προαιρετικό. Ορίζει τον κοινό σηματοδότησης που χρησιμοποιείται στη DTD. Αυτό είναι η τιμή του attribute PUBLIC του DOCTYPE δηλώσεων στην έξοδο. |
doctype-system | string | Προαιρετικό. Ορίζει το σύστημα σηματοδότησης που χρησιμοποιείται στη DTD. Αυτό είναι η τιμή του attribute SYSTEM του DOCTYPE δηλώσεων στην έξοδο. |
cdata-section-elements | namelist | Προαιρετικό. Λίστα στοιχείων που διαχωρίζονται από κενά, τα οποία πρέπει να περιέχουν το κείμενο ως μέρος CDATA. |
indent |
|
Προαιρετικό. Ορίζει αν πρέπει να προστεθεί κενό στην έξοδο του δέντρου αποτελεσμάτων. Η τιμή πρέπει να είναι "yes" ή "no". Το Netscape 6 δεν υποστηρίζει αυτό το attribute. |
media-type | string | Προαιρετικό. Ορίζει τον τύπο MIME της εξόδου (τύπος των μέσων τύπου δεδομένων). Η προεπιλεγμένη τιμή είναι "text/xml". Το Netscape 6 δεν υποστηρίζει αυτό το attribute. |
Attribute method
Η ταυτότητα για την αναγνώριση της μέθοδου εξόδου του συνολικού δέντρου αποτελεσμάτων. Αν δεν υπάρχει πρόθεμα, αναγνωρίζει τη μέθοδο που καθορίζεται στο έγγραφο, πρέπει να είναι "xml", "html", "text" ή κάποιο από τα ονόματα που δεν είναι NCName). Αν υπάρχει πρόθεμα, επεκτείνει και αναγνωρίζει τη μέθοδο εξόδου.
Η επιλογή της προεπιλεγμένης τιμής του attribute method είναι όπως αναφέρεται παρακάτω. Αν οποιαδήποτε από τις παρακάτω προϋποθέσεις είναι αληθής, η προεπιλεγμένη μέθοδος εξόδου είναι "html":
Το ρίζα του δέντρου περιέχει στοιχεία υποκόμβους.
Το ρίζα του δέντρου του αποτελείται από στοιχεία υποκόμβους που περιέχουν το τοπικό τμήμα "html" (πάντα με οποιαδήποτε αύξουσα και φθίνουσα σειρά γράμματος) και το κενό URI του ονόματος χώρου.
Οποιαδήποτε κενή κόμβος πριν από τον πρώτο υποκόμβο του πρώτου στοιχείου της ρίζας του δέντρου αποτελείται μόνο από κενά.
Εάν δεν ισχύει, η προεπιλεγμένη μέθοδος εξόδου είναι "xml". Αν δεν υπάρχει το στοιχείο <xsl:output> ή το στοιχείο <xsl:output> δεν καθορίζει την τιμή του attribute 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>