Nápověda:Validace XML v PHP
Z VirtlabWiki
(Rozdíly mezi verzemi)
												
			
			| Verze z 21:51, 18. 2. 2007 Vav166 (Diskuse | příspěvky) ← Předchozí porovnání | Aktuální verze Vav166 (Diskuse | příspěvky) | ||
| Řádka 1: | Řádka 1: | ||
| Tenhle typ validace lze použít '''jen''' v PHP5. | Tenhle typ validace lze použít '''jen''' v PHP5. | ||
| + | == Validace proti DTD == | ||
| Validovaný soubor může být lokální i vzdálený. | Validovaný soubor může být lokální i vzdálený. | ||
| - | |||
| DTD soubor, proti kterému se soubor ověřuje, musí být zadán '''uvnitř''' souboru (klauzule <code><!DOCTYPE </code>) - přímo nebo odkazem. | DTD soubor, proti kterému se soubor ověřuje, musí být zadán '''uvnitř''' souboru (klauzule <code><!DOCTYPE </code>) - přímo nebo odkazem. | ||
| - | |||
| Pokud máte XML data uložena v proměnné, tak místo <code>$dom->load($path)</code> použijte <code>$dom->loadXML($string)</code> | Pokud máte XML data uložena v proměnné, tak místo <code>$dom->load($path)</code> použijte <code>$dom->loadXML($string)</code> | ||
| - | ---- | ||
| <pre> | <pre> | ||
| $path = "http://www.w3.org/TR/xhtml1/"; | $path = "http://www.w3.org/TR/xhtml1/"; | ||
| Řádka 20: | Řádka 18: | ||
| </pre> | </pre> | ||
| - | [[Kategorie:HOW-TO| 2007-02-18]] | + | |
| + | == Validace proti Relax-ng == | ||
| + | Jazyk PHP (ve verzi 5) má přímo zabudovánu podporu pro validaci proti tomuto schématu. Jedná se o několik tříd z rodiny DOM (Document Object Model). | ||
| + | Pro validaci nám stačí napsat pouze pár řádků: | ||
| + | |||
| + | <pre> | ||
| + | $dom = new DOMDocument(); | ||
| + | $dom->load("soubor_k_validaci.xml"); | ||
| + | $vysledek = $d->relaxNGValidate("tady_je_RELAXNG_schema.rng"); | ||
| + | </pre> | ||
| + | |||
| + | [[Kategorie:HOW-TO]] | ||
| + | [[Kategorie:PHP]] | ||
| + | [[Kategorie:XML]] | ||
Aktuální verze
Tenhle typ validace lze použít jen v PHP5.
[editovat]
Validace proti DTD
Validovaný soubor může být lokální i vzdálený.
DTD soubor, proti kterému se soubor ověřuje, musí být zadán uvnitř souboru (klauzule <!DOCTYPE ) - přímo nebo odkazem.
Pokud máte XML data uložena v proměnné, tak místo $dom->load($path) použijte $dom->loadXML($string)
  $path = "http://www.w3.org/TR/xhtml1/";
  //$path = "soubor.xml";
  $dom = new DOMDocument;
  $dom->load($path);
  if(!($dom->validate()))
    die("Document is INVALID!\n");
  else
    print("Document is VALID!\n");
[editovat]
Validace proti Relax-ng
Jazyk PHP (ve verzi 5) má přímo zabudovánu podporu pro validaci proti tomuto schématu. Jedná se o několik tříd z rodiny DOM (Document Object Model). Pro validaci nám stačí napsat pouze pár řádků:
  $dom = new DOMDocument();
  $dom->load("soubor_k_validaci.xml");
  $vysledek = $d->relaxNGValidate("tady_je_RELAXNG_schema.rng");
						
			
		