Nápověda:Validace XML v PHP

Z VirtlabWiki

(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
Verze z 20:46, 21. 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>&lt;!DOCTYPE </code>) - přímo nebo odkazem. DTD soubor, proti kterému se soubor ověřuje, musí být zadán '''uvnitř''' souboru (klauzule <code>&lt;!DOCTYPE </code>) - přímo nebo odkazem.
- 
Pokud máte XML data uložena v proměnné, tak místo <code>$dom-&gt;load($path)</code> použijte <code>$dom-&gt;loadXML($string)</code> Pokud máte XML data uložena v proměnné, tak místo <code>$dom-&gt;load($path)</code> použijte <code>$dom-&gt;loadXML($string)</code>
----- 
<pre> <pre>
$path = "http://www.w3.org/TR/xhtml1/"; $path = "http://www.w3.org/TR/xhtml1/";
Řádka 18: Řádka 16:
else else
print("Document is VALID!\n"); print("Document is VALID!\n");
 +</pre>
 +
 +
 +== 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> </pre>

Aktuální verze

Tenhle typ validace lze použít jen v PHP5.

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");


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");
Osobní nástroje