XML Schémata – skládání schémat
Úvodní rozcvička
-
schéma
zamestnanci.xsdpř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.xmlpřidejte výchozí jmenný prostorhttp://example.com/zamestnanci -
schéma upravte tak, aby podle něj byl dokument
zamestnanci.xmlstále validní
Úkol
-
Upravte
zamestnanci.xsdtak, aby byly zvlášť uvedeny elementy pro externí zaměstnance a zvlášť pro interní zaměstnance. -
Pro využití v jiných schematech v
zamestnanci.xsdvytvořte nový komplexní typzamestnanec-basicInfoType, který bude obsahovat jen jméno, příjmení a email. -
Datový
typ zamestnanecTypenadefinujte tak, aby byl extenzítypu zamestnanec-basicInfoType. -
Typ
externi-zamestnanecTypeainterni-zamestnanecTypevytvoř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 elementbodyv HTML) -
upravte schéma
faktura.xsdtak, 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:annotationje možné používat elementyxs:documentationaxs:appInfopro 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.xsdpřehlednou dokumentaci pomocí zabudované funkce editoru oXygen
Domácí úkol
Skládání schémat
-
do elementu
Notev souborufaktura.isdocdoplňte několik elementů ve jmenném prostoru jazyka XHTML -
k dokumentu připojte schéma
isdoc-invoice.xsdpomocí instrukce<?xml-model(viz http://www.w3.org/TR/xml-model/) -
upravte schéma
isdoc-invoice.xsdtak, 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