Prvky XSLT - XSLT elements - Wikipedia
![]() | tento článek potřebuje další citace pro ověření.Září 2014) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
XSLT (Extensible Stylesheet Language Transformations) definuje mnoho prvků k popisu transformací, které by měly být použity na dokument. Tento článek uvádí některé z těchto prvků. Úvod do XSLT viz Hlavní článek.
Logické prvky XSLT
Uzel | Popis / atributy | Kontejner / děti | Příklad |
---|---|---|---|
xsl: apply-templates | Určuje, že v rámci toho mohou existovat další shody uzel; pokud to není zadáno, budou všechny shody ignorovány. Li vybrat je zadáno, budou použity pouze šablony, které určují „shodu“, která odpovídá vybranému uzlu nebo typu atributu. Tj. odpovídající prvky od vybrat atribut v xsl: apply-templates odpovídají šabloně, která odpovídá stejným prvkům. Li režimu je zadáno, budou použity pouze šablony, které mají stejný „režim“ a mají odpovídající „shodu“. | Každý rodič. Může obsahovat libovolný počet xsl: seřadit a xsl: with-param děti. |
|
xsl: vyberte | Více možností. Žádné atributy. | Každý rodič. Obsahuje xsl: kdy bloky a až jeden xsl: jinak blok. |
|
xsl: pro každého | Vytvoří smyčku, která se opakuje pro každý zápas. vybrat určuje kritéria shody. | Každý rodič. Může obsahovat libovolný XML. |
|
xsl: pokud | Ano nebo venku Žádné podmínky. test určuje kritéria pro zadání if. | Každý rodič. Může obsahovat libovolný XML. |
|
xsl: jinak | Výchozí volba, pokud žádná z xsl: kdy kritéria jsou splněna. | xsl: vyberte. Může obsahovat libovolný XML. |
|
xsl: šablona stylů | Prvek nejvyšší úrovně. Vyskytuje se v dokumentu šablony stylů pouze jednou. verze určuje, která verze XSLT se používá. xmlns: xsl specifikuje URL tohoto standardu. | Prvek nejvyšší úrovně. Obsahuje všechny XML. |
|
xsl: šablona | Určuje šablony zpracování. zápas je, kdy by měla být použita šablona. název dává šabloně název, který xsl: šablona volání lze použít k volání této šablony. | xsl: šablona stylů. Může obsahovat libovolný XML. |
|
xsl: proměnná | Umožňuje deklaraci proměnné. název je název proměnné. Na to lze později odkázat $ jméno . vybrat je hodnota proměnné. | Každý rodič. žádné děti. |
|
xsl: kdy | Ano nebo Ne podmínky. test určuje kritéria pro zadání if. | xsl: vyberte. Může obsahovat libovolný XML. |
|
Příklad šablony stylů XSLT pomocí logických prvků
> shoda ="//vstup"> jméno ="typ" vyberte ="@typ"/> jméno ="název" vyberte ="@název"/> test ="$ type = 'text' nebo $ type = 'heslo' nebo $ type = 'radio' nebo $ type = 'checkbox'"> > test ="$ type = 'radio'"> test ="ne (předcházející sourozenec :: vstup [@ type = 'rádio'])" "> jméno ="{@název}"> vyberte =„../input[@name=$name]“> hodnota ="{@hodnota}"> /> </option> </xsl:for-each> </select> </xsl:if> </xsl:when> test ="$ type = 'text'"> jméno ="{@název}" zadejte ="{@typ}"> /> </input> </xsl:when> test ="$ type = 'heslo'"> jméno ="{@název}" zadejte ="{@typ}"> /> </input> </xsl:when> </xsl:choose> </xsl:if> </xsl:template></xsl:stylesheet>
Vstupní / výstupní prvky souboru XSLT
Uzel | Popis / atributy | Kontejner / děti | Příklad |
---|---|---|---|
xsl: šablona volání | Volá šablonu, jejíž název je zadán. název odpovídá název v xsl: šablona. | Každý rodič. děti jsou xsl: with-param. |
|
xsl: import | Načte další soubor XSLT. href je URI souboru. | xsl: šablona stylů. Žádné děti. |
|
xsl: výstup | Popisuje, jak budou vrácena data. metoda určuje, jaký druh dat se vrací. omit-xml-deklarace označuje, zda má být zahrnuta počáteční značka XML. kódování určuje způsob vrácení dat. | xsl: šablona stylů. Žádné děti. |
|
xsl: param | Určuje parametr, který lze předat do šablony pomocí xsl: šablona volání. | xsl: šablona. Žádné děti. |
|
xsl: text | Vypíše obsah tagu. | Každý rodič. Žádné děti. |
|
xsl: hodnota | Vypíše proměnnou. vybrat určuje proměnnou. | Každý rodič. Žádné děti. |
|
xsl: with-param | Určuje parametr předaný xsl: šablona volání. Musí být uzavřeno znakem xsl: param v šabloně. název určuje název parametru. vybrat specifikuje parametr hodnota. | xsl: šablona volání. Žádné děti. |
|
Na straně klienta XSLT lze implementovat v prohlížeč přidáním řádku, jako je následující, ke zdroji XML soubor, hned za kořenovou značkou XML.
<?xml-stylesheet type="text/xsl" href="family.xsl"?>
To je popsáno na stránce http://www.xml.com/pub/a/2000/10/25/msie/index.html
Další sémantika XSLT
symbol | význam | kde se používá |
---|---|---|
| | operátor odboru. slouží k seskupení sad uzlů ve výrazech XPath. | vyberte atributy prvků, jako je xsl: kdy, xsl: pokud, xsl: pro každého. |
& | a | jakékoli podmíněné kritérium nebo kritérium shody xsl: if.test, xsl: when.test, xsl: template.select a xsl: for-each.select. |
<!-- | začít komentář. | kdekoli není ve značce. |
--> | závěrečný komentář. | kdekoli není ve značce. |
$ | začátek názvu proměnné. | například kdekoli ve značce xsl: value-of.select a xsl: variable.name. |
název() | název zpracovávané značky. Užitečné, pokud kritéria shody obsahují | s (symboly potrubí). | jakékoli podmíněné kritérium nebo kritérium shody xsl: if.test, xsl: when.test, xsl: template.select a xsl: for-each.select. |
@ | atribut v rámci XML. | jakékoli podmíněné kritérium nebo kritérium shody xsl: if.test, xsl: when.test, xsl: template.select a xsl: for-each.select. |
Funkce definované XSLT
Následující funkce se mohou vyskytovat v mnoha atributech XSLT, například xsl: value-of.select a xsl: for-each.select.
Funkce | Popis / syntaxe | Příklad |
---|---|---|
strop | The stropní funkce vrátí nejmenší celé číslo která se rovná nebo je větší než číselná hodnota argumentu číslo. | strop(3.57) |
concat | Zřetězí dva nebo více řetězců. | concat($fname, ' ', $jméno) |
obsahuje[2] | Vrátí true, pokud první řetězec obsahuje druhý řetězec, jinak vrátí false. | obsahuje('string to search', 'nalézt') |
počet | Funkce count spočítá a vrátí počet uzlů v sadě uzlů. | počet(elementy) |
podlaha | The funkce podlahy vrací největší celé číslo, které se rovná nebo je menší než číselná hodnota argumentu číslo. | podlaha(3.57) |
normalizovat-prostor | Odebere mezery od začátku a konce řetězce | normalizovat-prostor($fname) |
pozice | Funkce position vrací one-based[3] index aktuálního uzlu zpracovávaného xsl: pro každého nebo xsl: apply-templates seznam uzlů prvků. Neexistují žádné argumenty. | pozice() |
kolo | Funkce Round zaokrouhlí číslo na nejbližší celé číslo. | kolo(3.57) |
tětiva | Funkce řetězce převede argument hodnoty na řetězec. | tětiva() |
délka řetězce | Funkce délky řetězce vrací počet znaků v řetězci. Řetězcový argument je volitelný. Pokud je vynechán, výchozí je použít hodnotu řetězce kontextového uzlu. | délka řetězce('Ahoj') |
podřetězec | Segment v rámci proměnné hodnoty. Podřetězec má tři parametry: vstupní proměnnou, první vybraný znak a délku výsledného řetězce | podřetězec($dob,4,2) |
podřetězce | Funkce substring-after vrací část z řetězce určeného v argumentu řetězce, ke kterému dojde po podřetězci určeném v argumentu podřetězce. | podřetězce(„V roce 1814 jsme podnikli malý výlet“, 'my') |
předřetězec | Funkce substring-before vrací část z řetězce určeného v argumentu řetězce, ke kterému dojde před podřetězcem určeným v argumentu podřetězce. | předřetězec(„V roce 1814 jsme podnikli malý výlet“, 'my') |
součet | Funkce součet přidá a vrátí celkovou hodnotu sady číselných hodnot v sadě uzlů nebo seznamu hodnot. | součet(1,3,7,12) |
přeložit | Vezme řetězec v argumentu value, nahradí všechny výskyty znaků v argumentu string1 substitučními znaky na stejném místě v argumentu string2 a vrátí upravený řetězec. | přeložit('kapela', 'abeceda', 'ABECEDA') = 'Kapela' |
externí odkazy
- Doporučení W3C XSLT 1.0 - Popisuje celou syntaxi a sémantiku XSLT 1.0
- Doporučení W3C XSLT 2.0
- Odkaz na prvky XSLT - od W3Schools