Forum und email
XSLT funkce

CLXXXIII. XSLT funkce

Úvod

Toto rozšíření PHP poskytuje API nezávislé na zpracovateli pro XSLT transformace. V současnosti toto rozšíření podporuje pouze knihovnu Sablotron od Ginger Alliance. Plánována je podpora také pro další knihovny, jako například Xalan nebo libxslt.

XSLT (Extensible Stylesheet Language (XSL) Transformations) je jazyk pro transformaci XML dokumentů do jiných XML dokumentů. Je to standard definovaný The World Wide Web konsorciem (W3C). Imformace o XSLT a souvisejících technologiích jsou dostupné na https://www.w3.org/TR/xslt.

Poznámka: Toto rozšíření se liší od rozšíření Sablotron, které bylo distribuováno s PHP verzemi nižšími než 4.1. Od PHP 4.1 je podporováno pouze toto nové rozšíření. Pokud potřebujete podporu pro starší rozšíření, zeptejte se prosím v PHP konferencích.

Požadavky

Tato extenze využívá Sabloton a expat, které jsou dostupné na https://www.gingerall.org/sablotron.html, a to jak binární soubory tak zdrojové kódy.

Instalace

Na UNIXu spusťte configure s volbami --enable-xslt a --with-xslt-sablot. Sablotron knihovna by měla být nainstalována na nějakém místě, kde ji váš kompilátor může najít.

Zaručte, aby byly k Sablotronu přilinkovány stejné knihovny, které jsou přilinkovány k PHP. Konfigurační přepínače --with-expat-dir=DIR a --with-iconv-dir=DIR jsou zde proto, aby vám pomohly s jejich specifikací. Pokud požadujete podporu, vždy se zmiňte o těchto direktivách a o tom, zda jsou na vašem systému instalovány jiné verze těchto knihoven. Jednoduše řečeno, poskytněte všechna čísla verzí.

Výstraha

Zaručte, aby knihovna Sablot byla přilinkována k -lstdc++, jinak se konfigurace nepodaří nebo se PHP nespustí nebo nezavede.

Podpora pro JavaScript E-XSLT: Pokud jste Sablotron zkompilovali s podporou pro JavaScript, musíte zadat volbu --with-sablot-js=DIR.

Poznámka pro uživatele Win32: Abyste mohli tento modul používat pod Windows, musíte zkopírovat nějaké soubory z adresáře DLL disribučního archivu PHP/Win32 do adresáře SYSTEM32 vašich Windows. (Např.: C:\WINNT\SYSTEM32 nebo C:\WINDOWS\SYSTEM32). Pro PHP <= 4.2.0 zkopírujte sablot.dll a expat.dll. Pro PHP >= 4.2.1 zkopírujte sablot.dll, expat.dll a iconv.dll.

Konfigurace běhu

Toto rozšíření nemá definováno žádné konfigurační direktivy.

Typy prostředků

Toto rozšíření nemá definován žádný typ prostředku (resource).

Předdefinované konstanty

Tyto konstanty jsou definovány tímto rozšířením a budou k dispozici pouze tehdy, bylo-li rozšíření zkompilováno společně s PHP nebo dynamicky zavedeno za běhu.

XSLT_OPT_SILENT (integer)

Zrušit veškeré logování a hlášení chyb. Jedná se o obecnou volbu pro všechny nástroje, které mohou být přidány v budoucnu.

XSLT_SABOPT_PARSE_PUBLIC_ENTITIES (integer)

Přikázat Sablotronu, aby parsoval veřejné entity. Ve výchozím nastavení je tato volba vypnuta.

XSLT_SABOPT_DISABLE_ADDING_META (integer)

Nepřidávat meta značku "Content-Type" do HTML výstupu. Výchozí nastavení je určeno během kompilace Sablotronu.

XSLT_SABOPT_DISABLE_STRIPPING (integer)

Potlačit odstraňování bílých znaků (pouze u datových souborů).

XSLT_SABOPT_IGNORE_DOC_NOT_FOUND (integer)

Považovat nerozpoznané dokumenty (funkce document()) za nesmrtelné.

XSLT_ERR_UNSUPPORTED_SCHEME (integer)

Vrátit chybový kód, pro scheme handlers.

Obsah
xslt_backend_info --  Returns the information on the compilation settings of the backend
xslt_backend_name --  Returns the name of the backend
xslt_backend_version --  Returns the version number of Sablotron
xslt_create -- Vytvořit nový XSL procesor
xslt_errno -- Vrátit číslo současné chyby
xslt_error -- Vrátit text poslední chyby
xslt_free -- Uvolnit XSLT procesor
xslt_getopt --  Get options on a given xsl processor
xslt_process -- Transformovat XML data řetězcem obsahujícím XSL data
xslt_set_base -- Set the base URI for all XSLT transformations
xslt_set_encoding -- Set the encoding for the parsing of XML documents
xslt_set_error_handler -- Set an error handler for a XSLT processor
xslt_set_log -- Set the log file to write log messages to
xslt_set_object --  Sets the object in which to resolve callback functions
xslt_set_sax_handler -- Určit SAX handlery XSLT procesoru
xslt_set_sax_handlers --  Set the SAX handlers to be called when the XML document gets processed
xslt_set_scheme_handler -- Set Scheme handlers for a XSLT processor
xslt_set_scheme_handlers --  Set the scheme handlers for the XSLT processor
xslt_setopt --  Set options on a given xsl processor