headerbanner

XSLT - proč generuje prázdný namespace

Na problém s generováním xmlns="" jsem narazil při transformaci XML struktury webu do podoby sitemap. XSLT procesor se mi zdál nějak příliš pečující, ale on je jen navýsost logický.

Číst dál...

Lekce XSLT transformace a XML Schema validace, aneb jak v PHP vytvořit menu z XML (a nakonec "redakční systém" pro statický web)

Po seznámení s XML Schema pro validaci XML dokumentu a zejména při prvních krocích s XSL transformací je problém se orientovat v tom, odkud kam a proč program postupuje. Orientaci snad pomohou následující texty. Jejich výstupem bude jednoduchý a reálně použitelný "redakční systém" pro generování kostry statického webu, respektive všech jeho stránek s hlavičkami a menu. (Úplné základy XML a XML Schema najdete třeba u Jiřího Koska).

U jednoduchého webu s pár stranami se mnohdy nevyplatí instalovat složitější systém. Část práce při "tvrdém" kódování je ale přece jen užitečné nechat skriptům. Třeba generování menu a příslušných hlaviček s obsahem klíčových tagů pro optimalizaci.

Číst dál...

Lekce XSLT transformace a XML Schema validace, aneb jak v PHP vytvořit menu z XML (2)

V předchozím článku jsme definovali vstup a výstup, mohli bychom se rovnou zabývat generováním jednoho z druhého. Ale před tím se ještě podíváme jak ověřit, že náš XML vstup odpovídá schematu, které jsme vytvořili. Není to zbybečné, překlepnout se můžete. Jednou z cest je ověření pomocí XML Schema.

Číst dál...

Lekce XSLT transformace a XML Schema validace, aneb jak v PHP vytvořit menu z XML (3)

Nyní již máme validní podkladový XML dokument. HTML kód z něj vytvoříme XSLT transformací. Podobně jako u validace, i nyní budeme potřebovat další XML soubor, tentokrát s elementy z dalšího jmenného prostoru, označovaného xsl. Elementy z tohoto jmenného prostoru používá XSLT procesor jako instrukce pro zpracování, elementy z jiného prostoru (resp. bez prostoru) zpravidla kopíruje na výstup.

Číst dál...

Lekce XSLT transformace a XML Schema validace, aneb jak v PHP vytvořit menu z XML (4)

Menu máme hotové, ale abychom využili vše, co máme v podkladovém XML souboru, potřebujeme vygenerovat příslušnou hlavičku pro každou stránku s tagy TITLE atd. Nejprve to trochu přeženu a z "cvičných důvodů" vygeneruji místo samotné hlavičky celou HTML stránku, aby byl vidět ucelený výsledek.

Číst dál...

Lekce XSLT transformace a XML Schema validace, aneb jak v PHP vytvořit menu z XML (5)

Když vytváříme stránku, potřebujeme k ostylování nějaký obsah. Abychom si nepřidávali práci, měl by se dát pracovní HTML dokument s tímto obsahem použít jako šablona. Když bude šablona zobrazována prohlížečem úplně stejně, jako původní pracovní dokument (stránka webu), bude to jen dobře. A když zůstane validním HTML dokumentem, o to lépe.

Číst dál...

Lekce XSLT transformace a XML Schema validace, aneb jak v PHP vytvořit menu z XML (6)

Po definici XML podkladu a šablony použijeme upravené původní xsd, xsl a php soubory. První je XML Schema pro validování podkladového XML, soubor allweb.xsd:

Číst dál...

Lekce XSLT ... (7) - konečně "redakční systém"

Máme rozbalený zip archiv z minulého článku, který obsahuje výkonný skript skeletoncreator.php:

Číst dál...