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
  • xml
  • html
  • tekst
  • nazwa
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
  • yes
  • no

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
    • yes
    • no
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
  • yes
  • no
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>