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 &quot;argument&quot; szintaxisa. XML és XSLT fájlok
+     helyett  ún. &quot;argumentum helyfoglalókat&quot; 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>&lt;xsl:param name=&quot;parameter_name&quot;&gt;</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
+-->


Reply via email to