note 63346 added to ref.xmlreader
| From: | jcatalaa at catium dot com | Date: | Mon, 20 Mar 2006 19:52:59 +0000 |
| Subject: | note 63346 added to ref.xmlreader | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-106114@lists.php.net to get a copy of this message | ||
DTD Validation
Parser properties can be set using:
$xml_reader->setParserProperty(XMLReader::CONSTANT_NAME, BoolenValue);
The constant setting in the xmlreader_validatedtd.php example that comes
with the xmlread package results in an error.
Here is how I got it to work...
<?php
$indent = 5; /* Number of spaces to indent per level */
$xml = new XMLReader();
$xml->open("dtdexample.xml");
// CHANGED NEXT TWO LINES TO REMOVE ERROR
// FROM: $xml->setParserProperty(XMLREADER_LOADDTD, TRUE);
$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());
?>
----
Server IP: 66.163.161.117
Probable Submitter: 67.115.118.5
----
X-Spam-Status: No, hits=3.1 required=5.0 tests=DATE_MISSING,FROM_NO_LOWER
autolearn=no version=2.64
----
Manual Page -- http://www.php.net/manual/en/ref.xmlreader.php
Edit -- http://master.php.net/note/edit/63346
Del: integrated -- http://master.php.net/note/delete/63346/integrated
Del: useless -- http://master.php.net/note/delete/63346/useless
Del: bad code -- http://master.php.net/note/delete/63346/bad+code
Del: spam -- http://master.php.net/note/delete/63346/spam
Del: non-english -- http://master.php.net/note/delete/63346/non-english
Del: in docs -- http://master.php.net/note/delete/63346/in+docs
Del: other reasons-- http://master.php.net/note/delete/63346
Reject -- http://master.php.net/note/reject/63346
Search -- http://master.php.net/manage/user-notes.php