56 $dom->myDOMNode->loadXML($str);
61 function xpath_eval($xpath_context,$eval_str,$contextnode=null)
64 return $xpath_context->query($eval_str,$contextnode);
79 $this->myDOMNode=$aDOMAttr;
84 return $this->myDOMNode->name;
89 return $this->myDOMNode->specified;
94 return $this->myDOMNode->value;
105 $this->myDOMNode=
new DOMDocument();
113 $myAttr=$this->myDOMNode->createAttribute(
$name);
114 $myAttr->value=$value;
122 return new php4DOMNode($this->myDOMNode->createCDATASection($content),$this);
142 return new php4DOMNode($this->myDOMNode->createTextNode($content),$this);
148 return new php4DOMElement($this->myDOMNode->documentElement,$this);
154 return $this->myDOMNode->save(
$filename);
160 return $this->myDOMNode->saveXML();
166 return new php4DOMElement($this->myDOMNode->getElementById($id),$this);
172 $myDOMNodeList=$this->myDOMNode->getElementsByTagName(
$name);
175 if (isset($myDOMNodeList))
176 while ($node=$myDOMNodeList->item($i))
187 return $this->myDOMNode->saveHTML();
193 return new php4DOMElement($this->myDOMNode->documentElement,$this);
202 return $this->myDOMNode->getAttribute(
$name);
208 $myDOMNodeList=$this->myDOMNode->getElementsByTagName(
$name);
211 if (isset($myDOMNodeList))
212 while ($node=$myDOMNodeList->item($i))
223 return $this->myDOMNode->hasAttribute(
$name);
229 return $this->myDOMNode->removeAttribute(
$name);
235 return $this->myDOMNode->setAttribute(
$name,$value);
241 return $this->myDOMNode->tagName;
253 $this->myDOMNode=$aDomNode;
254 $this->myOwnerDocument=$aOwnerDocument;
260 if (
$name==
'type')
return $this->myDOMNode->nodeType;
261 elseif (
$name==
'tagname')
return $this->myDOMNode->tagName;
262 elseif (
$name==
'content')
return $this->myDOMNode->textContent;
265 $myErrors=debug_backtrace();
266 trigger_error(
'Undefined property: '.get_class($this).
'::$'.
$name.
' ['.$myErrors[0][
'file'].
':'.$myErrors[0][
'line'].
']',E_USER_NOTICE);
286 $myDOMNodeList=$this->myDOMNode->attributes;
289 if (isset($myDOMNodeList))
290 while ($node=$myDOMNodeList->item($i))
292 $nodeSet[]=
new php4DOMAttr($node,$this->myOwnerDocument);
301 $myDOMNodeList=$this->myDOMNode->childNodes;
304 if (isset($myDOMNodeList))
305 while ($node=$myDOMNodeList->item($i))
325 return new php4DOMElement($this->myDOMNode->firstChild,$this->myOwnerDocument);
329 return $this->myDOMNode->textContent;
334 return $this->myDOMNode->hasAttributes();
339 return $this->myDOMNode->hasChildNodes();
350 $myDOMNodeList=$this->myDOMNode->childNodes;
352 if (isset($myDOMNodeList))
353 while ($node=$myDOMNodeList->item($i))
355 if (($node->nodeType==XML_ELEMENT_NODE)||
356 (($node->nodeType==XML_TEXT_NODE)&&!ereg(
'^([[:cntrl:]]|[[:space:]])*$',$node->nodeValue)))
365 return new php4DOMElement($this->myDOMNode->lastChild,$this->myOwnerDocument);
371 $mySubNode=$this->myDOMNode->ownerDocument->createElement(
$name);
372 $mySubNode->appendChild($this->myDOMNode->ownerDocument->createTextNode($content));
373 $this->myDOMNode->appendChild($mySubNode);
379 return new php4DOMElement($this->myDOMNode->nextSibling,$this->myOwnerDocument);
384 return $this->myDOMNode->localName;
389 return $this->myDOMNode->nodeType;
395 return $this->myDOMNode->nodeValue;
406 return new php4DOMElement($this->myDOMNode->parentNode,$this->myOwnerDocument);
411 return $this->myDOMNode->prefix;
416 return new php4DOMElement($this->myDOMNode->previousSibling,$this->myOwnerDocument);
433 if (($this->myDOMNode->hasChildNodes())&&($this->myDOMNode->firstChild->nodeType==XML_TEXT_NODE))
434 $this->myDOMNode->removeChild($this->myDOMNode->firstChild);
435 return $this->myDOMNode->appendChild($this->myDOMNode->ownerDocument->createTextNode($text));
447 $this->myDOMNodelist=$aDOMNodelist;
448 $this->nodeset=array();
450 if (isset($this->myDOMNodelist))
451 while ($node=$this->myDOMNodelist->item($i))
466 $this->myOwnerDocument=$dom_document;
467 $this->myDOMXPath=
new DOMXPath($dom_document->myDOMNode);
470 function query($eval_str,$contextnode)
480 return $this->myDOMXPath->registerNamespace($prefix,$namespaceURI);
484 if (extension_loaded(
'xsl'))
487 function domxml_xslt_stylesheet($xslstring)
490 return new php4DomXsltStylesheet(DOMDocument::loadXML($xslstring));
493 function domxml_xslt_stylesheet_doc($dom_document) {
495 return new php4DomXsltStylesheet($dom_document);
498 function domxml_xslt_stylesheet_file($xslfile) {
500 return new php4DomXsltStylesheet(DOMDocument::load($xslfile));
503 class php4DomXsltStylesheet
505 var $myxsltProcessor;
506 function php4DomXsltStylesheet($dom_document)
509 $this->myxsltProcessor=
new xsltProcessor();
510 $this->myxsltProcessor->importStyleSheet($dom_document);
513 function process($dom_document,$xslt_parameters=array(),$param_is_xpath=
false)
516 foreach ($xslt_parameters as
$param=>$value)
517 $this->myxsltProcessor->setParameter(
'',
$param,$value);
519 $myphp4DOMDocument->myDOMNode=$this->myxsltProcessor->transformToDoc($dom_document->myDOMNode);
520 return $myphp4DOMDocument;
523 function result_dump_file($dom_document,
$filename)
526 $html=$dom_document->myDOMNode->saveHTML();
531 function result_dump_mem($dom_document) {
533 return $dom_document->myDOMNode->saveHTML();