Jiří Kosek: PHP a XML

Seznam příkladů


Kapitola 1: Syntaxe XML

1.1 Ukázka interních textových entit – syntaxe/interni-entity.xml

1.2 Externí entita – syntaxe/kapitola.xml

1.3 Soubor načítající externí entitu – syntaxe/externi-entity.xml

1.4 Složení dokumentu pomocí XInclude – syntaxe/xinclude.xml

1.5 Definice sdílených elementů – syntaxe/definice.xml

1.6 Nahrazení interních entit pomocí XInclude – syntaxe/xinclude-fragmenty.xml

1.8 Ukázka katalogového souboru – data/catalog.xml

Kapitola 2: Přehled podpory XML v PHP5

2.1 Ukázkový dokument RSS – data/luparss.xml

2.2 Čtení XML pomocí SimpleXML – prehled/simplexml.php

2.3 Čtení XML pomocí rozhraní SAX – prehled/sax.php

2.4 Čtení XML pomocí rozhraní DOM – prehled/dom.php

2.5 Dotazování pomocí XPathu – prehled/xpath.php

2.6 XSLT styl pro převod RSS do HTML – prehled/rss2html.xsl

2.7 Transformace dokumentu XML – prehled/xslt.php

2.8 Sekvenční čtení XML – prehled/xmlreader.php

2.9 Jednoduchý klient webové služby – prehled/pocasi.php

Kapitola 3: (Ne)podpora Unicode v PHP

3.1 Skript vypisující délku řetězců (skript je v kódování windows-1250) – unicode/retezec-windows-1250.php

3.2 Skript vypisující délku řetězců (skript je v kódování utf-8) – unicode/retezec-utf-8.php

3.3 Ruční překódování pomocí iconv – unicode/retezec-utf-8-iconv.php

3.4 Dokument XML v kódování windows-1250 – data/konik.win.xml

3.5 Skript pro čtení XML dokumentů uložený v kódování windows-1250 – unicode/text-xml-windows-1250.php

3.6 Překódování řetězců z dokumentu XML do kódování použitého skriptem – unicode/text-xml-prekodovani-windows-1250.php

3.7 Korektní přístup ke zpracování řetězců využívá knihovnu mbstring – unicode/mbstring-utf-8.php

3.8 Demonstrace některých funkcí knihovny mbstring – unicode/pretizeni/mbstring-demo.php

3.9 Skript generující hlavičky HTTP uložený v UTF-8 s BOM – unicode/cookie-bom.php

3.10 Porovnávání normalizovaných řetězců – unicode/normalizace.php

Kapitola 4: SimpleXML

4.1 Ukázkový dokument XML s fakturou – data/faktura.xml

4.2 Ukázka načítání dokumentu přes SimpleXML – simplexml/faktura.php

4.3 Ukázkový dokument se jmennými prostory – data/ns.xml

4.4 Práce se jmennými prostory v SimpleXML – simplexml/ns.php

4.5 Ukázka použití XPathu v SimpleXML – simplexml/xpath.php

4.6 Modifikace dokumentu pomocí SimpleXML – simplexml/modifikace.php

4.7 Ukázka rozšíření objektu SimpleXMLElement – simplexml/rozsireni-om.php

4.8 Čtení dat z webové služby Amazonu – simplexml/amazon.php

Kapitola 5: SAX

5.1 Ukázkový dokument XML – sax/soubor.xml

5.2 Ukázka obsluhy různých událostí – sax/udalosti.php

5.3 Obsluha událostí jako metody – sax/udalosti-objekt.php

5.4 Obsluha událostí jako metody jiným způsobem – sax/udalosti-objekt2.php

5.5 Přepínání obsluhy událostí – sax/prepinani-obsluhy.php

Kapitola 6: DOM

6.1 Zjišťování základních informací o dokumentu – dom/vlastnosti-dokumentu.php

6.2 Ukázka čtení jména elementu – dom/jmeno-elementu.php

6.3 Čtení obsahu elementu pomocí DOM – dom/cteni-spatne.php

6.4 Načtení dokumentu s vynecháním textových uzlů s bílými znaky – dom/cteni-lepe.php

6.5 Výběr elementu podle názvu – dom/cteni-jeste-lepe.php

