diff options
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.xml | 10 | ||||
-rw-r--r-- | ext/xmlreader/examples/xmlreader_file.php | 20 | ||||
-rw-r--r-- | ext/xmlreader/examples/xmlreader_relaxNG.php | 25 | ||||
-rw-r--r-- | ext/xmlreader/examples/xmlreader_string.php | 31 | ||||
-rw-r--r-- | ext/xmlreader/examples/xmlreader_validatedtd.php | 18 |
11 files changed, 170 insertions, 0 deletions
diff --git a/ext/xmlreader/examples/dtdexample.dtd b/ext/xmlreader/examples/dtdexample.dtd new file mode 100644 index 0000000..ce53f0b --- /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 0000000..052889c --- /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 0000000..f4357e0 --- /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 0000000..6b0cac1 --- /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 0000000..4adae7b --- /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 0000000..73e1eb6 --- /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.xml b/ext/xmlreader/examples/xmlreader.xml new file mode 100644 index 0000000..4c53743 --- /dev/null +++ b/ext/xmlreader/examples/xmlreader.xml @@ -0,0 +1,10 @@ +<books> + <book num="1"> + <title>The Grapes of Wrath</title> + <author>John Steinbeck</author> + </book> + <book num="2"> + <title>The Pearl</title> + <author>John Steinbeck</author> + </book> +</books> diff --git a/ext/xmlreader/examples/xmlreader_file.php b/ext/xmlreader/examples/xmlreader_file.php new file mode 100644 index 0000000..531e20b --- /dev/null +++ b/ext/xmlreader/examples/xmlreader_file.php @@ -0,0 +1,20 @@ +<?php +$reader = new XMLReader(); +$reader->open('xmlreader.xml'); +while ($reader->read()) { + if ($reader->nodeType != XMLREADER::END_ELEMENT) { + print "Node Name: ".$reader->name."\n"; + print "Node Value: ".$reader->value."\n"; + print "Node Depth: ".$reader->depth."\n"; + if ($reader->nodeType==XMLREADER::ELEMENT && $reader->hasAttributes) { + $attr = $reader->moveToFirstAttribute(); + while ($attr) { + print " Attribute Name: ".$reader->name."\n"; + print " Attribute Value: ".$reader->value."\n"; + $attr = $reader->moveToNextAttribute(); + } + } + print "\n"; + } +} +?> diff --git a/ext/xmlreader/examples/xmlreader_relaxNG.php b/ext/xmlreader/examples/xmlreader_relaxNG.php new file mode 100644 index 0000000..e56739a --- /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_string.php b/ext/xmlreader/examples/xmlreader_string.php new file mode 100644 index 0000000..f267245 --- /dev/null +++ b/ext/xmlreader/examples/xmlreader_string.php @@ -0,0 +1,31 @@ +<?php +$xmlstring = '<books> + <book num="1"> + <title>The Grapes of Wrath</title> + <author>John Steinbeck</author> + </book> + <book num="2"> + <title>The Pearl</title> + <author>John Steinbeck</author> + </book> +</books>'; + +$reader = new XMLReader(); +$reader->XML($xmlstring); +while ($reader->read()) { + if ($reader->nodeType != XMLREADER::END_ELEMENT) { + print "Node Name: ".$reader->name."\n"; + print "Node Value: ".$reader->value."\n"; + print "Node Depth: ".$reader->depth."\n"; + if ($reader->nodeType==XMLREADER::ELEMENT && $reader->hasAttributes) { + $attr = $reader->moveToFirstAttribute(); + while ($attr) { + print " Attribute Name: ".$reader->name."\n"; + print " Attribute Value: ".$reader->value."\n"; + $attr = $reader->moveToNextAttribute(); + } + } + print "\n"; + } +} +?> diff --git a/ext/xmlreader/examples/xmlreader_validatedtd.php b/ext/xmlreader/examples/xmlreader_validatedtd.php new file mode 100644 index 0000000..520a61e --- /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 |