| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175 | 
							- <?php
 
- /**
 
-  * This file is part of PHPPowerPoint - A pure PHP library for reading and writing
 
-  * word processing documents.
 
-  *
 
-  * PHPPowerPoint is free software distributed under the terms of the GNU Lesser
 
-  * General Public License version 3 as published by the Free Software Foundation.
 
-  *
 
-  * For the full copyright and license information, please read the LICENSE
 
-  * file that was distributed with this source code. For the full list of
 
-  * contributors, visit https://github.com/PHPOffice/PHPPowerPoint/contributors.
 
-  *
 
-  * @link        https://github.com/PHPOffice/PHPPowerPoint
 
-  * @copyright   2010-2016 PHPPowerPoint contributors
 
-  * @license     http://www.gnu.org/licenses/lgpl.txt LGPL version 3
 
-  */
 
- namespace PhpOffice\PhpPowerpoint\Tests;
 
- /**
 
-  * DOM wrapper class
 
-  */
 
- class XmlDocument
 
- {
 
-     /**
 
-      * Path
 
-      *
 
-      * @var string $path
 
-      */
 
-     private $path;
 
-     /**
 
-      * DOMDocument object
 
-      *
 
-      * @var \DOMDocument
 
-      */
 
-     private $dom;
 
-     /**
 
-      * DOMXpath object
 
-      *
 
-      * @var \DOMXpath
 
-      */
 
-     private $xpath;
 
-     /**
 
-      * File name
 
-      *
 
-      * @var string
 
-      */
 
-     private $file;
 
-     /**
 
-      * Create new instance
 
-      *
 
-      * @param string $path
 
-      */
 
-     public function __construct($path)
 
-     {
 
-         $this->path = realpath($path);
 
-     }
 
-     /**
 
-      * Get DOM from file
 
-      *
 
-      * @param string $file
 
-      * @return \DOMDocument
 
-      */
 
-     public function getFileDom($file = 'word/document.xml')
 
-     {
 
-         if (null !== $this->dom && $file === $this->file) {
 
-             return $this->dom;
 
-         }
 
-         $this->xpath = null;
 
-         $this->file = $file;
 
-         $file = $this->path . '/' . $file;
 
-         $this->dom = new \DOMDocument();
 
-         $this->dom->load($file);
 
-         return $this->dom;
 
-     }
 
-     /**
 
-      * Get node list
 
-      *
 
-      * @param string $path
 
-      * @param string $file
 
-      * @return \DOMNodeList
 
-      */
 
-     public function getNodeList($path, $file = 'word/document.xml')
 
-     {
 
-         if ($this->dom === null || $file !== $this->file) {
 
-             $this->getFileDom($file);
 
-         }
 
-         if (null === $this->xpath) {
 
-             $this->xpath = new \DOMXpath($this->dom);
 
-         }
 
-         return $this->xpath->query($path);
 
-     }
 
-     /**
 
-      * Get element
 
-      *
 
-      * @param string $path
 
-      * @param string $file
 
-      * @return \DOMElement
 
-      */
 
-     public function getElement($path, $file = 'word/document.xml')
 
-     {
 
-         $elements = $this->getNodeList($path, $file);
 
-         return $elements->item(0);
 
-     }
 
-     /**
 
-      * Get file name
 
-      *
 
-      * @return string
 
-      */
 
-     public function getFile()
 
-     {
 
-         return $this->file;
 
-     }
 
-     /**
 
-      * Get path
 
-      *
 
-      * @return string
 
-      */
 
-     public function getPath()
 
-     {
 
-         return $this->path;
 
-     }
 
-     /**
 
-      * Get element attribute
 
-      *
 
-      * @param   string  $path
 
-      * @param   string  $attribute
 
-      * @param   string  $file
 
-      * @return  string
 
-      */
 
-     public function getElementAttribute($path, $attribute, $file = 'word/document.xml')
 
-     {
 
-         return $this->getElement($path, $file)->getAttribute($attribute);
 
-     }
 
-     /**
 
-      * Get element attribute
 
-      *
 
-      * @param   string  $path
 
-      * @param   string  $attribute
 
-      * @param   string  $file
 
-      * @return  string
 
-      */
 
-     public function attributeElementExists($path, $attribute, $file = 'word/document.xml')
 
-     {
 
-         return $this->getElement($path, $file)->hasAttribute($attribute);
 
-     }
 
-     /**
 
-      * Check if element exists
 
-      *
 
-      * @param   string  $path
 
-      * @param   string  $file
 
-      * @return  string
 
-      */
 
-     public function elementExists($path, $file = 'word/document.xml')
 
-     {
 
-         $nodeList = $this->getNodeList($path, $file);
 
-         return !($nodeList->length == 0);
 
-     }
 
- }
 
 
  |