gerzson Wed Jan 16 12:07:37 2002 EDT Modified files: /phpdoc/hu/functions xslt.xml Log: first translation of xslt.xml
Index: phpdoc/hu/functions/xslt.xml diff -u /dev/null phpdoc/hu/functions/xslt.xml:1.3 --- /dev/null Wed Jan 16 12:07:37 2002 +++ phpdoc/hu/functions/xslt.xml Wed Jan 16 12:07:36 2002 @@ -0,0 +1,629 @@ +<?xml version="1.0" encoding="iso-8859-2"?> +<!-- En-Revision: 1.29 Maintainer: gerzson Status: ready --> + <reference id="ref.xslt"> + <title>XSLT függvények</title> + <titleabbrev>XSLT</titleabbrev> + + <partintro> + <sect1 id="xslt.partintro"> + <title>Bevezetés</title> + + <sect2 id="xslt.intro"> + <title>Az XSLT és a Sablotron</title> + <para> + Az XSLT (Extensible Stylesheet Language (XSL) + Transformations) XML dokumentumok más szerkezetű XML dokumentumokká + alakítását végző nyelv. A World Wide Web consortium (W3C) igazgatja + ezt a szabványt. Az XSLT-ről és a kapcsolodó technológiákról a + <ulink url="&url.xslt;">&url.xslt;</ulink> címen találsz több + olvasnivalót. + </para> + </sect2> + + <sect2 id="xslt.install"> + <title>Telepítés</title> + <para> + Ez a kiterjesztés a <productname>Sablotron</productname> + és <productname>expat</productname> csomagokat használja, amelyeknek + forrásai és fordított változata is megtalálhatók a + <ulink url="&url.sablotron;">&url.sablotron;</ulink> címen. + </para> + <para> + UNIX alatt, a <command>configure</command> parancsot az <option + role="configure">--enable-xslt --with-xslt-sablot</option> + opciókkal kell használni. A <productname>Sablotron</productname> + csomagot olyan helyre kell telepíteni, ahol a fordító megtalálja. + </para> + </sect2> + + <sect2 id="xslt.about"> + <title>Erről a kiterjesztésről</title> + <para> + Ez a PHP kiterjesztés a használt motortól független API + (programozási felületet) biztosít XSLT transzformációk elvégzéhez, ám + jelenleg csak a Ginger Alliance Sablotron motorját támogatja. + Más XSLT könyvtárak támogatása is tervbe van véve, mint például Xalan + vagy libxslt. + </para> + <note> + <simpara> + Ez a kiterjesztés különbözik a PHP 4.1.x előtti verziókban meglevőtől, + és az új kiterjesztés csak a PHP 4.1.x verzióiban használható. + A régi kiterjesztéssel kapcsolatos kérdéseket a [EMAIL PROTECTED] + levelező listán teheted fel. + </simpara> + </note> + </sect2> + + </sect1> + </partintro> + + <refentry id="function.xslt-set-log"> + <refnamediv> + <refname>xslt_set_log</refname> + <refpurpose>beállítja a naplófájl nevét</refpurpose> + </refnamediv> + <refsect1> + <title>Leírás</title> + <funcsynopsis> + <funcprototype> + <funcdef>void <function>xslt_set_log</function></funcdef> + <paramdef>resource <parameter>xh</parameter></paramdef> + <paramdef>mixed <parameter>log</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <variablelist> + <varlistentry> + <term><parameter>xh</parameter></term> + <listitem> + <simpara> + Hivatkozás az XSLT elemzőre. + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>log</parameter></term> + <listitem> + <simpara> + Ez a paraméter lehet egy logikai érték, ami ki-bekapcsolja a naplózást, + vagy lehet egy sztring is, amely a naplófájl nevét tartalmazza. + </simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + <para> + Ezzel a függvénnyel beállítható, hogy melyik fájlba kerüljenek az XSLT + üzenetek. Ezek az üzenetek abban különböznek a hibaüzenetektől, hogy nem + tényleges hibákról értesítnek, hanem inkább az XSLT feldolgozó + állapotáról, ezért hibakereséskor hasznosak, ha valami nem jól működik + az XSLT körül. + </para> + <para> + Alapértelmezés szerint a naplózás inaktív, így az engedélyezéshez először + logikai paraméterrel kell meghívni az <function>xslt_set_log</function>-ot, + és ha a naplózást fájlba szeretnéd átirányítani, akkor egy sztring + paraméterrel is meg kell hívni. + <example> + <title> XSLT naplózás használata</title> + <programlisting role="php"> +<![CDATA[ +<?php + +$xh = xslt_create(); +xslt_set_log($xh, TRUE); +xslt_set_log($xh, getcwd() . 'xslt.log'); + +$result = xslt_process($xh, 'kutya.xml', 'kedvencek.xsl'); +print($result); + +xslt_free($xh); +?> +]]> + </programlisting> + </example> + </para> + </refsect1> + </refentry> + + <refentry id="function.xslt-create"> + <refnamediv> + <refname>xslt_create</refname> + <refpurpose>új XSLT feldolgozó indítása</refpurpose> + </refnamediv> + <refsect1> + <title>Leírás</title> + <funcsynopsis> + <funcprototype> + <funcdef>resource <function>xslt_create</function></funcdef> + <void/> + </funcprototype> + </funcsynopsis> + <para> + Létrehoz az XSLT feldolgozó erőforrást, amellyel a többi XSLT függvény + dolgozik. Ezt az erőforrást adja vissza. + </para> + </refsect1> + </refentry> + + <refentry id="function.xslt-errno"> + <refnamediv> + <refname>xslt_errno</refname> + <refpurpose>visszaadja a hibakódot</refpurpose> + </refnamediv> + <refsect1> + <title>Leírás</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>xslt_errno</function></funcdef> + <paramdef> + resource <parameter>xh</parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + Visszaadja az <parameter>xh</parameter> XSLT feldolgozó kibocsátotta + legutolsó hiba kódját. + </para> + </refsect1> + </refentry> + + <refentry id="function.xslt-error"> + <refnamediv> + <refname>xslt_error</refname> + <refpurpose>visszaadja a hibaüzenetet</refpurpose> + </refnamediv> + <refsect1> + <title>Leírás</title> + <funcsynopsis> + <funcprototype> + <funcdef>mixed <function>xslt_error</function></funcdef> + <paramdef> + resource <parameter>xh</parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + Visszaadja az <parameter>xh</parameter> XSLT feldolgozó kibocsátotta + legutolsó hiba szövegét. + </para> + <para> + <example> + <title> + Hibakezelés az <function>xslt_error</function> és + <function>xslt_errno</function> függvényekkel. + </title> + <programlisting role="php"> +<![CDATA[ +<?php + +$xh = xslt_create(); +$result = xslt_process($xh, 'kutya.xml', 'kedvencek.xsl'); +if (!$result) { + die(sprintf("Nem lehet az XSLT dokumentumot feldolgozni [%d]: %s", + xslt_errno($xh), xslt_error($xh))); +} + +print($result); + +xslt_free($xh); +?> +]]> + </programlisting> + </example> + </para> + </refsect1> + </refentry> + + <refentry id="function.xslt-free"> + <refnamediv> + <refname>xslt_free</refname> + <refpurpose>megszünteti az XSLT feldolgozó erőforrás</refpurpose> + </refnamediv> + <refsect1> + <title>Leírás</title> + <funcsynopsis> + <funcprototype> + <funcdef>void <function>xslt_free</function></funcdef> + <paramdef> + resource <parameter>xh</parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + Az <parameter>xh</parameter> paraméterben megadott XSLT feldolgozó + erőforrást felszabadítja. + </para> + </refsect1> + </refentry> + + <refentry id="function.xslt-process"> + <refnamediv> + <refname>xslt_process</refname> + <refpurpose>végrehajtja az XSLT transzformációt</refpurpose> + </refnamediv> + <refsect1> + <title>Leírás</title> + <funcsynopsis> + <funcprototype> + <funcdef>mixed + <function>xslt_process</function> + </funcdef> + <paramdef>resource <parameter>xh</parameter></paramdef> + <paramdef>string <parameter>xml</parameter></paramdef> + <paramdef>string <parameter>xsl</parameter></paramdef> + <paramdef>string <parameter><optional>result</optional></parameter></paramdef> + <paramdef>array +<parameter><optional>arguments</optional></parameter></paramdef> + <paramdef>array +<parameter><optional>parameters</optional></parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + Az új XSLT kiterjesztés magva a <function>xslt_process</function> függvény. + Ezzel lehet XSLT transzformációkat végezni szinte mindenféle forrású adaton + - az argumentum puffer koncepiójára építve. Az argumentum puffer elképzelése + a Sablotron XSLT feldolgozótól származik, amely jelenleg az egyetlen támogatott + XSLT feldolgozó ehhez a kiterjesztéshez. + </para> + <para> + A legegyszerűbb transzformáció, ha az <function>xslt_process</function> fájlokon + dolgozik: a megadott XML fájlt egy XSLT fájl alapján transzformál és a +végeredményt + egy harmadikba írja. Ez Sablotronnal tényleg elég egyszerű... + </para> + <example> + <title> + Az <function>xslt_process</function> használata XML fájl XSLT +transzformációjára. + A végeredmény is fájlba kerül + </title> + <programlisting role="php"> +<![CDATA[ +<?php + +// új XSLT feldolgozó lefoglalása +$xh = xslt_create(); + +// dokumentum feldolgozása +if (xslt_process($xh, 'minta.xml', 'minta.xsl', 'eredmeny.xml')) { + print "SIKER, a minta.xml a minta.xsl alapján feldolgozásra került,"; + print " az eredmeny.xml tartalmazza a muvelet vegeredmenyet, ami:<br />\n"; + print "<pre>\n"; + readfile('eredmeny.xml'); + print "</pre>\n"; +} +else { + print "Sajnálom, a minta.xml-t nem lehet a minta.xsl alapján feldolgozni,"; + print "amelynek az oka: " . xslt_error($xh); + print " és a hibakódja: " . xslt_errno($xh); +} + +xslt_free($xh); + +?> +]]> + </programlisting> + </example> + <para> + Bár nagyon hasznos ez a müködési elv, sokszor, főképp webes környezetben + a kimenetet közvetlenül ki kell iratni, nem pedig fájlba menteni; ezért + a harmadik paraméter elhagyása vagy &null; értéke esetén, az + <function>xslt_process</function> automatikusan az XSLT transzformáció + eredményével tér vissza. + </para> + <para> + <example> + <title> + Az <function>xslt_process</function> XML fájl XSL fájl alapú + transzformációjának eredménye változóba kerül elmentésre + </title> + <programlisting role="php"> +<![CDATA[ +<?php + +// új XSLT feldolgozó lefoglalása +$xh = xslt_create(); + +// dokumentum feldolgozása +$result = xslt_process($xh, 'minta.xml', 'minta.xsl'); +if ($result) { + print "SIKER, a minta.xml a minta.xsl alapján feldolgozásra került,"; + print " amelynek az eredménye a \$result változóba került: <br />\n"; + print "<pre>\n"; + print $result; + print "</pre>\n"; +} +else { + print "Sajnálom, a minta.xml-t nem lehet a minta.xsl alapján feldolgozni,"; + print "amelynek az oka: " . xslt_error($xh); + print " és a hibakódja: " . xslt_errno($xh); +} + +xslt_free($xh); + +?> +]]> + </programlisting> + </example> + </para> + <para> + A két fenti eset a XSLT transzformáció két legegyszerűbb esete, ám merem + állítani a leggyakoribb módjai is ennek. Vannak olyan helyzetek azonban, + amikor az XML és az XSLT fájlok nem állnak rendelkezésre, hanem azok külső + forrásból - pl. adatbázisból vagy hálózaton keresztül érkeznek. Ekkor az + XML és XSLT adatok csak változók formájában hozzáférhetők, és piaci + alkalmazások esetén a fájlba másolás okozta veszteség nem megengedhető. + Ebben segít az XSLT "argument" szintaxisa. XML és XSLT fájlok + helyett ún. "argumentum helyfoglalókat" lehet definiálni, + amelyek helyett az <parameter>arguments</parameter> (5.) paraméterben + megadott tartalmat fogja használni az XSLT feldolgozó. A következő + példa egyetlen fájlt sem használ. + </para> + <para> + <example> + <title>Using the <function>xslt_process</function> to transform a variable +containing XML data + and a variable containing XSL data into a variable containing the resulting XML +data</title> + <programlisting role="php"> +<![CDATA[ +<?php +// $xml és $xsl tartalmazza az XML és XSL adatokat + +$arguments = array( + '/_xml' => $xml, + '/_xsl' => $xsl +); + +// új XSLT feldolgozó allokálása +$xh = xslt_create(); + +// a dokumentum feldolgozása +$result = xslt_process($xh, 'arg:/_xml', 'arg:/_xsl', NULL, $arguments); +if ($result) { + print "SIKER, a minta.xml a minta.xsl alapján feldolgozásra került,"; + print " amelynek az eredménye a \$result változóba került: <br />\n"; + print "<pre>\n"; + print $result; + print "</pre>\n"; +} +else { + print "Sajnálom, a minta.xml-t nem lehet a minta.xsl alapján feldolgozni,"; + print "amelynek az oka: " . xslt_error($xh); + print " és a hibakódja: " . xslt_errno($xh); +} + +xslt_free($xh); +?> +]]> + </programlisting> + </example> + </para> + <para> + Végezetül, az <function>xslt_process</function> utolsó, + <parameter>parameters</parameter> paraméterében bármlyen adat átadható + az XSLT feldolgozónak az XSL dokumentumhoz. Ezeket a paramétereket + az XSL-en belül + <literal><xsl:param name="parameter_name"></literal> utasítással + érhetők el. + </para> + </refsect1> + </refentry> + + <refentry id="function.xslt-set-sax-handler"> + <refnamediv> + <refname>xslt_set_sax_handler</refname> + <refpurpose>beállítja az XSLT feldolgozó SAX kezelőjét</refpurpose> + </refnamediv> + <refsect1> + <title>Leírás</title> + <funcsynopsis> + <funcprototype> + <funcdef>void <function>xslt_set_sax_handler</function></funcdef> + <paramdef>resource <parameter>xh</parameter></paramdef> + <paramdef>array <parameter>handlers</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + Beállítja a SAX kezelőt az <parameter>xh</parameter>-ban megadott + XSLT feldolgozó számára. A SAX kezelőket a <parameter>handlers</parameter> + kétdimenziós tömbben kell megadni a következők szerint (bármelyik legfelső + szintű elem elhagyható): + <informalexample> + <programlisting role="php"> +<![CDATA[ +array( +[document] => + array( + start document handler, + end document handler + ), +[element] => + array( + start element handler, + end element handler + ), +[namespace] => + array( + start namespace handler, + end namespace handler + ), +[comment] => comment handler, +[pi] => processing instruction handler, +[character] => character data handler +) +]]> + </programlisting> + </informalexample> + </para> + </refsect1> + </refentry> + + <refentry id="function.xslt-set-scheme-handler"> + <refnamediv> + <refname>xslt_set_scheme_handler</refname> + <refpurpose>beállítja az XSLT feldolgozó scheme kezelőjét</refpurpose> + </refnamediv> + <refsect1> + <title>Leírás</title> + <funcsynopsis> + <funcprototype> + <funcdef>void <function>xslt_set_scheme_handler</function></funcdef> + <paramdef>resource <parameter>xh</parameter></paramdef> + <paramdef>array <parameter>handlers</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + Beállítja az <parameter>xh</parameter>-ban megadott XSLT feldolgozó + <literal>scheme</literal> kezelőjét. A <literal>scheme</literal> kezelőket + a <parameter>handlers</parameter> tömbben kell megadni a következők szerint + (bármelyik elem elhagyható): + <informalexample> + <programlisting role="php"> +<![CDATA[ +array( +[get_all] => get all handler, +[open] => open handler, +[get] => get handler, +[put] => put handler, +[close] => close handler +) +]]> + </programlisting> + </informalexample> + </para> + </refsect1> + </refentry> + + <refentry id="function.xslt-set-error-handler"> + <refnamediv> + <refname>xslt_set_error_handler</refname> + <refpurpose>beállítja az XSLT feldolgozó hibakezelőjét</refpurpose> + </refnamediv> + <refsect1> + <title>Leírás</title> + <funcsynopsis> + <funcprototype> + <funcdef>void <function>xslt_set_error_handler</function></funcdef> + <paramdef>resource <parameter>xh</parameter></paramdef> + <paramdef>mixed <parameter>handler</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + Beállítja az <parameter>xh</parameter>-ban megadott XSLT feldolgozó + hibakezelőjét. Ez a hibakezelő kerül meghívásra mindannyiszor, ha + hiba történik az XSLT transzformáció során. Ugyanez a függvény kezeli + a megjegyzéseket (notice). + </para> + </refsect1> + </refentry> + + <refentry id="function.xslt-set-base"> + <refnamediv> + <refname>xslt_set_base</refname> + <refpurpose>beállítja az alap URI-t mindegyik XSLT feldolgozáshoz</refpurpose> + </refnamediv> + <refsect1> + <title>Leírás</title> + <funcsynopsis> + <funcprototype> + <funcdef>void <function>xslt_set_base</function></funcdef> + <paramdef>resource <parameter>xh</parameter></paramdef> + <paramdef>string <parameter>uri</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + Beállítja azt az alap URI-t mindegyik XSLT feldolgozáshoz, amely + az Xpath kifejezésekben előforduló <literal>document()</literal> + és egyéb külső forrást használó parancsok kezeléséhez szükséges. + </para> + </refsect1> + </refentry> + + <refentry id="function.xslt-set-encoding"> + <refnamediv> + <refname>xslt_set_encoding</refname> + <refpurpose>beállítja az XML dokumentumok kódolását</refpurpose> + </refnamediv> + <refsect1> + <title>Leírás</title> + <funcsynopsis> + <funcprototype> + <funcdef>void <function>xslt_set_encoding</function></funcdef> + <paramdef>resource <parameter>xh</parameter></paramdef> + <paramdef>string <parameter>encoding</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + Beállítja az XSLT transzformáció közben használt kódolást. Csak akkor + használható, ha a Sablotron kiszolgálót <literal>encoding</literal> + támogatással lett fordítva. + </para> + </refsect1> + </refentry> + + <refentry id='function.xslt-set-sax-handlers'> + <refnamediv> + <refname>xslt_set_sax_handlers</refname> + <refpurpose> + beállítja az XML dokumentumok feldolgozásakor meghívandó SAX kezelőt + </refpurpose> + </refnamediv> + <refsect1> + <title>Leírás</title> + <funcsynopsis> + <funcprototype> + <funcdef>void <function>xslt_set_sax_handlers</function></funcdef> + <paramdef>resource <parameter>processor</parameter></paramdef> + <paramdef>array <parameter>handlers</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + &warn.undocumented.func; + </para> + </refsect1> + </refentry> + + + + <refentry id='function.xslt-set-scheme-handlers'> + <refnamediv> + <refname>xslt_set_scheme_handlers</refname> + <refpurpose> + beállítja az XSLT feldolgozó scheme kezelőit + </refpurpose> + </refnamediv> + <refsect1> + <title>Leírás</title> + <funcsynopsis> + <funcprototype> + <funcdef>void <function>xslt_set_scheme_handlers</function></funcdef> + <paramdef>resource <parameter>processor</parameter></paramdef> + <paramdef>array <parameter>handlers</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + &warn.undocumented.func; + </para> + </refsect1> + </refentry> + + + </reference> + +<!-- Keep this comment at the end of the file +Local variables: +mode: sgml +sgml-omittag:t +sgml-shorttag:t +sgml-minimize-attributes:nil +sgml-always-quote-attributes:t +sgml-indent-step:1 +sgml-indent-data:t +indent-tabs-mode:nil +sgml-parent-document:nil +sgml-default-dtd-file:"../../manual.ced" +sgml-exposed-tags:nil +sgml-local-catalogs:nil +sgml-local-ecat-files:nil +End: +vim600: syn=xml fen fdm=syntax fdl=2 si +vim: et tw=78 syn=sgml +vi: ts=1 sw=1 +-->