6.6 Průchod seznamem uzlů – dom/faktura-polozky-bez-foreach.php

6.7 Průchod seznamem uzlů pomocí foreach – dom/faktura-polozky.php

6.8 Průchod DOM stromu pomocí rekurze – dom/pruchod.php

6.9 Jednoduchá implementace NodeIteratoru – dom/NodeIterator.php

6.10 Ukázka využití NodeIteratoru – dom/ni.php

6.11 Výběr elementu podle ID – dom/vyber-podle-id.php

6.12 Vypsání všech atributů v dokumentu – dom/vypis-atributy.php

6.13 Čtení atributu přímo na elementu – dom/vypis-atributy-id.php

6.14 Přidání uzlu jako poslední dítě – dom/append-child.php

6.15 Přidání uzlu na libovolnou pozici – dom/insert-before.php

6.16 Odstranění uzlu – dom/remove-child.php

6.17 Další použití odpojeného uzlu – dom/remove-and-append.php

6.18 Záměna uzlu – dom/replace-child.php

6.19 Kopírování uzlů – dom/clone-node.php

6.20 Kopírování uzlů mezi různými DOM stromy – dom/import-node.php

6.21 Práce s atributy – dom/zmena-atributu.php

6.22 Vkládání elementu doprostřed textového uzlu – dom/nl2br.php

6.23 Vytvoření nového dokumentu XML pomocí – dom/novy-dokument.php

6.24 Práce s fragmenty XML – dom/fragment.php

6.25 Ukázka konfigurace parseru starší metodou – dom/nacitani.php

6.26 Ruční obsloužení chyby při načítání dokumentu – dom/obsluha-chyb-navratovy-kod.php

6.27 Přístup k chybám libxml2 – dom/obsluha-chyb.php

6.28 Obsluha výjimky vzniklé při nekorektní manipulaci s DOM stromem – dom/obsluha-chyb-vyjimky.php

6.29 Načítání HTML do DOM stromu – dom/html-vypis-odkazu.php

6.30 Automatické opravení chyb v HTML kódu – dom/html-opraveni-chyb.php

6.31 Vypsání jen části opraveného fragmentu HTML – dom/html-opraveni-chyb-ve-fragmentu.php

6.32 Rozšíření DOM rozhraní o vlastní metody – dom/vlastni-rozsireni.php

Kapitola 7: XMLReader

7.1 Čtení obsahu elementu – xmlreader/vypis-obsahu-elementu.php

7.2 Konverze na DOM uzel – xmlreader/konverze-na-dom.php

7.3 Přeskakování uzlů pomocí metody next() – xmlreader/preskakovani-uzlu.php

7.4 Vypsání atributu s předem známým jménem – xmlreader/vypis-atributy-id.php

7.5 Zpracování všech atributů – xmlreader/vypis-atributy.php

Kapitola 8: XPath

8.1 Příklady využití XPathu v rozhraní DOM – xpath/statistika.php

8.2 Dotazování v dokumentech používajících jmenné prostory – xpath/xpath-ns.php

Kapitola 9: Schémata

9.1 Ukázkový dokument XML – schema/zamestnanci.xml

9.2 Ukázka DTD – schema/zamestnanci.dtd

9.3 Ukázka W3C XML Schema – schema/zamestnanci.xsd

9.4 Ukázka RELAX NG schématu – schema/zamestnanci.rng

9.5 Ukázka RELAX NG schématu v kompaktní syntaxi – schema/zamestnanci.rnc

9.6 Ukázka schématu ve Schematronu – uvod/zamestnanci.sch

9.12 Ukázka schématu ve Schematronu – schema/zamestnanci.sch

9.13 Schematron vložený do WXS schématu – schema/zamestnanci-limit-platu.xsd

9.14 Schematron vložený do RELAX NG – schema/zamestnanci-limit-platu.rng

9.15 Ukázka síly Schematronu – schema/objednavka.xml

9.16 Ukázka síly Schematronu – schema/sklad.xml

9.17 Ukázka síly Schematronu – schema/objednavka.sch

Kapitola 10: Validace

10.1 Validace DOM dokumentu oproti DTD – validace/dom-dtd.php

10.2 Validace DOM dokumentu oproti WXS – validace/dom-wxs.php

