diff options
| author | Rob Richards <rrichards@php.net> | 2006-05-10 12:04:46 +0000 |
|---|---|---|
| committer | Rob Richards <rrichards@php.net> | 2006-05-10 12:04:46 +0000 |
| commit | aa38b5572e667a2224a799e7f5d291aa13028a59 (patch) | |
| tree | dc6bde41664c0836da85674276ea593ffb815b30 /ext/xmlreader/tests | |
| parent | ac97b77ed9b3ec175cb8150f6dbb2709666df2ff (diff) | |
| download | php-git-aa38b5572e667a2224a799e7f5d291aa13028a59.tar.gz | |
Synch with HEAD
add readInnerXML, readOuterXML, readString, and setSchema functionality
allow parser options to be passed when loading reader
optimization: use xmlTextReader const functions for string properties
add test
Diffstat (limited to 'ext/xmlreader/tests')
| -rwxr-xr-x | ext/xmlreader/tests/013.phpt | 52 | ||||
| -rwxr-xr-x | ext/xmlreader/tests/013.xsd | 10 |
2 files changed, 62 insertions, 0 deletions
diff --git a/ext/xmlreader/tests/013.phpt b/ext/xmlreader/tests/013.phpt new file mode 100755 index 0000000000..f9dcdeeec7 --- /dev/null +++ b/ext/xmlreader/tests/013.phpt @@ -0,0 +1,52 @@ +--TEST-- +XMLReader: Schema validation +--SKIPIF-- +<?php if (!extension_loaded('xmlreader')) die('skip');?> +<?php if (!method_exists('XMLReader','setSchema')) die('skip XMLReader::setSchema() not supported');?> +--FILE-- +<?php +/* $Id$ */ + +$xml =<<<EOF +<?xml version="1.0" encoding="UTF-8" ?> +<items> + <item>123</item> + <item>456</item> +</items> +EOF; + +$reader = new XMLReader(); +$reader->XML($xml); +$reader->setSchema(dirname(__FILE__) . '/013.xsd'); +while($reader->read()) { + if ($reader->nodeType == XMLReader::ELEMENT && $reader->name == 'item') { + $reader->read(); + var_dump($reader->value); + } +} +$reader->close(); + +?> +===FAIL=== +<?php + +$xml =<<<EOF +<?xml version="1.0" encoding="UTF-8" ?> +<foo/> +EOF; + +$reader = new XMLReader(); +$reader->XML($xml); +$reader->setSchema(dirname(__FILE__) . '/013.xsd'); +while($reader->read() && $reader->nodeType != XMLReader::ELEMENT); +$reader->close(); + +?> +===DONE=== +--EXPECTF-- +string(3) "123" +string(3) "456" +===FAIL=== + +Warning: XMLReader::read(): Element 'foo': %s +===DONE=== diff --git a/ext/xmlreader/tests/013.xsd b/ext/xmlreader/tests/013.xsd new file mode 100755 index 0000000000..50b000b6fc --- /dev/null +++ b/ext/xmlreader/tests/013.xsd @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="items"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="item" type="xsd:integer" minOccurs="0" maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> +</xsd:schema> |
