PHP5: ext/dom: some documentation code

From: Date: Tue, 17 Feb 2004 02:11:16 +0000
Subject: PHP5: ext/dom: some documentation code
Groups: php.xml.dev 
Request: Send a blank email to php-xml-dev+get-317@lists.php.net to get a copy of this message
hello at all, maybe some other people need a bit more documentation... hope you'll enjoy. Sorry for the heavy post. so far, vivi here it is: <?php /* DomCoreClass Documentation */ /* Last modified: 2004-02-17 02:50 */ /* by Vivian Steller <vivi@eecoo.de> */ /* I wrote this document to get familiar with the new DOM Implementation of PHP5 based on LibXML2. Maybe I can help other programmers who can't await the official release of PHP5 and dedicated documentations with this document. I have to admit that it isn't that professional to write this very 'technical' document without the help of the new reflection classes - maybe it would be better, I haven't tried... buh. So, if you find a more proper documentation or if you recognize - mistakes in my code - changes made to the source code of ext/dom - differences to the W3C-Standard (maybe only naming- conventions etc.) - other improvements PLEASE LET OUS KNOW!! Links: You can download this file and newer versions from: http://www.eecoo.de/downloads/domdocumentation.txt Have a look at the current developement of ext/dom: http://cvs.php.net/cvs.php/php-src/ext/dom The W3C DOM Documentation is the "big guideline": http://www.w3.org/TR/2004/PR-DOM-Level-3-Core-20040205/core.html Have a lot of fun... */ class DomException extends exception { } class DomStringList { public $length = 0; // readonly public function item($index) { // not yet implemented } } class DomNamelist { public $length = 0; // readonly public function getName($index) { // not yet implemented } public function getNamespaceURI($index) { // not yet implemented } } class DomImplementationList { public $length = 0; // readonly public function item($index) { // not yet implemented } } class DomImplementationSource { public function getDomImplementation($features) { // not yet implemented } public function getDomImplementations($features) { // not yet implemented } } class DomImplementation { public function hasFeature($feature, $version) { } public function createDocumentType($qualifiedName, $publicId, $systemId) { } public function createDocument($namespaceURI, $qualifiedName, $doctype) { } public function getFeature($feature, $version) { } } class DomNode { public $nodeName; // readonly public $nodeValue; public $nodeType; // readonly public $parentNode; // readonly public $childNodes; // readonly, Type: nodelist public $firstChild; // readonly public $lastChild; // readonly public $previousSibling; // readonly public $nextSibling; // readonly public $attributes; // readonly, Type: namednodemap public $ownerDocument; // readonly public $namespaceURI; // readonly public $prefix; public $localName; // readonly public $baseURI; // readonly public $textContent; public function insertBefore($newChild, $refChild) { return $newChild; } public function replaceChild($newChild, $oldChild) { return $oldChild; } public function removeChild($oldChild) { return $oldChild; } public function appendChild($newChild) { return $newChild; } public function hasChildNodes() { return FALSE; } public function cloneNode($deep = FALSE) { // is it really FALSE?? return $cloneObj; } public function normalize() { } public function isSupported($feature, $version) { return FALSE; } public function hasAttributes() { return FALSE; } public function compareDocumentPosition($otherNode) { // not yet implemented } public function isSameNode($otherNode) { return FALSE; } public function lookupPrefix($namespaceURI) { return $prefix; } public function isDefaultNamespace($namespaceURI) { return FALSE; } public function lookupNamespaceUri($prefix) { return $namespaceURI; } public function isEqualNode($otherNode) { // not yet implemented } public function getFeature($feature, $version) { // not yet implemented } public function setUserData($key, $data, $handler) { // not yet implemented } public function getUserData($key) { // not yet implemented } } class DomNamespaceNode { // no documentation available } class DomDocumentFragment extends DomNode { public function DomDocumentFragment() { } } class DomDocument extends DomNode { public $doctype; // readonly public $implementation; // readonly public $documentElement; // readonly public $actualEncoding; // readonly, W3C: inputEncoding public $encoding; // Type: String, has to be proper Enctype, W3C: xmlEncoding public $standalone; // Type: Boolean, W3C: xmlStandalone public $version; // W3C: xmlVersion public $strictErrorChecking = TRUE; public $formatOutput; // Type: Boolean, W3C: ?? public $validateOnParse; // Type: Boolean, W3C: ?? public $resolveExternals; // Type: Boolean, W3C: ?? public $preserveWhiteSpace; // Type: Boolean, W3C: ?? public $substituteEntities; // Type: Boolean, W3C: ?? public $documentURI; public $config; // readonly, Type: DomConfiguration, W3C: domConfig public function __construct($version = "1.0", $encoding = "") { return $doc; } public function DomDocument($version = "1.0", $encoding = "") { return $doc; } public function createElement($tagName, $data = "") { return $newElement; } public function createDocumentFragment() { return $newDocumentFragment; } public function createTextNode($data) { return $newTextNode; } public function creatDommment($data) { return $newComment; } public function createCDATASection($data) { return $newCDATASection; } public function createProcessingInstruction($target, $data = "") { return $newProcessingInstruction; } public function createAttribute($name) { return $newAttribute; } public function createEntityReference($name) { return $newEntityReference; } public function getElementsByTagname($tagName) { return $domNodeList; } public function importNode($importedNode, $deep = FALSE) { return $importedNode; } public function createElementNS($namespaceURI, $qualifiedName) { return $newElementNS; } public function createAttributeNS($namespaceURI, $qualifiedName) { return $newAttributeNS; } public function getElementsByTagNameNS($namespaceURI, $localName) { return $domNodeList; } public function getElementById($elementId) { return $foundElement; } public function adoptNode($sourceNode) { // not yet implemented } public function normalizeDocument () { } public function renameNode($node, $namespaceURI, $qualifiedName) { // not yet implemented } // ?? i'm not sure about the following methods, sorry public function load($sourceFilename) { // static call return $parsedDoc; // nonstatic call return FALSE; } public function save($filename) { return $bytesWritten; // or FALSE } public function loadXML($sourcDomde) { // static call return $parsedDoc; // nonstatic call return FALSE; } public function saveXML($node = FALSE) { return $xmlCode; // or FALSE } public function validate() { return FALSE; } public function xinclude() { return FALSE; } public function loadHTML($sourcDomde) { // static call return $parsedDoc; // nonstatic call return FALSE; } public function loadHTMLFile($sourceFilename) { // static call return $parsedDoc; // nonstatic call return FALSE; } public function saveHTML() { return $htmlCode; } public function saveHTMLFile($filename) { return $bytesWritten; // or FALSE } public function schemaValidate($sourceFilename) { return FALSE; } public function schemaValidateSource($sourcDomde) { return FALSE; } public function relaxNGValidate($sourceFilename) { return FALSE; } public function relaxNGValidateSource($sourcDomde) { return FALSE; } } class DomNodelist { public $length = 0; // readonly public function item($index) { return $itemNode; } } class DomNamedNodeMap { public $length = 0; // readonly public function getNamedItem($name) { return $itemNode; } public function setNamedItem($node) { // not yet implemented } public function removeNamedItem($name) { // not yet implemented } public function item($index) { return $itemNode; } public function getNamedItemNS($namespaceURI, $localName) { return $itemNode; } public function setNamedItemNS($node) { // not yet implemented } public function removeNamedItemNS($namespaceURI, $localName) { // not yet implemented } } class DomCharacterData extends DomNode { public $data; public $length = 0; // readonly public function substringData($offset, $count) { return $dataPart; } public function appendData($data) { return TRUE; // W3C: void is returned } public function insertData($offset, $data) { return TRUE; // W3C: void is returned } public function deleteData($offset, $count) { return TRUE; // W3C: void is returned } public function replaceData($offset, $count, $data) { return TRUE; // W3C: void is returned } } class DomAttr extends DomNode { public $name; // readonly public $specified; // readonly, Type: Boolean, [TODO] public $value; public $ownerElement; // readonly, Type: DomElement public $schemaTypeInfo; // readonly, [TODO] public function __construct($name, $value = "") { return $attrNode; } public function DomAttr($name, $value = "") { return $attrNode; } public function isId() { return FALSE; } } class DomElement extends DomNode { public $tagName; // readonly public $schemaTypeInfo; // readonly, [TODO] public function __construct($tagName, $value = "") { return $elementNode; } public function DomElement($tagName, $value = "") { return $elementNode; } public function getAttribute($name) { return $value; } public function setAttribute($name, $value) { } public function removeAttribute($name) { } public function getAttributeNode($name) { return $attrNode; } public function setAttributeNode($newAttr) { return $newAttr; } public function removeAttributeNode($oldAttr) { return $oldAttr; } public function getElementsByTagName($name) { return $domNodeList; } public function getAttributeNS($namespaceURI, $localName) { return $value; } public function setAttributeNS($namespaceURI, $localName, $value) { } public function removeAttributeNS($namespaceURI, $localName) { } public function getAttributeNodeNS($namespaceURI, $localName) { return $domAttr; } public function setAttributeNodeNS($newAttr) { return $newAttr; } public function getElementsByTagNameNS($namespaceURI, $localName) { return $domNodeList; } public function hasAttribute($name) { return FALSE; } public function hasAttributeNS($namespaceURI, $localName) { return FALSE; } public function setIdAttribute($name, $isId) { // not yet implemented } public function setIdAttributeNS($namespaceURI, $localName, $isId) { // not yet immplemented } public function setIdAttributeNode($idAttr, $isId) { // not yet implemented } } class DomText extends DomCharacterData { public $wholeText; // readonly public function __construct($value = "") { return $textNode; } public function DomText($value = "") { return $textNode; } public function splitText($offset) { return $domText; } public function isWhiteSpaceInElementContent() { return FALSE; } public function replaceWholeText($content) { // not yet implemented } } class DomComment extends DomCharacterData { public function __construct($value = "") { return $commentNode; } public function DomComment($value = "") { return $commentNode; } } class DomTypeInfo { // not yet implemented public $typeName; // readonly, [TODO] public $typeNamespace; // readonly, [TODO] } class DomUserDataHandler { // not yet implemented public function handle($operation, $key, $data, $source, $destination) { // not yet implemented } } class DomError { // not yet implemented public $severity; // readonly, [TODO] public $message; // readonly, [TODO] public $type; // readonly, [TODO] public $relatedExeption; // readonly, Type: Exception, [TODO] public $relatedData; // readonly, Type: DomNode, [TODO] public $location; // readonly, Type: DomLocator, [TODO] } class DomErrorHandler { // not yet implemented public function handleError($error) { // not yet implemented } } class DomLocator { // not yet implemented public $lineNumber; // readonly, [TODO] public $columnNumber; // readonly, [TODO] public $offset; // readonly, [TODO] public $relatedNode; // readonly, Type: DomNode, [TODO] public $uri; // readonly, [TODO] } class DomConfiguration { // not yet implemented public function setParameter($name, $value) { // not yet implemented } public function getParameter($name) { // not yet implemented } public function canSetParameter($name, $value) { // not yet implemented } } class DomCDATASection extends DomText { public function __construct($value) { return $cdataSectionNode; } public function DomCDATASection($value) { // [FIXME] originally named '"DomCDATASection"' including quotes! return $cdataSectionNode; } } class DomDocumentType extends DomNode { // not yet implemented public $name; // readonly public $entities; // readonly, Type: DomNamedNodeMap public $notations; // readonly, Type: DomNamedNodeMap public $publicId; // readonly public $systemId; // readonly public $internalSubset; // readonly } class DomNotation extends DomNode { // [FIXME] It doesn't really inherits methods of DomNode as documented in source code // not yet implemented public $publicId; // readonly public $systemId; // readonly } class DomEntity extends DomNode { // not yet implemented public $publicId; // readonly public $systemId; // readonly public $notationName; // readonly public $actualEncoding; // [TODO] public $encoding; // [TODO] public $version; // [TODO] } class DomEntityReference extends DomNode { public function __construct($name) { return $domEntityReferenceNode; } public function DomEntityReference($name) { return $domEntityReferenceNode; } } class DomProcessingInstruction extends DomNode { public $target; // readonly public $data; public function __construct($target, $data = "") { return $domProcessingInstructionNode; } public function DomProcessingInstruction($target, $data = "") { // [FIXME] originally named '"DomCDATASection"' including quotes! return $domProcessingInstructionNode; } } class DomString_extend { // not yet implemented public function findOffset16($offset16) { // not yet implemented } public function findOffset32($offset32) { // not yet implemented } } class DomXPath { public function __construct($doc) { return $domXPath; } public function DomXPath($doc) { return $domXPath; } public function register_namespace($prefix, $uri) { return FALSE; } public function query($expression, $context = FALSE) { return $domNodeList; } } ?>

« previous php.xml.dev (#317) next »