diff options
author | Rob Richards <rrichards@php.net> | 2004-04-27 10:46:21 +0000 |
---|---|---|
committer | Rob Richards <rrichards@php.net> | 2004-04-27 10:46:21 +0000 |
commit | 80fd6dcaa4eb5033194ef8140392d748c05c9c33 (patch) | |
tree | 7ca368f21b8b3eff9c9fcb5fe868d211c54f75bf /ext/xmlreader/examples | |
parent | 1f22d848e98e66939b8aa765892f9f9b8cd4034c (diff) | |
download | php-git-80fd6dcaa4eb5033194ef8140392d748c05c9c33.tar.gz |
add relaxNG support
set xml base directory so it is consistant
add validation examples
Diffstat (limited to 'ext/xmlreader/examples')
-rw-r--r-- | ext/xmlreader/examples/dtdexample.dtd | 8 | ||||
-rw-r--r-- | ext/xmlreader/examples/dtdexample.xml | 15 | ||||
-rw-r--r-- | ext/xmlreader/examples/relaxNG.rng | 11 | ||||
-rw-r--r-- | ext/xmlreader/examples/relaxNG.xml | 1 | ||||
-rw-r--r-- | ext/xmlreader/examples/relaxNG2.rng | 23 | ||||
-rw-r--r-- | ext/xmlreader/examples/relaxNG3.rng | 8 | ||||
-rw-r--r-- | ext/xmlreader/examples/xmlreader_relaxNG.php | 25 | ||||
-rw-r--r-- | ext/xmlreader/examples/xmlreader_validatedtd.php | 18 |
8 files changed, 109 insertions, 0 deletions
diff --git a/ext/xmlreader/examples/dtdexample.dtd b/ext/xmlreader/examples/dtdexample.dtd new file mode 100644 index 0000000000..ce53f0bc18 --- /dev/null +++ b/ext/xmlreader/examples/dtdexample.dtd @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!ELEMENT LIST (MOVIE+)> +<!ELEMENT MOVIE (TITLE, ORGTITLE, LOC, INFO)> +<!ATTLIST MOVIE ID ID #REQUIRED> +<!ELEMENT TITLE (#PCDATA)> +<!ELEMENT ORGTITLE (#PCDATA)> +<!ELEMENT LOC (#PCDATA)> +<!ELEMENT INFO (#PCDATA)> diff --git a/ext/xmlreader/examples/dtdexample.xml b/ext/xmlreader/examples/dtdexample.xml new file mode 100644 index 0000000000..052889c05d --- /dev/null +++ b/ext/xmlreader/examples/dtdexample.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!DOCTYPE LIST SYSTEM "dtdexample.dtd"> +<LIST> +<MOVIE ID="x200338360"> +<TITLE>Move Title 1</TITLE> +<ORGTITLE/><LOC>Location 1</LOC> +<INFO/> +</MOVIE> +<MOVIE ID="m200338361"> +<TITLE>Move Title 2</TITLE> +<ORGTITLE/> +<LOC>Location 2</LOC> +<INFO/> +</MOVIE> +</LIST> diff --git a/ext/xmlreader/examples/relaxNG.rng b/ext/xmlreader/examples/relaxNG.rng new file mode 100644 index 0000000000..f4357e04ef --- /dev/null +++ b/ext/xmlreader/examples/relaxNG.rng @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0" + datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + +<include href="relaxNG2.rng"> +<define name="TEI.prose"><ref name="INCLUDE"/></define> +</include> +</grammar> + + + diff --git a/ext/xmlreader/examples/relaxNG.xml b/ext/xmlreader/examples/relaxNG.xml new file mode 100644 index 0000000000..6b0cac1225 --- /dev/null +++ b/ext/xmlreader/examples/relaxNG.xml @@ -0,0 +1 @@ +<TEI.2>hello</TEI.2>
\ No newline at end of file diff --git a/ext/xmlreader/examples/relaxNG2.rng b/ext/xmlreader/examples/relaxNG2.rng new file mode 100644 index 0000000000..4adae7b151 --- /dev/null +++ b/ext/xmlreader/examples/relaxNG2.rng @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0" xmlns:t="http://www.thaiopensource.com/ns/annotations" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + + <start> + <ref name="TEI.2"/> + </start> + <define name="IGNORE"> + <notAllowed/> + </define> + <define name="INCLUDE"> + <empty/> + </define> + + + <include href="relaxNG3.rng"/> + + <define name="TEI.2"> + <element name="TEI.2"> + <text/> + </element> + </define> + +</grammar>
\ No newline at end of file diff --git a/ext/xmlreader/examples/relaxNG3.rng b/ext/xmlreader/examples/relaxNG3.rng new file mode 100644 index 0000000000..73e1eb6165 --- /dev/null +++ b/ext/xmlreader/examples/relaxNG3.rng @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0" xmlns:t="http://www.thaiopensource.com/ns/annotations" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + + <define name="TEI.prose" combine="interleave"> + <ref name="IGNORE"/> + </define> + +</grammar>
\ No newline at end of file diff --git a/ext/xmlreader/examples/xmlreader_relaxNG.php b/ext/xmlreader/examples/xmlreader_relaxNG.php new file mode 100644 index 0000000000..e56739a2fb --- /dev/null +++ b/ext/xmlreader/examples/xmlreader_relaxNG.php @@ -0,0 +1,25 @@ +<?php +$indent = 5; /* Number of spaces to indent per level */ + +$reader = new XMLReader(); +$reader->open('relaxNG.xml'); +/* +Example setting relaxNG using string: +$reader->setRelaxNGSchemaSource(file_get_contents('relaxNG.rng')); +*/ +if ($reader->setRelaxNGSchema('relaxNG.rng')) { + while ($reader->read()) { + /* Print node name indenting it based on depth and $indent var */ + print str_repeat(" ", $reader->depth * $indent).$reader->name."\n"; + } +} + +print "\n"; + +if (! $reader->isValid()) { + print "Document is not valid\n"; +} else { + print "Document is valid\n"; +} + +?>
\ No newline at end of file diff --git a/ext/xmlreader/examples/xmlreader_validatedtd.php b/ext/xmlreader/examples/xmlreader_validatedtd.php new file mode 100644 index 0000000000..5173154f5a --- /dev/null +++ b/ext/xmlreader/examples/xmlreader_validatedtd.php @@ -0,0 +1,18 @@ +<?php +$indent = 5; /* Number of spaces to indent per level */ + +$xml = new XMLReader(); +$xml->open("dtdexample.xml"); +$xml->setParserProperty(XMLREADER_LOADDTD, TRUE); +$xml->setParserProperty(XMLREADER_VALIDATE, TRUE); +while($xml->read()) { + /* Print node name indenting it based on depth and $indent var */ + print str_repeat(" ", $xml->depth * $indent).$xml->name."\n"; + if ($xml->hasAttributes) { + $attCount = $xml->attributeCount; + print str_repeat(" ", $xml->depth * $indent)." Number of Attributes: ".$xml->attributeCount."\n"; + } +} +print "\n\nValid:\n"; +var_dump($xml->isValid()); +?>
\ No newline at end of file |