@@ -164,7 +164,7 @@ |
||
164 | 164 | |
165 | 165 | return preg_replace_callback( |
166 | 166 | '(<([-\\w]++):[^>]*?\\K\\s*/?>)', |
167 | - function ($m) use ($prefixes) |
|
167 | + function($m) use ($prefixes) |
|
168 | 168 | { |
169 | 169 | $return = $m[0]; |
170 | 170 | $prefix = $m[1]; |
@@ -108,34 +108,34 @@ discard block |
||
108 | 108 | } |
109 | 109 | |
110 | 110 | /** |
111 | - * Evaluate and return the result of a given XPath expression using this element as context node |
|
112 | - * |
|
113 | - * @param string $expr XPath expression |
|
114 | - * @return mixed |
|
115 | - */ |
|
111 | + * Evaluate and return the result of a given XPath expression using this element as context node |
|
112 | + * |
|
113 | + * @param string $expr XPath expression |
|
114 | + * @return mixed |
|
115 | + */ |
|
116 | 116 | public function evaluate(string $expr) |
117 | 117 | { |
118 | 118 | return $this->ownerDocument->evaluate($expr, $this); |
119 | 119 | } |
120 | 120 | |
121 | 121 | /** |
122 | - * Evaluate and return the first element of a given XPath query using this element as context node |
|
123 | - * |
|
124 | - * @param string $expr XPath expression |
|
125 | - * @return DOMNode|null |
|
126 | - */ |
|
122 | + * Evaluate and return the first element of a given XPath query using this element as context node |
|
123 | + * |
|
124 | + * @param string $expr XPath expression |
|
125 | + * @return DOMNode|null |
|
126 | + */ |
|
127 | 127 | public function firstOf(string $expr): ?DOMNode |
128 | 128 | { |
129 | 129 | return $this->ownerDocument->firstOf($expr, $this); |
130 | 130 | } |
131 | 131 | |
132 | 132 | /** |
133 | - * Insert given element relative to this element's position |
|
134 | - * |
|
135 | - * @param string $where One of 'beforebegin', 'afterbegin', 'beforeend', 'afterend' |
|
136 | - * @param self $element |
|
137 | - * @return self |
|
138 | - */ |
|
133 | + * Insert given element relative to this element's position |
|
134 | + * |
|
135 | + * @param string $where One of 'beforebegin', 'afterbegin', 'beforeend', 'afterend' |
|
136 | + * @param self $element |
|
137 | + * @return self |
|
138 | + */ |
|
139 | 139 | public function insertAdjacentElement(string $where, self $element): self |
140 | 140 | { |
141 | 141 | $this->insertAdjacentNode($where, $element); |
@@ -144,24 +144,24 @@ discard block |
||
144 | 144 | } |
145 | 145 | |
146 | 146 | /** |
147 | - * Insert given text relative to this element's position |
|
148 | - * |
|
149 | - * @param string $where One of 'beforebegin', 'afterbegin', 'beforeend', 'afterend' |
|
150 | - * @param string $text |
|
151 | - * @return void |
|
152 | - */ |
|
147 | + * Insert given text relative to this element's position |
|
148 | + * |
|
149 | + * @param string $where One of 'beforebegin', 'afterbegin', 'beforeend', 'afterend' |
|
150 | + * @param string $text |
|
151 | + * @return void |
|
152 | + */ |
|
153 | 153 | public function insertAdjacentText(string $where, string $text): void |
154 | 154 | { |
155 | 155 | $this->insertText($where, $text); |
156 | 156 | } |
157 | 157 | |
158 | 158 | /** |
159 | - * Insert given XML relative to this element's position |
|
160 | - * |
|
161 | - * @param string $where One of 'beforebegin', 'afterbegin', 'beforeend', 'afterend' |
|
162 | - * @param string $xml |
|
163 | - * @return void |
|
164 | - */ |
|
159 | + * Insert given XML relative to this element's position |
|
160 | + * |
|
161 | + * @param string $where One of 'beforebegin', 'afterbegin', 'beforeend', 'afterend' |
|
162 | + * @param string $xml |
|
163 | + * @return void |
|
164 | + */ |
|
165 | 165 | public function insertAdjacentXML(string $where, string $xml): void |
166 | 166 | { |
167 | 167 | $fragment = $this->ownerDocument->createDocumentFragment(); |
@@ -171,32 +171,32 @@ discard block |
||
171 | 171 | } |
172 | 172 | |
173 | 173 | /** |
174 | - * Evaluate and return the result of a given XPath query using this element as context node |
|
175 | - * |
|
176 | - * @param string $expr XPath expression |
|
177 | - * @return DOMNodeList |
|
178 | - */ |
|
174 | + * Evaluate and return the result of a given XPath query using this element as context node |
|
175 | + * |
|
176 | + * @param string $expr XPath expression |
|
177 | + * @return DOMNodeList |
|
178 | + */ |
|
179 | 179 | public function query(string $expr): DOMNodeList |
180 | 180 | { |
181 | 181 | return $this->ownerDocument->query($expr, $this); |
182 | 182 | } |
183 | 183 | |
184 | 184 | /** |
185 | - * Remove this element from the document |
|
186 | - * |
|
187 | - * @return void |
|
188 | - */ |
|
185 | + * Remove this element from the document |
|
186 | + * |
|
187 | + * @return void |
|
188 | + */ |
|
189 | 189 | public function remove(): void |
190 | 190 | { |
191 | 191 | $this->parentOrThrow()->removeChild($this); |
192 | 192 | } |
193 | 193 | |
194 | 194 | /** |
195 | - * Replace this element with given nodes/text |
|
196 | - * |
|
197 | - * @param DOMNode|string $nodes |
|
198 | - * @return void |
|
199 | - */ |
|
195 | + * Replace this element with given nodes/text |
|
196 | + * |
|
197 | + * @param DOMNode|string $nodes |
|
198 | + * @return void |
|
199 | + */ |
|
200 | 200 | public function replaceWith(...$nodes): void |
201 | 201 | { |
202 | 202 | $parentNode = $this->parentOrThrow(new DOMException('No Modification Allowed Error', DOM_NO_MODIFICATION_ALLOWED_ERR)); |
@@ -213,11 +213,11 @@ discard block |
||
213 | 213 | } |
214 | 214 | |
215 | 215 | /** |
216 | - * Add namespace declarations that may be missing in given XML |
|
217 | - * |
|
218 | - * @param string $xml Original XML |
|
219 | - * @return string Modified XML |
|
220 | - */ |
|
216 | + * Add namespace declarations that may be missing in given XML |
|
217 | + * |
|
218 | + * @param string $xml Original XML |
|
219 | + * @return string Modified XML |
|
220 | + */ |
|
221 | 221 | protected function addMissingNamespaceDeclarations(string $xml): string |
222 | 222 | { |
223 | 223 | preg_match_all('(xmlns:\\K[-\\w]++(?==))', $xml, $m); |
@@ -242,12 +242,12 @@ discard block |
||
242 | 242 | } |
243 | 243 | |
244 | 244 | /** |
245 | - * Insert given node relative to this element's position |
|
246 | - * |
|
247 | - * @param string $where One of 'beforebegin', 'afterbegin', 'beforeend', 'afterend' |
|
248 | - * @param DOMNode $node |
|
249 | - * @return void |
|
250 | - */ |
|
245 | + * Insert given node relative to this element's position |
|
246 | + * |
|
247 | + * @param string $where One of 'beforebegin', 'afterbegin', 'beforeend', 'afterend' |
|
248 | + * @param DOMNode $node |
|
249 | + * @return void |
|
250 | + */ |
|
251 | 251 | protected function insertAdjacentNode(string $where, DOMNode $node): void |
252 | 252 | { |
253 | 253 | switch (strtolower($where)) |
@@ -280,13 +280,13 @@ discard block |
||
280 | 280 | } |
281 | 281 | |
282 | 282 | /** |
283 | - * Create and insert an element at given position |
|
284 | - * |
|
285 | - * @param string $where One of 'beforebegin', 'afterbegin', 'beforeend', 'afterend' |
|
286 | - * @param string $nodeName Element's nodeName |
|
287 | - * @param string $text Text content |
|
288 | - * @return self |
|
289 | - */ |
|
283 | + * Create and insert an element at given position |
|
284 | + * |
|
285 | + * @param string $where One of 'beforebegin', 'afterbegin', 'beforeend', 'afterend' |
|
286 | + * @param string $nodeName Element's nodeName |
|
287 | + * @param string $text Text content |
|
288 | + * @return self |
|
289 | + */ |
|
290 | 290 | protected function insertElement(string $where, string $nodeName, string $text): self |
291 | 291 | { |
292 | 292 | $text = htmlspecialchars($text, ENT_NOQUOTES); |
@@ -306,12 +306,12 @@ discard block |
||
306 | 306 | } |
307 | 307 | |
308 | 308 | /** |
309 | - * Insert given text relative to this element's position |
|
310 | - * |
|
311 | - * @param string $where One of 'beforebegin', 'afterbegin', 'beforeend', 'afterend' |
|
312 | - * @param string $text |
|
313 | - * @return DOMText |
|
314 | - */ |
|
309 | + * Insert given text relative to this element's position |
|
310 | + * |
|
311 | + * @param string $where One of 'beforebegin', 'afterbegin', 'beforeend', 'afterend' |
|
312 | + * @param string $text |
|
313 | + * @return DOMText |
|
314 | + */ |
|
315 | 315 | protected function insertText(string $where, string $text): DOMText |
316 | 316 | { |
317 | 317 | $node = $this->ownerDocument->createTextNode($text); |
@@ -321,13 +321,13 @@ discard block |
||
321 | 321 | } |
322 | 322 | |
323 | 323 | /** |
324 | - * Create and insert an XSL element at given position |
|
325 | - * |
|
326 | - * @param string $where One of 'beforebegin', 'afterbegin', 'beforeend', 'afterend' |
|
327 | - * @param string $localName Element's localName |
|
328 | - * @param array $arguments Arguments passed to the Document::create* function |
|
329 | - * @return self |
|
330 | - */ |
|
324 | + * Create and insert an XSL element at given position |
|
325 | + * |
|
326 | + * @param string $where One of 'beforebegin', 'afterbegin', 'beforeend', 'afterend' |
|
327 | + * @param string $localName Element's localName |
|
328 | + * @param array $arguments Arguments passed to the Document::create* function |
|
329 | + * @return self |
|
330 | + */ |
|
331 | 331 | protected function insertXslElement(string $where, string $localName, array $arguments): self |
332 | 332 | { |
333 | 333 | $callback = [$this->ownerDocument, 'createXsl' . ucfirst($localName)]; |
@@ -342,11 +342,11 @@ discard block |
||
342 | 342 | } |
343 | 343 | |
344 | 344 | /** |
345 | - * Return this element's parent element if available, or throw an exception |
|
346 | - * |
|
347 | - * @param DOMException $previous Previous exception |
|
348 | - * @return DOMNode |
|
349 | - */ |
|
345 | + * Return this element's parent element if available, or throw an exception |
|
346 | + * |
|
347 | + * @param DOMException $previous Previous exception |
|
348 | + * @return DOMNode |
|
349 | + */ |
|
350 | 350 | protected function parentOrThrow(DOMException $previous = null): DOMNode |
351 | 351 | { |
352 | 352 | if (isset($this->parentNode)) |
@@ -15,11 +15,11 @@ discard block |
||
15 | 15 | class Document extends DOMDocument |
16 | 16 | { |
17 | 17 | /** |
18 | - * @link https://www.php.net/manual/domdocument.construct.php |
|
19 | - * |
|
20 | - * @param string $version Version number of the document |
|
21 | - * @param string $encoding Encoding of the document |
|
22 | - */ |
|
18 | + * @link https://www.php.net/manual/domdocument.construct.php |
|
19 | + * |
|
20 | + * @param string $version Version number of the document |
|
21 | + * @param string $encoding Encoding of the document |
|
22 | + */ |
|
23 | 23 | public function __construct(string $version = '1.0', string $encoding = 'utf-8') |
24 | 24 | { |
25 | 25 | parent::__construct($version, $encoding); |
@@ -28,11 +28,11 @@ discard block |
||
28 | 28 | } |
29 | 29 | |
30 | 30 | /** |
31 | - * Create and return an xsl:apply-templates element |
|
32 | - * |
|
33 | - * @param string $select XPath expression for the "select" attribute |
|
34 | - * @return Element |
|
35 | - */ |
|
31 | + * Create and return an xsl:apply-templates element |
|
32 | + * |
|
33 | + * @param string $select XPath expression for the "select" attribute |
|
34 | + * @return Element |
|
35 | + */ |
|
36 | 36 | public function createXslApplyTemplates(string $select = null): Element |
37 | 37 | { |
38 | 38 | $element = $this->createElementXSL('apply-templates'); |
@@ -45,12 +45,12 @@ discard block |
||
45 | 45 | } |
46 | 46 | |
47 | 47 | /** |
48 | - * Create and return an xsl:attribute element |
|
49 | - * |
|
50 | - * @param string $name Attribute's name |
|
51 | - * @param string $text Text content for the element |
|
52 | - * @return Element |
|
53 | - */ |
|
48 | + * Create and return an xsl:attribute element |
|
49 | + * |
|
50 | + * @param string $name Attribute's name |
|
51 | + * @param string $text Text content for the element |
|
52 | + * @return Element |
|
53 | + */ |
|
54 | 54 | public function createXslAttribute(string $name, string $text = ''): Element |
55 | 55 | { |
56 | 56 | $element = $this->createElementXSL('attribute', $text); |
@@ -60,32 +60,32 @@ discard block |
||
60 | 60 | } |
61 | 61 | |
62 | 62 | /** |
63 | - * Create and return an xsl:choose element |
|
64 | - * |
|
65 | - * @return Element |
|
66 | - */ |
|
63 | + * Create and return an xsl:choose element |
|
64 | + * |
|
65 | + * @return Element |
|
66 | + */ |
|
67 | 67 | public function createXslChoose(): Element |
68 | 68 | { |
69 | 69 | return $this->createElementXSL('choose'); |
70 | 70 | } |
71 | 71 | |
72 | 72 | /** |
73 | - * Create and return an xsl:comment element |
|
74 | - * |
|
75 | - * @param string $text Text content for the comment |
|
76 | - * @return Element |
|
77 | - */ |
|
73 | + * Create and return an xsl:comment element |
|
74 | + * |
|
75 | + * @param string $text Text content for the comment |
|
76 | + * @return Element |
|
77 | + */ |
|
78 | 78 | public function createXslComment(string $text = ''): Element |
79 | 79 | { |
80 | 80 | return $this->createElementXSL('comment', $text); |
81 | 81 | } |
82 | 82 | |
83 | 83 | /** |
84 | - * Create and return an xsl:copy-of element |
|
85 | - * |
|
86 | - * @param string $select XPath expression for the "select" attribute |
|
87 | - * @return Element |
|
88 | - */ |
|
84 | + * Create and return an xsl:copy-of element |
|
85 | + * |
|
86 | + * @param string $select XPath expression for the "select" attribute |
|
87 | + * @return Element |
|
88 | + */ |
|
89 | 89 | public function createXslCopyOf(string $select): Element |
90 | 90 | { |
91 | 91 | $element = $this->createElementXSL('copy-of'); |
@@ -95,12 +95,12 @@ discard block |
||
95 | 95 | } |
96 | 96 | |
97 | 97 | /** |
98 | - * Create and return an xsl:if element |
|
99 | - * |
|
100 | - * @param string $test XPath expression for the "test" attribute |
|
101 | - * @param string $text Text content for the element |
|
102 | - * @return Element |
|
103 | - */ |
|
98 | + * Create and return an xsl:if element |
|
99 | + * |
|
100 | + * @param string $test XPath expression for the "test" attribute |
|
101 | + * @param string $text Text content for the element |
|
102 | + * @return Element |
|
103 | + */ |
|
104 | 104 | public function createXslIf(string $test, string $text = ''): Element |
105 | 105 | { |
106 | 106 | $element = $this->createElementXSL('if', $text); |
@@ -110,33 +110,33 @@ discard block |
||
110 | 110 | } |
111 | 111 | |
112 | 112 | /** |
113 | - * Create and return an xsl:otherwise element |
|
114 | - * |
|
115 | - * @param string $text Text content for the element |
|
116 | - * @return Element |
|
117 | - */ |
|
113 | + * Create and return an xsl:otherwise element |
|
114 | + * |
|
115 | + * @param string $text Text content for the element |
|
116 | + * @return Element |
|
117 | + */ |
|
118 | 118 | public function createXslOtherwise(string $text = ''): Element |
119 | 119 | { |
120 | 120 | return $this->createElementXSL('otherwise', $text); |
121 | 121 | } |
122 | 122 | |
123 | 123 | /** |
124 | - * Create and return an xsl:text element |
|
125 | - * |
|
126 | - * @param string $text Text content for the element |
|
127 | - * @return Element |
|
128 | - */ |
|
124 | + * Create and return an xsl:text element |
|
125 | + * |
|
126 | + * @param string $text Text content for the element |
|
127 | + * @return Element |
|
128 | + */ |
|
129 | 129 | public function createXslText(string $text = ''): Element |
130 | 130 | { |
131 | 131 | return $this->createElementXSL('text', $text); |
132 | 132 | } |
133 | 133 | |
134 | 134 | /** |
135 | - * Create and return an xsl:value-of element |
|
136 | - * |
|
137 | - * @param string $select XPath expression for the "select" attribute |
|
138 | - * @return Element |
|
139 | - */ |
|
135 | + * Create and return an xsl:value-of element |
|
136 | + * |
|
137 | + * @param string $select XPath expression for the "select" attribute |
|
138 | + * @return Element |
|
139 | + */ |
|
140 | 140 | public function createXslValueOf(string $select): Element |
141 | 141 | { |
142 | 142 | $element = $this->createElementXSL('value-of'); |
@@ -146,12 +146,12 @@ discard block |
||
146 | 146 | } |
147 | 147 | |
148 | 148 | /** |
149 | - * Create and return an xsl:variable element |
|
150 | - * |
|
151 | - * @param string $name Name of the variable |
|
152 | - * @param string $select XPath expression |
|
153 | - * @return Element |
|
154 | - */ |
|
149 | + * Create and return an xsl:variable element |
|
150 | + * |
|
151 | + * @param string $name Name of the variable |
|
152 | + * @param string $select XPath expression |
|
153 | + * @return Element |
|
154 | + */ |
|
155 | 155 | public function createXslVariable(string $name, string $select = null): Element |
156 | 156 | { |
157 | 157 | $element = $this->createElementXSL('variable'); |
@@ -165,12 +165,12 @@ discard block |
||
165 | 165 | } |
166 | 166 | |
167 | 167 | /** |
168 | - * Create and return an xsl:when element |
|
169 | - * |
|
170 | - * @param string $test XPath expression for the "test" attribute |
|
171 | - * @param string $text Text content for the element |
|
172 | - * @return Element |
|
173 | - */ |
|
168 | + * Create and return an xsl:when element |
|
169 | + * |
|
170 | + * @param string $test XPath expression for the "test" attribute |
|
171 | + * @param string $text Text content for the element |
|
172 | + * @return Element |
|
173 | + */ |
|
174 | 174 | public function createXslWhen(string $test, string $text = ''): Element |
175 | 175 | { |
176 | 176 | $element = $this->createElementXSL('when', $text); |
@@ -180,51 +180,51 @@ discard block |
||
180 | 180 | } |
181 | 181 | |
182 | 182 | /** |
183 | - * Evaluate and return the result of a given XPath expression |
|
184 | - * |
|
185 | - * @param string $expr XPath expression |
|
186 | - * @param DOMNode $node Context node |
|
187 | - * @param bool $registerNodeNS Whether to register the node's namespace |
|
188 | - * @return mixed |
|
189 | - */ |
|
183 | + * Evaluate and return the result of a given XPath expression |
|
184 | + * |
|
185 | + * @param string $expr XPath expression |
|
186 | + * @param DOMNode $node Context node |
|
187 | + * @param bool $registerNodeNS Whether to register the node's namespace |
|
188 | + * @return mixed |
|
189 | + */ |
|
190 | 190 | public function evaluate(string $expr, DOMNode $node = null, bool $registerNodeNS = true) |
191 | 191 | { |
192 | 192 | return $this->xpath('evaluate', func_get_args()); |
193 | 193 | } |
194 | 194 | |
195 | 195 | /** |
196 | - * Evaluate and return the first element of a given XPath query |
|
197 | - * |
|
198 | - * @param string $expr XPath expression |
|
199 | - * @param DOMNode $node Context node |
|
200 | - * @param bool $registerNodeNS Whether to register the node's namespace |
|
201 | - * @return DOMNode|null |
|
202 | - */ |
|
196 | + * Evaluate and return the first element of a given XPath query |
|
197 | + * |
|
198 | + * @param string $expr XPath expression |
|
199 | + * @param DOMNode $node Context node |
|
200 | + * @param bool $registerNodeNS Whether to register the node's namespace |
|
201 | + * @return DOMNode|null |
|
202 | + */ |
|
203 | 203 | public function firstOf(string $expr, DOMNode $node = null, bool $registerNodeNS = true): ?DOMNode |
204 | 204 | { |
205 | 205 | return $this->xpath('query', func_get_args())->item(0); |
206 | 206 | } |
207 | 207 | |
208 | 208 | /** |
209 | - * Evaluate and return the result of a given XPath query |
|
210 | - * |
|
211 | - * @param string $expr XPath expression |
|
212 | - * @param DOMNode $node Context node |
|
213 | - * @param bool $registerNodeNS Whether to register the node's namespace |
|
214 | - * @return DOMNodeList |
|
215 | - */ |
|
209 | + * Evaluate and return the result of a given XPath query |
|
210 | + * |
|
211 | + * @param string $expr XPath expression |
|
212 | + * @param DOMNode $node Context node |
|
213 | + * @param bool $registerNodeNS Whether to register the node's namespace |
|
214 | + * @return DOMNodeList |
|
215 | + */ |
|
216 | 216 | public function query(string $expr, DOMNode $node = null, bool $registerNodeNS = true): DOMNodeList |
217 | 217 | { |
218 | 218 | return $this->xpath('query', func_get_args()); |
219 | 219 | } |
220 | 220 | |
221 | 221 | /** |
222 | - * Create and return an XSL element |
|
223 | - * |
|
224 | - * @param string $name Element's local name |
|
225 | - * @param string $text Text content for the element |
|
226 | - * @return Element |
|
227 | - */ |
|
222 | + * Create and return an XSL element |
|
223 | + * |
|
224 | + * @param string $name Element's local name |
|
225 | + * @param string $text Text content for the element |
|
226 | + * @return Element |
|
227 | + */ |
|
228 | 228 | protected function createElementXSL(string $localName, string $text = ''): Element |
229 | 229 | { |
230 | 230 | return $this->createElementNS( |
@@ -235,12 +235,12 @@ discard block |
||
235 | 235 | } |
236 | 236 | |
237 | 237 | /** |
238 | - * Execute a DOMXPath method and return the result |
|
239 | - * |
|
240 | - * @param string $methodName |
|
241 | - * @param array $args |
|
242 | - * @return mixed |
|
243 | - */ |
|
238 | + * Execute a DOMXPath method and return the result |
|
239 | + * |
|
240 | + * @param string $methodName |
|
241 | + * @param array $args |
|
242 | + * @return mixed |
|
243 | + */ |
|
244 | 244 | protected function xpath(string $methodName, array $args) |
245 | 245 | { |
246 | 246 | $xpath = new DOMXPath($this); |