Element <xsl:output> języka XSLT
Definicja i użycie
Element <xsl:output> definiuje format dokumentu wyjściowego.
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 |
|
Dostępne. Definicja formatu wyjściowego. Domyślnie jest XML. Netscape 6 obsługuje tylko "html" i "xml". |
wersja | string | Dostępne. Ustawienie wersji numeru W3C formatu wyjściowego. (Używane tylko gdy method="html" lub method="xml"). |
encoding | string | Opcjonalny. Ustawia wartość atrybutu kodowania w wyjściu. |
omit-xml-declaration |
|
Opcjonalny "yes" określa, że w wyjściu deklaracja XML powinna być pominięta (<?xml...?>). "no" określa, że w wyjściu powinna być zawarta deklaracja XML. Domyślnie jest "no". |
standalone |
|
Opcjonalny. Określa, czy procesor XSLT powinien wygenerować deklarację niezależnego dokumentu; wartość musi być "yes" lub "no". Domyślnie jest "no". Netscape 6 nie obsługuje tego atrybutu. |
doctype-public | string | Opcjonalny. Określa publiczny identyfikator używany w DTD. To wartość atrybutu PUBLIC deklaracji DOCTYPE w wyjściu. |
doctype-system | string | Opcjonalny. Określa system identyfikatora używanego w DTD. To wartość atrybutu SYSTEM deklaracji DOCTYPE w wyjściu. |
cdata-section-elements | namelist | Opcjonalny. Lista elementów oddzielonych spacjami, tekst zawarty w tych elementach powinien być wyświetlany jako część CDATA. |
indent |
|
Opcjonalny. Określa, czy należy dodać białe znaki do wyniku drzewa wyjściowego; 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 jest "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 ograniczonych, które nie są NCName. Z prefiksem, 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 spełnione, domyślnym sposobem wyjścia jest "html":
Węzeł korzenia drzewa wynikowego zawiera elementy podrzędne.
Rozszerzenie węzła 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 elementem podrzędnym węzła korzenia drzewa wynikowego zawiera tylko znaki białe.
W przeciwnym razie, domyślnym sposobem wyjścia jest "xml". Jeśli nie ma elementu <xsl:output> lub element <xsl:output> nie określił wartości atrybutu method, należy użyć domyślnego sposobu 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 wyświetlany z wcięciami, 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. Kodowanie znaków ustawione 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>