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
  • xml
  • html
  • text
  • name
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
  • yes
  • no

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