@@ -28,9 +28,9 @@ discard block |
||
28 | 28 | { |
29 | 29 | const ERROR_CANNOT_APPEND_FRAGMENT = 491001; |
30 | 30 | |
31 | - /** |
|
32 | - * @var boolean |
|
33 | - */ |
|
31 | + /** |
|
32 | + * @var boolean |
|
33 | + */ |
|
34 | 34 | private static $simulation = false; |
35 | 35 | |
36 | 36 | /** |
@@ -38,11 +38,11 @@ discard block |
||
38 | 38 | */ |
39 | 39 | private $dom; |
40 | 40 | |
41 | - /** |
|
42 | - * Creates a new XMLHelper instance. |
|
43 | - * |
|
44 | - * @return XMLHelper |
|
45 | - */ |
|
41 | + /** |
|
42 | + * Creates a new XMLHelper instance. |
|
43 | + * |
|
44 | + * @return XMLHelper |
|
45 | + */ |
|
46 | 46 | public static function create() : XMLHelper |
47 | 47 | { |
48 | 48 | $dom = new DOMDocument('1.0', 'UTF-8'); |
@@ -51,72 +51,72 @@ discard block |
||
51 | 51 | return new XMLHelper($dom); |
52 | 52 | } |
53 | 53 | |
54 | - /** |
|
55 | - * Creates a converter instance from an XML file. |
|
56 | - * @param string $xmlFile |
|
57 | - * @return XMLHelper_Converter |
|
58 | - */ |
|
54 | + /** |
|
55 | + * Creates a converter instance from an XML file. |
|
56 | + * @param string $xmlFile |
|
57 | + * @return XMLHelper_Converter |
|
58 | + */ |
|
59 | 59 | public static function convertFile(string $xmlFile) : XMLHelper_Converter |
60 | 60 | { |
61 | 61 | return XMLHelper_Converter::fromFile($xmlFile); |
62 | 62 | } |
63 | 63 | |
64 | - /** |
|
65 | - * Creates a converter from an XML string. |
|
66 | - * @param string $xmlString |
|
67 | - * @return XMLHelper_Converter |
|
68 | - */ |
|
64 | + /** |
|
65 | + * Creates a converter from an XML string. |
|
66 | + * @param string $xmlString |
|
67 | + * @return XMLHelper_Converter |
|
68 | + */ |
|
69 | 69 | public static function convertString(string $xmlString) : XMLHelper_Converter |
70 | 70 | { |
71 | 71 | return XMLHelper_Converter::fromString($xmlString); |
72 | 72 | } |
73 | 73 | |
74 | - /** |
|
75 | - * Creates a converter from a SimpleXMLElement instance. |
|
76 | - * @param SimpleXMLElement $element |
|
77 | - * @return XMLHelper_Converter |
|
78 | - */ |
|
74 | + /** |
|
75 | + * Creates a converter from a SimpleXMLElement instance. |
|
76 | + * @param SimpleXMLElement $element |
|
77 | + * @return XMLHelper_Converter |
|
78 | + */ |
|
79 | 79 | public static function convertElement(SimpleXMLElement $element) : XMLHelper_Converter |
80 | 80 | { |
81 | 81 | return XMLHelper_Converter::fromElement($element); |
82 | 82 | } |
83 | 83 | |
84 | - /** |
|
85 | - * Creates a converter from a DOMElement instance. |
|
86 | - * @param DOMElement $element |
|
87 | - * @return XMLHelper_Converter |
|
88 | - */ |
|
84 | + /** |
|
85 | + * Creates a converter from a DOMElement instance. |
|
86 | + * @param DOMElement $element |
|
87 | + * @return XMLHelper_Converter |
|
88 | + */ |
|
89 | 89 | public static function convertDOMElement(DOMElement $element) : XMLHelper_Converter |
90 | 90 | { |
91 | 91 | return XMLHelper_Converter::fromDOMElement($element); |
92 | 92 | } |
93 | 93 | |
94 | - /** |
|
95 | - * Creates a new helper using an existing DOMDocument object. |
|
96 | - * @param DOMDocument $dom |
|
97 | - */ |
|
94 | + /** |
|
95 | + * Creates a new helper using an existing DOMDocument object. |
|
96 | + * @param DOMDocument $dom |
|
97 | + */ |
|
98 | 98 | public function __construct(DOMDocument $dom) |
99 | 99 | { |
100 | 100 | $this->dom = $dom; |
101 | 101 | } |
102 | 102 | |
103 | - /** |
|
104 | - * @return DOMDocument |
|
105 | - */ |
|
103 | + /** |
|
104 | + * @return DOMDocument |
|
105 | + */ |
|
106 | 106 | public function getDOM() : DOMDocument |
107 | 107 | { |
108 | 108 | return $this->dom; |
109 | 109 | } |
110 | 110 | |
111 | - /** |
|
112 | - * Adds an attribute to an existing tag with |
|
113 | - * the specified value. |
|
114 | - * |
|
115 | - * @param DOMNode $parent |
|
116 | - * @param string $name |
|
117 | - * @param mixed $value |
|
118 | - * @return DOMNode |
|
119 | - */ |
|
111 | + /** |
|
112 | + * Adds an attribute to an existing tag with |
|
113 | + * the specified value. |
|
114 | + * |
|
115 | + * @param DOMNode $parent |
|
116 | + * @param string $name |
|
117 | + * @param mixed $value |
|
118 | + * @return DOMNode |
|
119 | + */ |
|
120 | 120 | public function addAttribute(DOMNode $parent, string $name, $value) |
121 | 121 | { |
122 | 122 | $node = $this->dom->createAttribute($name); |
@@ -126,12 +126,12 @@ discard block |
||
126 | 126 | return $parent->appendChild($node); |
127 | 127 | } |
128 | 128 | |
129 | - /** |
|
130 | - * Adds several attributes to the target node. |
|
131 | - * |
|
132 | - * @param DOMNode $parent |
|
133 | - * @param array<string,mixed> $attributes |
|
134 | - */ |
|
129 | + /** |
|
130 | + * Adds several attributes to the target node. |
|
131 | + * |
|
132 | + * @param DOMNode $parent |
|
133 | + * @param array<string,mixed> $attributes |
|
134 | + */ |
|
135 | 135 | public function addAttributes(DOMNode $parent, array $attributes) : void |
136 | 136 | { |
137 | 137 | foreach ($attributes as $name => $value) { |
@@ -139,14 +139,14 @@ discard block |
||
139 | 139 | } |
140 | 140 | } |
141 | 141 | |
142 | - /** |
|
143 | - * Adds a tag without content. |
|
144 | - * |
|
145 | - * @param DOMNode $parent |
|
146 | - * @param string $name |
|
147 | - * @param integer $indent |
|
148 | - * @return DOMNode |
|
149 | - */ |
|
142 | + /** |
|
143 | + * Adds a tag without content. |
|
144 | + * |
|
145 | + * @param DOMNode $parent |
|
146 | + * @param string $name |
|
147 | + * @param integer $indent |
|
148 | + * @return DOMNode |
|
149 | + */ |
|
150 | 150 | public function addTag(DOMNode $parent, string $name, int $indent = 0) : DOMNode |
151 | 151 | { |
152 | 152 | if ($indent > 0) { |
@@ -168,17 +168,17 @@ discard block |
||
168 | 168 | $parent->appendChild($this->dom->createTextNode(str_repeat("\t", $amount))); |
169 | 169 | } |
170 | 170 | |
171 | - /** |
|
172 | - * Adds a tag with textual content, like: |
|
173 | - * |
|
174 | - * <tagname>text</tagname> |
|
175 | - * |
|
176 | - * @param DOMNode $parent |
|
177 | - * @param string $name |
|
178 | - * @param string $text |
|
179 | - * @param integer $indent |
|
180 | - * @return DOMNode |
|
181 | - */ |
|
171 | + /** |
|
172 | + * Adds a tag with textual content, like: |
|
173 | + * |
|
174 | + * <tagname>text</tagname> |
|
175 | + * |
|
176 | + * @param DOMNode $parent |
|
177 | + * @param string $name |
|
178 | + * @param string $text |
|
179 | + * @param integer $indent |
|
180 | + * @return DOMNode |
|
181 | + */ |
|
182 | 182 | public function addTextTag(DOMNode $parent, string $name, string $text, int $indent = 0) : DOMNode |
183 | 183 | { |
184 | 184 | if ($indent > 0) { |
@@ -192,19 +192,19 @@ discard block |
||
192 | 192 | return $parent->appendChild($tag); |
193 | 193 | } |
194 | 194 | |
195 | - /** |
|
196 | - * Adds a tag with textual content, like: |
|
197 | - * |
|
198 | - * <tagname>text</tagname> |
|
199 | - * |
|
200 | - * and removes <p> tags |
|
201 | - * |
|
202 | - * @param DOMNode $parent |
|
203 | - * @param string $name |
|
204 | - * @param string $text |
|
205 | - * @param integer $indent |
|
206 | - * @return DOMNode |
|
207 | - */ |
|
195 | + /** |
|
196 | + * Adds a tag with textual content, like: |
|
197 | + * |
|
198 | + * <tagname>text</tagname> |
|
199 | + * |
|
200 | + * and removes <p> tags |
|
201 | + * |
|
202 | + * @param DOMNode $parent |
|
203 | + * @param string $name |
|
204 | + * @param string $text |
|
205 | + * @param integer $indent |
|
206 | + * @return DOMNode |
|
207 | + */ |
|
208 | 208 | public function addEscapedTag(DOMNode $parent, string $name, string $text, int $indent = 0) |
209 | 209 | { |
210 | 210 | if ($indent > 0) { |
@@ -220,19 +220,19 @@ discard block |
||
220 | 220 | return $parent->appendChild($tag); |
221 | 221 | } |
222 | 222 | |
223 | - /** |
|
224 | - * Adds a tag with HTML content, like: |
|
225 | - * |
|
226 | - * <tagname><i>text</i></tagname> |
|
227 | - * |
|
228 | - * Tags will not be escaped. |
|
229 | - * |
|
230 | - * @param DOMNode $parent |
|
231 | - * @param string $name |
|
232 | - * @param string $text |
|
233 | - * @param integer $indent |
|
234 | - * @return DOMNode |
|
235 | - */ |
|
223 | + /** |
|
224 | + * Adds a tag with HTML content, like: |
|
225 | + * |
|
226 | + * <tagname><i>text</i></tagname> |
|
227 | + * |
|
228 | + * Tags will not be escaped. |
|
229 | + * |
|
230 | + * @param DOMNode $parent |
|
231 | + * @param string $name |
|
232 | + * @param string $text |
|
233 | + * @param integer $indent |
|
234 | + * @return DOMNode |
|
235 | + */ |
|
236 | 236 | public function addFragmentTag(DOMNode $parent, string $name, string $text, int $indent = 0) |
237 | 237 | { |
238 | 238 | if ($indent > 0) { |
@@ -260,16 +260,16 @@ discard block |
||
260 | 260 | return $parent->appendChild($tag); |
261 | 261 | } |
262 | 262 | |
263 | - /** |
|
264 | - * Adds a tag with CDATA content, like: |
|
265 | - * |
|
266 | - * <tagname><![CDATA[value]]></tagname> |
|
267 | - * |
|
268 | - * @param DOMNode $parent |
|
269 | - * @param string $name |
|
270 | - * @param string $content |
|
271 | - * @return DOMNode |
|
272 | - */ |
|
263 | + /** |
|
264 | + * Adds a tag with CDATA content, like: |
|
265 | + * |
|
266 | + * <tagname><![CDATA[value]]></tagname> |
|
267 | + * |
|
268 | + * @param DOMNode $parent |
|
269 | + * @param string $name |
|
270 | + * @param string $content |
|
271 | + * @return DOMNode |
|
272 | + */ |
|
273 | 273 | public function addCDATATag(DOMNode $parent, string $name, string $content) : DOMNode |
274 | 274 | { |
275 | 275 | $tag = $this->dom->createElement($name); |
@@ -279,12 +279,12 @@ discard block |
||
279 | 279 | return $parent->appendChild($tag); |
280 | 280 | } |
281 | 281 | |
282 | - /** |
|
283 | - * Creates the root element of the document. |
|
284 | - * @param string $name |
|
285 | - * @param array<string,mixed> $attributes |
|
286 | - * @return DOMNode |
|
287 | - */ |
|
282 | + /** |
|
283 | + * Creates the root element of the document. |
|
284 | + * @param string $name |
|
285 | + * @param array<string,mixed> $attributes |
|
286 | + * @return DOMNode |
|
287 | + */ |
|
288 | 288 | public function createRoot(string $name, array $attributes=array()) |
289 | 289 | { |
290 | 290 | $root = $this->dom->appendChild($this->dom->createElement($name)); |
@@ -292,12 +292,12 @@ discard block |
||
292 | 292 | return $root; |
293 | 293 | } |
294 | 294 | |
295 | - /** |
|
296 | - * Escaped the string for use in XML. |
|
297 | - * |
|
298 | - * @param string $string |
|
299 | - * @return string |
|
300 | - */ |
|
295 | + /** |
|
296 | + * Escaped the string for use in XML. |
|
297 | + * |
|
298 | + * @param string $string |
|
299 | + * @return string |
|
300 | + */ |
|
301 | 301 | public function escape(string $string) : string |
302 | 302 | { |
303 | 303 | $string = preg_replace('#<p>(.*)</p>#isUm', '$1', $string); |
@@ -317,18 +317,18 @@ discard block |
||
317 | 317 | return $string; |
318 | 318 | } |
319 | 319 | |
320 | - /** |
|
321 | - * Sends the specified XML string to the browser with |
|
322 | - * the correct headers to trigger a download of the XML |
|
323 | - * to a local file. |
|
324 | - * |
|
325 | - * NOTE: Ensure calling exit after this is done, and to |
|
326 | - * not send additional content, which would corrupt the |
|
327 | - * download. |
|
328 | - * |
|
329 | - * @param string $xml |
|
330 | - * @param string $filename |
|
331 | - */ |
|
320 | + /** |
|
321 | + * Sends the specified XML string to the browser with |
|
322 | + * the correct headers to trigger a download of the XML |
|
323 | + * to a local file. |
|
324 | + * |
|
325 | + * NOTE: Ensure calling exit after this is done, and to |
|
326 | + * not send additional content, which would corrupt the |
|
327 | + * download. |
|
328 | + * |
|
329 | + * @param string $xml |
|
330 | + * @param string $filename |
|
331 | + */ |
|
332 | 332 | public static function downloadXML(string $xml, string $filename = 'download.xml') : void |
333 | 333 | { |
334 | 334 | if(!headers_sent() && !self::$simulation) |
@@ -339,12 +339,12 @@ discard block |
||
339 | 339 | echo $xml; |
340 | 340 | } |
341 | 341 | |
342 | - /** |
|
343 | - * Sends the specified XML string to the browser with |
|
344 | - * the correct headers and terminates the request. |
|
345 | - * |
|
346 | - * @param string $xml |
|
347 | - */ |
|
342 | + /** |
|
343 | + * Sends the specified XML string to the browser with |
|
344 | + * the correct headers and terminates the request. |
|
345 | + * |
|
346 | + * @param string $xml |
|
347 | + */ |
|
348 | 348 | public static function displayXML(string $xml) : void |
349 | 349 | { |
350 | 350 | if(!headers_sent() && !self::$simulation) |
@@ -411,23 +411,23 @@ discard block |
||
411 | 411 | return $xml->saveXML(); |
412 | 412 | } |
413 | 413 | |
414 | - /** |
|
415 | - * Creates XML markup to describe an application error |
|
416 | - * when using XML services. Creates XML with the |
|
417 | - * following structure: |
|
418 | - * |
|
419 | - * <error> |
|
420 | - * <id>99</id> |
|
421 | - * <message>Full error message text</message> |
|
422 | - * <title>Short error label</title> |
|
423 | - * </error> |
|
424 | - * |
|
425 | - * @param string|number $code |
|
426 | - * @param string $message |
|
427 | - * @param string $title |
|
428 | - * @param array<string,string> $customInfo |
|
429 | - * @return string |
|
430 | - */ |
|
414 | + /** |
|
415 | + * Creates XML markup to describe an application error |
|
416 | + * when using XML services. Creates XML with the |
|
417 | + * following structure: |
|
418 | + * |
|
419 | + * <error> |
|
420 | + * <id>99</id> |
|
421 | + * <message>Full error message text</message> |
|
422 | + * <title>Short error label</title> |
|
423 | + * </error> |
|
424 | + * |
|
425 | + * @param string|number $code |
|
426 | + * @param string $message |
|
427 | + * @param string $title |
|
428 | + * @param array<string,string> $customInfo |
|
429 | + * @return string |
|
430 | + */ |
|
431 | 431 | public static function buildErrorXML($code, string $message, string $title, array $customInfo=array()) |
432 | 432 | { |
433 | 433 | $xml = new DOMDocument('1.0', 'UTF-8'); |
@@ -460,31 +460,31 @@ discard block |
||
460 | 460 | return $this->dom->saveXML(); |
461 | 461 | } |
462 | 462 | |
463 | - /** |
|
464 | - * Creates a new SimpleXML helper instance: this |
|
465 | - * object is useful to work with loading XML strings |
|
466 | - * and files with easy access to any errors that |
|
467 | - * may occurr, since the simplexml functions can be |
|
468 | - * somewhat cryptic. |
|
469 | - * |
|
470 | - * @return XMLHelper_SimpleXML |
|
471 | - */ |
|
463 | + /** |
|
464 | + * Creates a new SimpleXML helper instance: this |
|
465 | + * object is useful to work with loading XML strings |
|
466 | + * and files with easy access to any errors that |
|
467 | + * may occurr, since the simplexml functions can be |
|
468 | + * somewhat cryptic. |
|
469 | + * |
|
470 | + * @return XMLHelper_SimpleXML |
|
471 | + */ |
|
472 | 472 | public static function createSimplexml() : XMLHelper_SimpleXML |
473 | 473 | { |
474 | 474 | return new XMLHelper_SimpleXML(); |
475 | 475 | } |
476 | 476 | |
477 | - /** |
|
478 | - * Converts a string to valid XML: can be a text only string |
|
479 | - * or an HTML string. Returns valid XML code. |
|
480 | - * |
|
481 | - * NOTE: The string may contain custom tags, which are |
|
482 | - * preserved. |
|
483 | - * |
|
484 | - * @param string $string |
|
485 | - * @throws XMLHelper_Exception |
|
486 | - * @return string |
|
487 | - */ |
|
477 | + /** |
|
478 | + * Converts a string to valid XML: can be a text only string |
|
479 | + * or an HTML string. Returns valid XML code. |
|
480 | + * |
|
481 | + * NOTE: The string may contain custom tags, which are |
|
482 | + * preserved. |
|
483 | + * |
|
484 | + * @param string $string |
|
485 | + * @throws XMLHelper_Exception |
|
486 | + * @return string |
|
487 | + */ |
|
488 | 488 | public static function string2xml(string $string) : string |
489 | 489 | { |
490 | 490 | return XMLHelper_HTMLLoader::loadFragment($string)->fragmentToXML(); |
@@ -243,7 +243,7 @@ discard block |
||
243 | 243 | |
244 | 244 | if (!empty($text)) { |
245 | 245 | $fragment = $this->dom->createDocumentFragment(); |
246 | - if(!@$fragment->appendXML($text)) { |
|
246 | + if (!@$fragment->appendXML($text)) { |
|
247 | 247 | throw new XMLHelper_Exception( |
248 | 248 | 'Cannot append XML fragment', |
249 | 249 | sprintf( |
@@ -285,7 +285,7 @@ discard block |
||
285 | 285 | * @param array<string,mixed> $attributes |
286 | 286 | * @return DOMNode |
287 | 287 | */ |
288 | - public function createRoot(string $name, array $attributes=array()) |
|
288 | + public function createRoot(string $name, array $attributes = array()) |
|
289 | 289 | { |
290 | 290 | $root = $this->dom->appendChild($this->dom->createElement($name)); |
291 | 291 | $this->addAttributes($root, $attributes); |
@@ -311,8 +311,8 @@ discard block |
||
311 | 311 | $string = str_replace('<', 'LT_ESCAPE', $string); |
312 | 312 | $string = str_replace('>', 'GT_ESCAPE', $string); |
313 | 313 | |
314 | - $string = str_replace(' ',' ', $string); |
|
315 | - $string = str_replace('&','&', $string); |
|
314 | + $string = str_replace(' ', ' ', $string); |
|
315 | + $string = str_replace('&', '&', $string); |
|
316 | 316 | |
317 | 317 | return $string; |
318 | 318 | } |
@@ -331,9 +331,9 @@ discard block |
||
331 | 331 | */ |
332 | 332 | public static function downloadXML(string $xml, string $filename = 'download.xml') : void |
333 | 333 | { |
334 | - if(!headers_sent() && !self::$simulation) |
|
334 | + if (!headers_sent() && !self::$simulation) |
|
335 | 335 | { |
336 | - header('Content-Disposition: attachment; filename="' . $filename . '"'); |
|
336 | + header('Content-Disposition: attachment; filename="'.$filename.'"'); |
|
337 | 337 | } |
338 | 338 | |
339 | 339 | echo $xml; |
@@ -347,12 +347,12 @@ discard block |
||
347 | 347 | */ |
348 | 348 | public static function displayXML(string $xml) : void |
349 | 349 | { |
350 | - if(!headers_sent() && !self::$simulation) |
|
350 | + if (!headers_sent() && !self::$simulation) |
|
351 | 351 | { |
352 | 352 | header('Content-Type:text/xml; charset=utf-8'); |
353 | 353 | } |
354 | 354 | |
355 | - if(self::$simulation) |
|
355 | + if (self::$simulation) |
|
356 | 356 | { |
357 | 357 | $xml = '<pre>'.htmlspecialchars($xml).'</pre>'; |
358 | 358 | } |
@@ -370,16 +370,16 @@ discard block |
||
370 | 370 | * @param array<string,string> $customInfo Associative array with name => value pairs for custom tags to add to the output xml |
371 | 371 | * @see buildErrorXML() |
372 | 372 | */ |
373 | - public static function displayErrorXML($code, string $message, string $title, array $customInfo=array()) |
|
373 | + public static function displayErrorXML($code, string $message, string $title, array $customInfo = array()) |
|
374 | 374 | { |
375 | - if(!headers_sent() && !self::$simulation) { |
|
376 | - header('HTTP/1.1 400 Bad Request: ' . $title, true, 400); |
|
375 | + if (!headers_sent() && !self::$simulation) { |
|
376 | + header('HTTP/1.1 400 Bad Request: '.$title, true, 400); |
|
377 | 377 | } |
378 | 378 | |
379 | 379 | self::displayXML(self::buildErrorXML($code, $message, $title, $customInfo)); |
380 | 380 | } |
381 | 381 | |
382 | - public static function setSimulation(bool $simulate=true) : void |
|
382 | + public static function setSimulation(bool $simulate = true) : void |
|
383 | 383 | { |
384 | 384 | self::$simulation = $simulate; |
385 | 385 | } |
@@ -428,7 +428,7 @@ discard block |
||
428 | 428 | * @param array<string,string> $customInfo |
429 | 429 | * @return string |
430 | 430 | */ |
431 | - public static function buildErrorXML($code, string $message, string $title, array $customInfo=array()) |
|
431 | + public static function buildErrorXML($code, string $message, string $title, array $customInfo = array()) |
|
432 | 432 | { |
433 | 433 | $xml = new DOMDocument('1.0', 'UTF-8'); |
434 | 434 | $xml->formatOutput = true; |
@@ -442,7 +442,7 @@ discard block |
||
442 | 442 | $helper->addTextTag($root, 'title', $title); |
443 | 443 | $helper->addTextTag($root, 'request_uri', $_SERVER['REQUEST_URI']); |
444 | 444 | |
445 | - foreach($customInfo as $name => $value) { |
|
445 | + foreach ($customInfo as $name => $value) { |
|
446 | 446 | $helper->addTextTag($root, $name, $value); |
447 | 447 | } |
448 | 448 |