pondělí 6. března 2006

Tip:Naučte PSPad XSL transformaci

Pokud jste si pro svou práci s XML/XSL oblíbili editor PSPad mohlo by se vám hodit nastavení editoru, který by umožňovalo spouštět XSL transformaci přímo z editoru, případně otevírat výsledek opět v editoru či prohlížeči. PSPa umožňuje přiřadit ke každému specifickému formátu i takzvaný kompilátor, tedy program, kterému je možné předat aktuálně editovaný soubor.

Pro vlastní transformaci je možné použít mojí malou utilitu. Pro její použítí budete potřebovat mít nainstalovanou Javu resp. JRE. Po stažení a rozbalení utility je potřeba upravit cestu v souboru xslt.bat.

Funkčnost utility (doporučuji umístit ji na path, aby jí bylo možné volat odkudkoliv) je možné vyzkoušet z příkazové řádky.

 xslt.bat xml soubor xsl soubor vystupní soubor 
 xslt.bat source template output.html
 xslt.bat source template

Dávka je napsána tak, že přípony souboru přidává automaticky (pro xml soubor .xml a pro xsl soubor .xsl). Pokud toto chování nevyhovuje je možné jej upravit v samotné dávce. Výstupní soubor tj. výstup transformace je volitelný, pokud neni zadán, vypíše se výsledek do konzole.

Nastavení PSPadu

Settings (Nastavení) >> Highlighters settings (Nastavení zvýrazňovačů) >> XML >> Compiler (Kompilátor)

  • Compiler - cesta k vlastní spouštěcí dávce
  • Parameters - parametry, které budou dávce předané. PSPad poskytuje kontextové proměnné, na které je možné se odkázat.Tak například proměnná %Name% ukazuje na jméno aktuálně editovaného souboru. My nastavíme parametry pro dávku takto: %Name%-source %Name% %Name%.output. Při editaci např. souboru foo.xsl to povede k volání xslt.bat foo-source foo foo.output tj. předpokládá se existence souboru foo-source.xml a výsledek bude zapsán do souboru foo.output.
  • Default dir - adresář, který se bere jako výchozí (%Dir%)
  • LOG File - soubor do kterého se bude logovat
  • Run After Compilation - program, který se zavolá po kompilaci resp. transformaci v našem případě. Pokud chcete výsledek transformace otevírat znovu do PSPadu nastavte si, stejně jako já, pspad %Name%.output (PSPad musí být v takovém případě na path). Jinak je samoyřejmě možné otevřít výsledek např. v internetovém prohlížeči.
  • Vyberte Capture Program Output Window a Hide Output Window - čímž se zbavíte vyskakující konzole

PSPad je nyní připraven pro každé volání Ctrl+F9 při editaci xsl souboru volat transformaci jejíž výsledek se otevře v definovaném programu.