element XSLT <xsl:output>
definicja i użycie
Element <xsl:output> definiuje format wyjściowego dokumentu.
komentarz:<xsl:output> jest elementem najwyższego poziomu (top-level element), musi być dzieckiem <xsl:stylesheet> lub <xsl:transform>.
gramatyka
<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"/>
atrybut
atrybut | wartość | opis |
---|---|---|
method |
|
opcjonalnie. Definiuje format wyjściowy. Domyślnie to XML. Netscape 6 obsługuje tylko "html" i "xml". |
version | string | opcjonalnie. Ustawia wersję W3C formatu wyjściowego. (Używane tylko przy method="html" lub method="xml"). |
encoding | string | opcjonalnie. Ustawia wartość atrybutu kodowania w wyjściu. |
omit-xml-declaration |
|
opcjonalnie "yes" określa, że w wyjściu powinno być pominięte oświadczenie XML (<?xml...?>). "no" określa, że w wyjściu powinno być zawarte oświadczenie XML. Domyślna wartość to 'no'. |
standalone |
|
opcjonalnie. Określa, czy procesor XSLT powinien wygenerować odrębne oświadczenie dokumentu; wartość musi być 'yes' lub 'no'. Domyślna wartość to 'no'. Netscape 6 nie obsługuje tej właściwości. |
doctype-public | string | Opcjonalny. Określa identyfikator publiczny do użycia w DTD. Jest to wartość atrybutu PUBLIC deklaracji DOCTYPE w wyjściu. |
doctype-system | string | Opcjonalny. Określa identyfikator systemowy do użycia w DTD. Jest to wartość atrybutu SYSTEM deklaracji DOCTYPE w wyjściu. |
cdata-section-elements | namelist | Opcjonalny. Lista elementów oddzielonych spacjami, których tekst powinien być wyjściowy jako część CDATA. |
indent |
|
Opcjonalny. Określa, czy dodać białe znaki do wyjścia drzewa wynikowego; wartość musi być "yes" lub "no". Netscape 6 nie obsługuje tego atrybutu. |
media-type | string | Opcjonalny. Definiuje typ MIME wyjścia (media type danych). Domyślnie to "text/xml". Netscape 6 nie obsługuje tego atrybutu. |
Atrybut method
Identyfikator używany do oznaczania ogólnego metody wyjścia drzewa wynikowego. Bez prefiksu oznacza metodę określoną w tym dokumencie, musi być "xml", "html", "text" lub jednym z nazw NCName, które nie są prefiksem). Z przedziałem rozszerza się i oznacza metodę wyjścia.
Wybór domyślnej wartości atrybutu method przedstawia się następująco. Jeśli któreś z poniższych warunków jest prawdziwe, domyślna metoda wyjścia to "html":
Korzeń drzewa wynikowego zawiera podwęzły elementów.
Rozszerzenie pierwszego podwęzła elementu korzenia drzewa wynikowego zawiera lokalną część "html" (każda kombinacja wielkości liter) i pustą URI przestrzeni nazw.
Każdy węzeł tekstowy przed pierwszym podwęzłem elementu korzenia drzewa wynikowego zawiera tylko znaki białe.
W przeciwnym razie, domyślna metoda wyjścia to "xml". Jeśli nie ma elementu <xsl:output> lub element <xsl:output> nie określił wartości atrybutu method, należy użyć domyślnej metody wyjścia.
Przykład
Przykład 1
W tym przykładzie, wynik to dokument XML, wersja 1.0. Sposób kodowania znaków ustawiony jest na "ISO-8859-1", wynik będzie wcięty, aby poprawić czytelność:
<?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>
Przykład 2
W tym przykładzie, wynik to dokument HTML, wersja 4.0. Sposób kodowania znaków ustawiony jest na "ISO-8859-1", wynik będzie wcięty, aby poprawić czytelność:
<?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>