Az új XSLT kiterjesztés magva a xslt_process() 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.
A legegyszerűbb transzformáció, ha az xslt_process() 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ű...
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 xslt_process() automatikusan az XSLT transzformáció eredményével tér vissza.
Példa 2. Az xslt_process() XML fájl XSL fájl alapú transzformációjának eredménye változóba kerül elmentésre
|
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 arguments (5.) paraméterben megadott tartalmat fogja használni az XSLT feldolgozó. A következő példa egyetlen fájlt sem használ.
Példa 3. Using the xslt_process() to transform a variable containing XML data and a variable containing XSL data into a variable containing the resulting XML data
|
Végezetül, az xslt_process() utolsó, parameters paraméterében bármlyen adat átadható az XSLT feldolgozónak az XSL dokumentumhoz. Ezeket a paramétereket az XSL-en belül <xsl:param name="parameter_name"> utasítással érhetők el.