Składnia i semantyka XSL Transformations

Wikipedia:Weryfikowalność
Ten artykuł od 2021-06 wymaga zweryfikowania podanych informacji.
Należy podać wiarygodne źródła w formie przypisów bibliograficznych.
Część lub nawet wszystkie informacje w artykule mogą być nieprawdziwe. Jako pozbawione źródeł mogą zostać zakwestionowane i usunięte.
Sprawdź w źródłach: Encyklopedia PWN • Google Books • Google Scholar • Federacja Bibliotek Cyfrowych • BazHum • BazTech • RCIN • Internet Archive (texts / inlibrary)
Po wyeliminowaniu niedoskonałości należy usunąć szablon {{Dopracować}} z tego artykułu.

Ten artykuł opisuje składnię i semantykę XSLT – języka przekształceń dokumentów XML.

Elementy języka

Szablony ze wzorcem: xsl:template z atrybutem match

Szablony są podstawowym elementem języka. Stanowią reguły określające, w jaki sposób zamienić elementy źródłowego XML-a pasujące do wzorca match (będącego ścieżką XPath).

<xsl:template match="samochod[@rocznik < 1980]">
zabytek rocznik poniżej 1980: <xsl:apply-templates/>
</xsl:template>

W szablonach często spotyka się polecenie xsl:apply-templates wstawiające w danym miejscu wynik przetwarzania elementów określonych parametrem select będącym ścieżką XPath (a jeśli go brak – dzieci aktualnego elementu).

Szablony nazwane – xsl:template z parametrem name

Szablony nazwane przypominają funkcje z innych języków programowania. Mogą być wywołane z dowolnego miejsca szablonu poleceniem xsl:call-template. Elementy xsl:param pozwalają na ich parametryzowanie.

Używając szablonów nazwanych można uzyskać efekt pętli (tak samo, jak w językach funkcyjnych). Poniższy szablon nazwany

<xsl:template name="petla">
  <xsl:param name="i"/>

  <xsl:value-of select="$i"/>

  <xsl:if test="$i &gt; 0">
    <xsl:call-template name="petla">
      <xsl:with-param name="i" select="$i - 1"/>
    </xsl:call-template>
  </xsl:if>
</xsl:template>

wywołany przez

<xsl:call-template name="petla">
	<xsl:with-param name="i" select="10"/>
</xsl:call-template>

wyświetli liczby od 10 do 1.

Wstawianie wartości – xsl:value-of

xsl:value-of wstawia w danym miejscu zawartość elementu określonego przez atrybut select. W poniższym przykładzie wstawiona jest wartość atrybutu kolor aktualnego elementu.

kolor: <xsl:value-of select="@kolor">

XSLT umożliwia również wygodne wstawianie wartości wewnątrz znaczników, przy użyciu nawiasów klamrowych:

<span style="color: {@kolor}">kolor</span>

Zobacz też

  • XSLT

Linki zewnętrzne

  • Specyfikacja XSLT 1.0.
  • Specyfikacja XSLT 2.0.
  • Dokumentacja elementów XSLT w polskim Mozilla Developer Center. [dostęp 2008-05-09]. [zarchiwizowane z tego adresu (2008-05-12)].