XML Schémata – skládání schémat
Úvodní rozcvička
-
schéma
zamestnanci.xsd
převeďte na schéma využívající přístup „slepý benátčan“ a rozšiřte o rozlišení interních a externích zaměstnanců (viz ukázkový souborzamestnanci.xml
) -
do ukázkového dokumentu
zamestnanci.xml
přidejte výchozí jmenný prostorhttp://example.com/zamestnanci
-
schéma upravte tak, aby podle něj byl dokument
zamestnanci.xml
stále validní
Úkol
-
Upravte
zamestnanci.xsd
tak, aby byly zvlášť uvedeny elementy pro externí zaměstnance a zvlášť pro interní zaměstnance. -
Pro využití v jiných schematech v
zamestnanci.xsd
vytvořte nový komplexní typzamestnanec-basicInfoType
, který bude obsahovat jen jméno, příjmení a email. -
Datový
typ zamestnanecType
nadefinujte tak, aby byl extenzítypu zamestnanec-basicInfoType
. -
Typ
externi-zamestnanecType
ainterni-zamestnanecType
vytvořte restrikcí nad abstraktním typem zamestnanecType.-
Interní zaměstnanec má plat a atribut
id
-
Externí zaměstnanec má místo platu element
fakturovana_castka
-
-
Příslušně upravte XML
dokument zamestnanci.xml
.
Skládání schémat
-
vložení schématu definujícího elementy a typy v jiném jmenném prostoru
<xs:import namespace="http://www.w3.org/1999/xhtml" schemaLocation="xhtml1-strict.xsd"/>
-
po importu se lze odkazovat na konkrétní elementy pomocí
ref="prefix:element"
nebo typypomocí type="prefix:typ"
-
prohlédněte si dokument
faktura.xml
, zejména poslední elementkomentář
, který může obsahovat vnořený HTML kód (totéž co elementbody
v HTML) -
upravte schéma
faktura.xsd
tak, aby umělo zvalidovat elementkomentář
. Elementkomentář
zadefinuje pomocí datového typu pro blokové elementy z XHTML. -
pokud jen chceme velké schéma „rozbít“ na menší části, které definují elementy ve stejném jmenném prostoru, použijeme:
<xs:include schemaLocation="modul.xsd"/>
Dokumentace a anotace
-
uvnitř elementu
xs:annotation
je možné používat elementyxs:documentation
axs:appInfo
pro vkládání dokumentace a pomocných metainformací -
podívejte se na dokumentaci uvnitř schématu
isdoc-invoice.xsd
-
vygenerujte si pro schéma
isdoc-invoice.xsd
přehlednou dokumentaci pomocí zabudované funkce editoru oXygen
Domácí úkol
Skládání schémat
-
do elementu
Note
v souborufaktura.isdoc
doplňte několik elementů ve jmenném prostoru jazyka XHTML -
k dokumentu připojte schéma
isdoc-invoice.xsd
pomocí instrukce<?xml-model
(viz http://www.w3.org/TR/xml-model/) -
upravte schéma
isdoc-invoice.xsd
tak, aby byl dokument s fakturou validní a jako poznámku u řádky faktury šlo používat elementy XHTML -
pro upravené schéma vygenerujte dokumentaci
-
odevzdejte všechny potřebné soubory