10.3 Validace SimpleXML dokumentu oproti DTD – validace/simplexml-dtd.php

10.4 Validace dokumentu oproti DTD při použití XMLReaderu – validace/xmlreader-dtd.php

10.5 Validace dokumentu oproti RELAX NG při použití XMLReaderu – validace/xmlreader-rng.php

10.6 Validace dokumentu oproti W3C XML schématu při použití XMLReaderu – validace/xmlreader-wxs.php

10.7 Validace oproti Schematronu – validace/schematron.php

10.8 Schéma pro jednoduché příspěvky – validace/prispevek.rng

10.9 Využití validace při kontrole příspěvků – validace/formular.php

Kapitola 11: XSLT

11.1 Ukázkový dokument XML – data/katalog.xml

11.2 Jednoduchý styl XSLT – xslt/katalog.xsl

11.3 Zpracování katalogu bez použití šablon – xslt/katalog-jinak.xsl

11.4 Otočení katalogu o 90° – xslt/katalog-otoceny.xsl

11.5 Seřazení katalogu – xslt/katalog-otoceny-serazeny.xsl

11.6 Řazení u <xsl:apply-templates> – xslt/katalog-razeni.xsl

11.7 Podmíněné zpracování – xslt/katalog-podminky.xsl

11.8 Ukázkový dokument se jmennými prostory – přehled nových zpráv ve formátu Atom – data/atom.xml

11.9 Převod formátu Atom do HTML – xslt/atom2html.xsl

11.10 Převod formátu Atom do XHTML – xslt/atom2xhtml.xsl

11.11 Využití parametrů v XSLT – xslt/katalog-parametry.xsl

11.12 Skript pro spuštění libovolné transformace – xslt/xslt.php

11.13 Skript předávající parametry transformaci – xslt/katalog.php

11.14 Transformace spolupracující se skriptem – xslt/katalog-interaktivni.xsl

11.15 Definice PHP funkcí pro volání z XSLT – xslt/funkce.php

11.16 Volání funkcí PHP z XSLT – xslt/php-funkce.xsl

11.17 Jednoduchá stránka používající zkratky – xslt/stranka.html

11.18 Soubor s definicí zkratek – xslt/zkratky.xml

11.19 Stránka po doplnění zkratek – xslt/doplnena-stranka.html

11.20 Transformace doplňující definice zkratek – xslt/doplneni-zkratek.xsl

11.21 Skript aplikující transformaci na dokument HTML – xslt/doplneni-zkratek.php

11.22 Doplnění menu do libovolné stránky HTML – xslt/pridej-menu.xsl

11.23 Spuštění transformací v Javascriptu – xslt/katalog.html

11.24 Styl spolupracující s Javascriptem – xslt/katalog-interaktivni-js.xsl

Kapitola 12: Webové služby

12.3 Ukázka WSDL – ws/bmi-service.wsdl

12.4 Volání jednoduché webové služby – ws/bmi-klient.php

12.5 Volání jednoduché webové služby pomocí vygenerované proxy třídy – ws/bmi-automaticky-klient.php

12.6 Sledování provozu při použití webových služeb – ws/sledovani.php

12.7 Služba pro výpočet BMI – ws/bmi-service.php

12.8 Webová služba inspirovaná přístupem REST – ws/rest-bmi-service.php

12.9 Klient webové služby inspirované přístupem REST – ws/rest-bmi-klient.php

12.10 Serverová část AJAXové aplikace – ws/rest-get-bmi.php

12.11 Jednoduchá AJAXová aplikace – ws/ajax.html

12.12 Zjednodušený AJAXový klient využívající javascriptovou knihovnu – ws/ajax-sarissa.html

Kapitola 13: Zápis XML

13.1 Jednoduchá „databáze“ článků pro export – zapis/clanky.php

13.2 Přímý zápis XML – zapis/primy-zapis-chybne.php

13.3 Správný postup při přímém generování XML – zapis/primy-zapis.php

13.4 Generování XML pomocí DOM – zapis/zapis-pomoci-dom.php

13.5 Generování XML pomocí třídy XMLWriter – zapis/zapis-pomoci-xmlwriter.php


© Jiří Kosek 2009