@@ -17,14 +17,14 @@ |
||
17 | 17 | /** |
18 | 18 | * @return DOMNodeList |
19 | 19 | */ |
20 | - protected function getNodeListFromQueryPath(){ |
|
20 | + protected function getNodeListFromQueryPath() { |
|
21 | 21 | |
22 | - $xpath = new DOMXPath( $this->dom ); |
|
22 | + $xpath = new DOMXPath($this->dom); |
|
23 | 23 | |
24 | - if ( $this->isXmlFragment ) { |
|
25 | - $xmlNodeList = $xpath->query( "/" . self::fragmentDocumentRoot ); |
|
24 | + if ($this->isXmlFragment) { |
|
25 | + $xmlNodeList = $xpath->query("/".self::fragmentDocumentRoot); |
|
26 | 26 | } else { |
27 | - $xmlNodeList = $xpath->query( "*" ); |
|
27 | + $xmlNodeList = $xpath->query("*"); |
|
28 | 28 | } |
29 | 29 | |
30 | 30 | return $xmlNodeList; |
@@ -25,39 +25,39 @@ discard block |
||
25 | 25 | const regexpEntity = '/&#x([0-1]{0,1}[0-9A-F]{1,2})/u'; //  |
26 | 26 | const regexpAscii = '/([\x{00}-\x{1F}\x{7F}]{1})/u'; |
27 | 27 | protected static $asciiPlaceHoldMap = [ |
28 | - '00' => [ 'symbol' => 'NULL', 'placeHold' => '', 'numeral' => 0x00 ], |
|
29 | - '01' => [ 'symbol' => 'SOH', 'placeHold' => '', 'numeral' => 0x01 ], |
|
30 | - '02' => [ 'symbol' => 'STX', 'placeHold' => '', 'numeral' => 0x02 ], |
|
31 | - '03' => [ 'symbol' => 'ETX', 'placeHold' => '', 'numeral' => 0x03 ], |
|
32 | - '04' => [ 'symbol' => 'EOT', 'placeHold' => '', 'numeral' => 0x04 ], |
|
33 | - '05' => [ 'symbol' => 'ENQ', 'placeHold' => '', 'numeral' => 0x05 ], |
|
34 | - '06' => [ 'symbol' => 'ACK', 'placeHold' => '', 'numeral' => 0x06 ], |
|
35 | - '07' => [ 'symbol' => 'BEL', 'placeHold' => '', 'numeral' => 0x07 ], |
|
36 | - '08' => [ 'symbol' => 'BS', 'placeHold' => '', 'numeral' => 0x08 ], |
|
37 | - '09' => [ 'symbol' => 'HT', 'placeHold' => '', 'numeral' => 0x09 ], |
|
38 | - '0A' => [ 'symbol' => 'LF', 'placeHold' => '', 'numeral' => 0x0A ], |
|
39 | - '0B' => [ 'symbol' => 'VT', 'placeHold' => '', 'numeral' => 0x0B ], |
|
40 | - '0C' => [ 'symbol' => 'FF', 'placeHold' => '', 'numeral' => 0x0C ], |
|
41 | - '0D' => [ 'symbol' => 'CR', 'placeHold' => '', 'numeral' => 0x0D ], |
|
42 | - '0E' => [ 'symbol' => 'SO', 'placeHold' => '', 'numeral' => 0x0E ], |
|
43 | - '0F' => [ 'symbol' => 'SI', 'placeHold' => '', 'numeral' => 0x0F ], |
|
44 | - '10' => [ 'symbol' => 'DLE', 'placeHold' => '', 'numeral' => 0x10 ], |
|
45 | - '11' => [ 'symbol' => 'DC', 'placeHold' => '', 'numeral' => 0x11 ], |
|
46 | - '12' => [ 'symbol' => 'DC', 'placeHold' => '', 'numeral' => 0x12 ], |
|
47 | - '13' => [ 'symbol' => 'DC', 'placeHold' => '', 'numeral' => 0x13 ], |
|
48 | - '14' => [ 'symbol' => 'DC', 'placeHold' => '', 'numeral' => 0x14 ], |
|
49 | - '15' => [ 'symbol' => 'NAK', 'placeHold' => '', 'numeral' => 0x15 ], |
|
50 | - '16' => [ 'symbol' => 'SYN', 'placeHold' => '', 'numeral' => 0x16 ], |
|
51 | - '17' => [ 'symbol' => 'ETB', 'placeHold' => '', 'numeral' => 0x17 ], |
|
52 | - '18' => [ 'symbol' => 'CAN', 'placeHold' => '', 'numeral' => 0x18 ], |
|
53 | - '19' => [ 'symbol' => 'EM', 'placeHold' => '', 'numeral' => 0x19 ], |
|
54 | - '1A' => [ 'symbol' => 'SUB', 'placeHold' => '', 'numeral' => 0x1A ], |
|
55 | - '1B' => [ 'symbol' => 'ESC', 'placeHold' => '', 'numeral' => 0x1B ], |
|
56 | - '1C' => [ 'symbol' => 'FS', 'placeHold' => '', 'numeral' => 0x1C ], |
|
57 | - '1D' => [ 'symbol' => 'GS', 'placeHold' => '', 'numeral' => 0x1D ], |
|
58 | - '1E' => [ 'symbol' => 'RS', 'placeHold' => '', 'numeral' => 0x1E ], |
|
59 | - '1F' => [ 'symbol' => 'US', 'placeHold' => '', 'numeral' => 0x1F ], |
|
60 | - '7F' => [ 'symbol' => 'DEL', 'placeHold' => '', 'numeral' => 0x7F ], |
|
28 | + '00' => ['symbol' => 'NULL', 'placeHold' => '', 'numeral' => 0x00], |
|
29 | + '01' => ['symbol' => 'SOH', 'placeHold' => '', 'numeral' => 0x01], |
|
30 | + '02' => ['symbol' => 'STX', 'placeHold' => '', 'numeral' => 0x02], |
|
31 | + '03' => ['symbol' => 'ETX', 'placeHold' => '', 'numeral' => 0x03], |
|
32 | + '04' => ['symbol' => 'EOT', 'placeHold' => '', 'numeral' => 0x04], |
|
33 | + '05' => ['symbol' => 'ENQ', 'placeHold' => '', 'numeral' => 0x05], |
|
34 | + '06' => ['symbol' => 'ACK', 'placeHold' => '', 'numeral' => 0x06], |
|
35 | + '07' => ['symbol' => 'BEL', 'placeHold' => '', 'numeral' => 0x07], |
|
36 | + '08' => ['symbol' => 'BS', 'placeHold' => '', 'numeral' => 0x08], |
|
37 | + '09' => ['symbol' => 'HT', 'placeHold' => '', 'numeral' => 0x09], |
|
38 | + '0A' => ['symbol' => 'LF', 'placeHold' => '', 'numeral' => 0x0A], |
|
39 | + '0B' => ['symbol' => 'VT', 'placeHold' => '', 'numeral' => 0x0B], |
|
40 | + '0C' => ['symbol' => 'FF', 'placeHold' => '', 'numeral' => 0x0C], |
|
41 | + '0D' => ['symbol' => 'CR', 'placeHold' => '', 'numeral' => 0x0D], |
|
42 | + '0E' => ['symbol' => 'SO', 'placeHold' => '', 'numeral' => 0x0E], |
|
43 | + '0F' => ['symbol' => 'SI', 'placeHold' => '', 'numeral' => 0x0F], |
|
44 | + '10' => ['symbol' => 'DLE', 'placeHold' => '', 'numeral' => 0x10], |
|
45 | + '11' => ['symbol' => 'DC', 'placeHold' => '', 'numeral' => 0x11], |
|
46 | + '12' => ['symbol' => 'DC', 'placeHold' => '', 'numeral' => 0x12], |
|
47 | + '13' => ['symbol' => 'DC', 'placeHold' => '', 'numeral' => 0x13], |
|
48 | + '14' => ['symbol' => 'DC', 'placeHold' => '', 'numeral' => 0x14], |
|
49 | + '15' => ['symbol' => 'NAK', 'placeHold' => '', 'numeral' => 0x15], |
|
50 | + '16' => ['symbol' => 'SYN', 'placeHold' => '', 'numeral' => 0x16], |
|
51 | + '17' => ['symbol' => 'ETB', 'placeHold' => '', 'numeral' => 0x17], |
|
52 | + '18' => ['symbol' => 'CAN', 'placeHold' => '', 'numeral' => 0x18], |
|
53 | + '19' => ['symbol' => 'EM', 'placeHold' => '', 'numeral' => 0x19], |
|
54 | + '1A' => ['symbol' => 'SUB', 'placeHold' => '', 'numeral' => 0x1A], |
|
55 | + '1B' => ['symbol' => 'ESC', 'placeHold' => '', 'numeral' => 0x1B], |
|
56 | + '1C' => ['symbol' => 'FS', 'placeHold' => '', 'numeral' => 0x1C], |
|
57 | + '1D' => ['symbol' => 'GS', 'placeHold' => '', 'numeral' => 0x1D], |
|
58 | + '1E' => ['symbol' => 'RS', 'placeHold' => '', 'numeral' => 0x1E], |
|
59 | + '1F' => ['symbol' => 'US', 'placeHold' => '', 'numeral' => 0x1F], |
|
60 | + '7F' => ['symbol' => 'DEL', 'placeHold' => '', 'numeral' => 0x7F], |
|
61 | 61 | ]; |
62 | 62 | |
63 | 63 | /** |
@@ -76,10 +76,10 @@ discard block |
||
76 | 76 | * @throws InvalidXmlException |
77 | 77 | * @throws XmlParsingException |
78 | 78 | */ |
79 | - protected function __construct( $html, $isXmlFragment ) { |
|
80 | - $html = $this->removeNotPrintableChars( $html ); |
|
79 | + protected function __construct($html, $isXmlFragment) { |
|
80 | + $html = $this->removeNotPrintableChars($html); |
|
81 | 81 | $this->isXmlFragment = $isXmlFragment; |
82 | - $this->dom = XmlDomLoader::load( $html, true, ( $isXmlFragment ? self::fragmentDocumentRoot : null ) ); |
|
82 | + $this->dom = XmlDomLoader::load($html, true, ($isXmlFragment ? self::fragmentDocumentRoot : null)); |
|
83 | 83 | $this->elements = new ArrayObject(); |
84 | 84 | } |
85 | 85 | |
@@ -95,8 +95,8 @@ discard block |
||
95 | 95 | * @throws InvalidXmlException |
96 | 96 | * @throws XmlParsingException |
97 | 97 | */ |
98 | - public static function parse( $html, $isXmlFragment = false ) { |
|
99 | - $parser = new static( $html, $isXmlFragment ); |
|
98 | + public static function parse($html, $isXmlFragment = false) { |
|
99 | + $parser = new static($html, $isXmlFragment); |
|
100 | 100 | |
101 | 101 | return $parser->extractNodes(); |
102 | 102 | } |
@@ -109,36 +109,36 @@ discard block |
||
109 | 109 | * |
110 | 110 | * @return string |
111 | 111 | */ |
112 | - protected function removeNotPrintableChars( $seg ) { |
|
112 | + protected function removeNotPrintableChars($seg) { |
|
113 | 113 | |
114 | - preg_match_all( self::regexpAscii, $seg, $matches ); |
|
114 | + preg_match_all(self::regexpAscii, $seg, $matches); |
|
115 | 115 | |
116 | - if ( !empty( $matches[ 1 ] ) ) { |
|
116 | + if (!empty($matches[1])) { |
|
117 | 117 | $test_src = $seg; |
118 | - foreach ( $matches[ 1 ] as $v ) { |
|
119 | - $key = sprintf( "%02X", ord( $v ) ); |
|
120 | - $hexNum = sprintf( "/(\\x{%s})/u", $key ); |
|
121 | - $test_src = preg_replace( $hexNum, self::$asciiPlaceHoldMap[ $key ][ 'placeHold' ], $test_src, 1 ); |
|
118 | + foreach ($matches[1] as $v) { |
|
119 | + $key = sprintf("%02X", ord($v)); |
|
120 | + $hexNum = sprintf("/(\\x{%s})/u", $key); |
|
121 | + $test_src = preg_replace($hexNum, self::$asciiPlaceHoldMap[$key]['placeHold'], $test_src, 1); |
|
122 | 122 | } |
123 | 123 | |
124 | 124 | $seg = $test_src; |
125 | 125 | } |
126 | 126 | |
127 | - preg_match_all( self::regexpEntity, $seg, $matches ); |
|
127 | + preg_match_all(self::regexpEntity, $seg, $matches); |
|
128 | 128 | |
129 | - if ( !empty( $matches[ 1 ] ) ) { |
|
129 | + if (!empty($matches[1])) { |
|
130 | 130 | $test_src = $seg; |
131 | - foreach ( $matches[ 1 ] as $v ) { |
|
132 | - $byte = sprintf( "%02X", hexdec( $v ) ); |
|
133 | - if ( $byte[ 0 ] == '0' ) { |
|
134 | - $regexp = '/&#x([' . $byte[ 0 ] . ']?' . $byte[ 1 ] . ');/u'; |
|
131 | + foreach ($matches[1] as $v) { |
|
132 | + $byte = sprintf("%02X", hexdec($v)); |
|
133 | + if ($byte[0] == '0') { |
|
134 | + $regexp = '/&#x(['.$byte[0].']?'.$byte[1].');/u'; |
|
135 | 135 | } else { |
136 | - $regexp = '/&#x(' . $byte . ');/u'; |
|
136 | + $regexp = '/&#x('.$byte.');/u'; |
|
137 | 137 | } |
138 | 138 | |
139 | - $key = sprintf( "%02X", hexdec( $v ) ); |
|
140 | - if ( array_key_exists( $key, self::$asciiPlaceHoldMap ) ) { |
|
141 | - $test_src = preg_replace( $regexp, self::$asciiPlaceHoldMap[ $key ][ 'placeHold' ], $test_src ); |
|
139 | + $key = sprintf("%02X", hexdec($v)); |
|
140 | + if (array_key_exists($key, self::$asciiPlaceHoldMap)) { |
|
141 | + $test_src = preg_replace($regexp, self::$asciiPlaceHoldMap[$key]['placeHold'], $test_src); |
|
142 | 142 | } |
143 | 143 | |
144 | 144 | } |
@@ -155,20 +155,20 @@ discard block |
||
155 | 155 | * |
156 | 156 | * @return ArrayObject |
157 | 157 | */ |
158 | - protected function mapElements( DOMNodeList $elementList, ArrayObject $elements ) { |
|
158 | + protected function mapElements(DOMNodeList $elementList, ArrayObject $elements) { |
|
159 | 159 | |
160 | - for ( $i = 0; $i < $elementList->length; $i++ ) { |
|
160 | + for ($i = 0; $i < $elementList->length; $i++) { |
|
161 | 161 | |
162 | - $element = $elementList->item( $i ); |
|
162 | + $element = $elementList->item($i); |
|
163 | 163 | |
164 | - $elements[] = (object)[ |
|
165 | - 'node' => $this->dom->saveXML( $element ), |
|
164 | + $elements[] = (object) [ |
|
165 | + 'node' => $this->dom->saveXML($element), |
|
166 | 166 | 'tagName' => $element->nodeName, |
167 | - 'attributes' => $this->getAttributes( $element ), |
|
168 | - 'text' => ( $element instanceof DOMText ? $element->textContent : null ), |
|
169 | - 'self_closed' => ( $element instanceof DOMText ) ? null : !$element->hasChildNodes(), |
|
170 | - 'has_children' => ( $element instanceof DOMText ) ? null : $element->hasChildNodes(), |
|
171 | - 'inner_html' => $element->hasChildNodes() ? $this->mapElements( $element->childNodes, new ArrayObject() ) : new ArrayObject() |
|
167 | + 'attributes' => $this->getAttributes($element), |
|
168 | + 'text' => ($element instanceof DOMText ? $element->textContent : null), |
|
169 | + 'self_closed' => ($element instanceof DOMText) ? null : !$element->hasChildNodes(), |
|
170 | + 'has_children' => ($element instanceof DOMText) ? null : $element->hasChildNodes(), |
|
171 | + 'inner_html' => $element->hasChildNodes() ? $this->mapElements($element->childNodes, new ArrayObject()) : new ArrayObject() |
|
172 | 172 | ]; |
173 | 173 | |
174 | 174 | } |
@@ -182,9 +182,9 @@ discard block |
||
182 | 182 | * |
183 | 183 | * @return array |
184 | 184 | */ |
185 | - protected function getAttributes( DOMNode $element ) { |
|
185 | + protected function getAttributes(DOMNode $element) { |
|
186 | 186 | |
187 | - if ( !$element->hasAttributes() ) { |
|
187 | + if (!$element->hasAttributes()) { |
|
188 | 188 | return []; |
189 | 189 | } |
190 | 190 | |
@@ -193,8 +193,8 @@ discard block |
||
193 | 193 | /** |
194 | 194 | * @var DOMAttr $attr |
195 | 195 | */ |
196 | - foreach ( $element->attributes as $attr ) { |
|
197 | - $attributesMap[ $attr->nodeName ] = $attr->nodeValue; |
|
196 | + foreach ($element->attributes as $attr) { |
|
197 | + $attributesMap[$attr->nodeName] = $attr->nodeValue; |
|
198 | 198 | } |
199 | 199 | |
200 | 200 | return $attributesMap; |
@@ -209,15 +209,15 @@ discard block |
||
209 | 209 | |
210 | 210 | $htmlNodeList = $this->getNodeListFromQueryPath(); |
211 | 211 | |
212 | - if ( !$htmlNodeList instanceof DOMNodeList ) { |
|
213 | - throw new DOMException( 'Bad DOMNodeList' ); |
|
212 | + if (!$htmlNodeList instanceof DOMNodeList) { |
|
213 | + throw new DOMException('Bad DOMNodeList'); |
|
214 | 214 | } |
215 | 215 | |
216 | - if ( $this->isXmlFragment && $htmlNodeList->item( 0 )->nodeName == self::fragmentDocumentRoot ) { |
|
216 | + if ($this->isXmlFragment && $htmlNodeList->item(0)->nodeName == self::fragmentDocumentRoot) { |
|
217 | 217 | // there is a fake root node, skip the first element end start with child nodes |
218 | - $this->mapElements( $htmlNodeList->item( 0 )->childNodes, $this->elements ); |
|
218 | + $this->mapElements($htmlNodeList->item(0)->childNodes, $this->elements); |
|
219 | 219 | } else { |
220 | - $this->mapElements( $htmlNodeList, $this->elements ); |
|
220 | + $this->mapElements($htmlNodeList, $this->elements); |
|
221 | 221 | } |
222 | 222 | return $this->elements; |
223 | 223 |
@@ -19,12 +19,12 @@ |
||
19 | 19 | */ |
20 | 20 | protected function getNodeListFromQueryPath() { |
21 | 21 | |
22 | - $xpath = new DOMXPath( $this->dom ); |
|
22 | + $xpath = new DOMXPath($this->dom); |
|
23 | 23 | |
24 | - if ( $this->isXmlFragment ) { |
|
25 | - $htmlNodeList = $xpath->query( "/" . self::fragmentDocumentRoot ); |
|
24 | + if ($this->isXmlFragment) { |
|
25 | + $htmlNodeList = $xpath->query("/".self::fragmentDocumentRoot); |
|
26 | 26 | } else { |
27 | - $htmlNodeList = $xpath->query( "/html" ); |
|
27 | + $htmlNodeList = $xpath->query("/html"); |
|
28 | 28 | } |
29 | 29 | |
30 | 30 | return $htmlNodeList; |
@@ -35,72 +35,72 @@ discard block |
||
35 | 35 | * @throws InvalidXmlException When parsing of XML with schema or callable produces any errors unrelated to the XML parsing itself |
36 | 36 | * @throws XmlParsingException When parsing of XML file returns error |
37 | 37 | */ |
38 | - public static function load( $content, $allowDocumentType = false, $setRootElement = null, $schemaOrCallable = null ) { |
|
39 | - if ( !extension_loaded( 'dom' ) ) { |
|
40 | - throw new RuntimeException( 'Extension DOM is required.' ); |
|
38 | + public static function load($content, $allowDocumentType = false, $setRootElement = null, $schemaOrCallable = null) { |
|
39 | + if (!extension_loaded('dom')) { |
|
40 | + throw new RuntimeException('Extension DOM is required.'); |
|
41 | 41 | } |
42 | 42 | |
43 | - $internalErrors = libxml_use_internal_errors( true ); |
|
43 | + $internalErrors = libxml_use_internal_errors(true); |
|
44 | 44 | $disableEntities = libxml_disable_entity_loader(); |
45 | 45 | libxml_clear_errors(); |
46 | 46 | |
47 | - $dom = new DOMDocument( '1.0', 'UTF-8' ); |
|
47 | + $dom = new DOMDocument('1.0', 'UTF-8'); |
|
48 | 48 | $dom->validateOnParse = true; |
49 | 49 | |
50 | - if ( is_string( $setRootElement ) && !empty( $setRootElement ) ) { |
|
50 | + if (is_string($setRootElement) && !empty($setRootElement)) { |
|
51 | 51 | $content = "<$setRootElement>$content</$setRootElement>"; |
52 | 52 | } |
53 | 53 | |
54 | - $res = $dom->loadXML( $content, LIBXML_NONET | LIBXML_NOBLANKS | ( defined( 'LIBXML_COMPACT' ) ? LIBXML_COMPACT : 0 ) ); |
|
54 | + $res = $dom->loadXML($content, LIBXML_NONET | LIBXML_NOBLANKS | (defined('LIBXML_COMPACT') ? LIBXML_COMPACT : 0)); |
|
55 | 55 | |
56 | - if ( !$res ) { |
|
57 | - libxml_disable_entity_loader( $disableEntities ); |
|
56 | + if (!$res) { |
|
57 | + libxml_disable_entity_loader($disableEntities); |
|
58 | 58 | |
59 | - throw new XmlParsingException( implode( "\n", static::getXmlErrors( $internalErrors ) ) ); |
|
59 | + throw new XmlParsingException(implode("\n", static::getXmlErrors($internalErrors))); |
|
60 | 60 | } |
61 | 61 | |
62 | 62 | $dom->normalizeDocument(); |
63 | 63 | |
64 | - libxml_use_internal_errors( $internalErrors ); |
|
65 | - libxml_disable_entity_loader( $disableEntities ); |
|
64 | + libxml_use_internal_errors($internalErrors); |
|
65 | + libxml_disable_entity_loader($disableEntities); |
|
66 | 66 | |
67 | - foreach ( $dom->childNodes as $child ) { |
|
68 | - if ( XML_DOCUMENT_TYPE_NODE === $child->nodeType && !$allowDocumentType ) { |
|
69 | - throw new XmlParsingException( 'Document types are not allowed.' ); |
|
67 | + foreach ($dom->childNodes as $child) { |
|
68 | + if (XML_DOCUMENT_TYPE_NODE === $child->nodeType && !$allowDocumentType) { |
|
69 | + throw new XmlParsingException('Document types are not allowed.'); |
|
70 | 70 | } |
71 | 71 | } |
72 | 72 | |
73 | - if ( null !== $schemaOrCallable ) { |
|
74 | - $internalErrors = libxml_use_internal_errors( true ); |
|
73 | + if (null !== $schemaOrCallable) { |
|
74 | + $internalErrors = libxml_use_internal_errors(true); |
|
75 | 75 | libxml_clear_errors(); |
76 | 76 | |
77 | 77 | $e = null; |
78 | - if ( is_callable( $schemaOrCallable ) ) { |
|
78 | + if (is_callable($schemaOrCallable)) { |
|
79 | 79 | try { |
80 | - $valid = call_user_func( $schemaOrCallable, $dom, $internalErrors ); |
|
81 | - } catch ( Exception $e ) { |
|
80 | + $valid = call_user_func($schemaOrCallable, $dom, $internalErrors); |
|
81 | + } catch (Exception $e) { |
|
82 | 82 | $valid = false; |
83 | 83 | } |
84 | - } elseif ( !is_array( $schemaOrCallable ) && is_file( (string)$schemaOrCallable ) ) { |
|
85 | - $schemaSource = file_get_contents( (string)$schemaOrCallable ); |
|
86 | - $valid = @$dom->schemaValidateSource( $schemaSource ); |
|
84 | + } elseif (!is_array($schemaOrCallable) && is_file((string) $schemaOrCallable)) { |
|
85 | + $schemaSource = file_get_contents((string) $schemaOrCallable); |
|
86 | + $valid = @$dom->schemaValidateSource($schemaSource); |
|
87 | 87 | } else { |
88 | - libxml_use_internal_errors( $internalErrors ); |
|
88 | + libxml_use_internal_errors($internalErrors); |
|
89 | 89 | |
90 | - throw new XmlParsingException( 'The schemaOrCallable argument has to be a valid path to XSD file or callable.' ); |
|
90 | + throw new XmlParsingException('The schemaOrCallable argument has to be a valid path to XSD file or callable.'); |
|
91 | 91 | } |
92 | 92 | |
93 | - if ( !$valid ) { |
|
94 | - $messages = static::getXmlErrors( $internalErrors ); |
|
95 | - if ( empty( $messages ) ) { |
|
96 | - throw new InvalidXmlException( 'The XML is not valid.', 0, $e ); |
|
93 | + if (!$valid) { |
|
94 | + $messages = static::getXmlErrors($internalErrors); |
|
95 | + if (empty($messages)) { |
|
96 | + throw new InvalidXmlException('The XML is not valid.', 0, $e); |
|
97 | 97 | } |
98 | - throw new XmlParsingException( implode( "\n", $messages ), 0, $e ); |
|
98 | + throw new XmlParsingException(implode("\n", $messages), 0, $e); |
|
99 | 99 | } |
100 | 100 | } |
101 | 101 | |
102 | 102 | libxml_clear_errors(); |
103 | - libxml_use_internal_errors( $internalErrors ); |
|
103 | + libxml_use_internal_errors($internalErrors); |
|
104 | 104 | |
105 | 105 | return $dom; |
106 | 106 | } |
@@ -110,14 +110,14 @@ discard block |
||
110 | 110 | * |
111 | 111 | * @return array |
112 | 112 | */ |
113 | - private static function getXmlErrors( $internalErrors ) { |
|
113 | + private static function getXmlErrors($internalErrors) { |
|
114 | 114 | $errors = []; |
115 | - foreach ( libxml_get_errors() as $error ) { |
|
115 | + foreach (libxml_get_errors() as $error) { |
|
116 | 116 | $errors[] = sprintf( |
117 | 117 | '[%s %s] %s (in %s - line %d, column %d)', |
118 | 118 | LIBXML_ERR_WARNING == $error->level ? 'WARNING' : 'ERROR', |
119 | 119 | $error->code, |
120 | - trim( $error->message ), |
|
120 | + trim($error->message), |
|
121 | 121 | $error->file ?: 'n/a', |
122 | 122 | $error->line, |
123 | 123 | $error->column |
@@ -125,7 +125,7 @@ discard block |
||
125 | 125 | } |
126 | 126 | |
127 | 127 | libxml_clear_errors(); |
128 | - libxml_use_internal_errors( $internalErrors ); |
|
128 | + libxml_use_internal_errors($internalErrors); |
|
129 | 129 | |
130 | 130 | return $errors; |
131 | 131 | } |