Nápověda:Použití RELAX NG pro popis XML
Z VirtlabWiki
| Verze z 14:21, 15. 10. 2007 Vav166 (Diskuse | příspěvky) ← Předchozí porovnání  | 
				Verze z 09:49, 6. 12. 2007 Zap113 (Diskuse | příspěvky) (→Jak na validaci) Následující porovnání →  | 
			||
| Řádka 19: | Řádka 19: | ||
| Validace proti RELAX NG: | Validace proti RELAX NG: | ||
| - | xmmlint -relaxng relax_schema.rng k_validaci.xml | + | xmllint -relaxng relax_schema.rng k_validaci.xml | 
| ''Tento příkaz načte schéma ze souboru relax_schema.rng, zkontroluje, zda toto schéma neobsahuje syntaktickou chybu a poté jej aplikuje na xml soubor k validaci. Na výstup pak vypíše odpověď, zda soubor validací prošel nebo ne. Součástí výstupu je také celý validovaný soubor. Ten však nemusíme vždy chtít vypisovat - v tom případě použijeme ještě parametr -noout, který způsobí potlačení "zbytečných" výpisů.'' | ''Tento příkaz načte schéma ze souboru relax_schema.rng, zkontroluje, zda toto schéma neobsahuje syntaktickou chybu a poté jej aplikuje na xml soubor k validaci. Na výstup pak vypíše odpověď, zda soubor validací prošel nebo ne. Součástí výstupu je také celý validovaný soubor. Ten však nemusíme vždy chtít vypisovat - v tom případě použijeme ještě parametr -noout, který způsobí potlačení "zbytečných" výpisů.'' | ||
Verze z 09:49, 6. 12. 2007
O co jde?
RELAX NG (REgular LAnguage for XML Next Generation) je jeden z mnoha jazyků pro popis struktury XML. Narozdíl od DTD, které je starší, umožňuje použití datových typů. Můžeme například specifikovat, že jde o číslo nebo řetězec a navíc určit jeho minimální a maximální hodnotu.
Např. chceme, aby element "heslo" byl řetězec s minimálně 4 a maximálně 20 znaky:
<element name="heslo">
  <data type="string">
    <param name="minLength">4</param>
    <param name="maxLength">20</param>
  </data>
</element>
Jak na validaci
Přestože se nejedná o jazyk oficiálně schválený W3C (tato skupina vytvořila vlastní XML schéma), je hojně používaný (dokonce prý i některými pracovními skupinami ve W3C :-) ).
Pro validaci XML dokumentů proti RELAX NG existuje množství nástrojů. V linuxu je standardně obsažena utilitka xmllint, která dokáže XML validovat proti mnoha jazykům (DTD, W3C XML schema, RELAX NG,....)
Validace proti RELAX NG:
xmllint -relaxng relax_schema.rng k_validaci.xml
Tento příkaz načte schéma ze souboru relax_schema.rng, zkontroluje, zda toto schéma neobsahuje syntaktickou chybu a poté jej aplikuje na xml soubor k validaci. Na výstup pak vypíše odpověď, zda soubor validací prošel nebo ne. Součástí výstupu je také celý validovaný soubor. Ten však nemusíme vždy chtít vypisovat - v tom případě použijeme ještě parametr -noout, který způsobí potlačení "zbytečných" výpisů.
Odkazy:
