Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 78
0.00% covered (danger)
0.00%
0 / 78
CRAP
0.00% covered (danger)
0.00%
0 / 1
Document
0.00% covered (danger)
0.00%
0 / 78
0.00% covered (danger)
0.00%
0 / 78
6162
0.00% covered (danger)
0.00%
0 / 1
 _unimplemented
n/a
0 / 0
n/a
0 / 0
0
 getImplementation
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getURL
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getDocumentURI
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getCompatMode
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getCharacterSet
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getCharset
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getInputEncoding
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getContentType
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getDoctype
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getDocumentElement
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getElementsByTagName
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getElementsByTagNameNS
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getElementsByClassName
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 createElement
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 createElementNS
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 createDocumentFragment
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 createTextNode
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 createCDATASection
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 createComment
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 createProcessingInstruction
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 importNode
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 adoptNode
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 createAttribute
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 createAttributeNS
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 createEvent
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 createRange
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 createNodeIterator
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 createTreeWalker
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getLocation
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getReferrer
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getCookie
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setCookie
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getLastModified
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getTitle
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setTitle
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getDir
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setDir
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getBody
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setBody
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getHead
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getImages
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getEmbeds
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getPlugins
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getLinks
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getForms
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getScripts
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getElementsByName
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getCurrentScript
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 open
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 close
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 write
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 writeln
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 hasFocus
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getOnreadystatechange
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setOnreadystatechange
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getAnchors
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getApplets
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 clear
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 captureEvents
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 releaseEvents
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getHidden
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getVisibilityState
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getOnvisibilitychange
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setOnvisibilitychange
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getEncoding
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setEncoding
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getPreserveWhiteSpace
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setPreserveWhiteSpace
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getFormatOutput
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setFormatOutput
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getValidateOnParse
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setValidateOnParse
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getStrictErrorChecking
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setStrictErrorChecking
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 loadHTML
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 loadXML
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 saveHTML
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 saveXML
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2
3// AUTOMATICALLY GENERATED.  DO NOT EDIT.
4// Use `composer build` to regenerate.
5
6namespace Wikimedia\IDLeDOM\Stub;
7
8use Exception;
9use Wikimedia\IDLeDOM\Attr;
10use Wikimedia\IDLeDOM\CDATASection;
11use Wikimedia\IDLeDOM\Comment;
12use Wikimedia\IDLeDOM\DocumentFragment;
13use Wikimedia\IDLeDOM\DocumentType;
14use Wikimedia\IDLeDOM\DOMImplementation;
15use Wikimedia\IDLeDOM\Element;
16use Wikimedia\IDLeDOM\ElementCreationOptions;
17use Wikimedia\IDLeDOM\Event;
18use Wikimedia\IDLeDOM\EventHandlerNonNull;
19use Wikimedia\IDLeDOM\HTMLCollection;
20use Wikimedia\IDLeDOM\HTMLElement;
21use Wikimedia\IDLeDOM\HTMLHeadElement;
22use Wikimedia\IDLeDOM\HTMLScriptElement;
23use Wikimedia\IDLeDOM\Location;
24use Wikimedia\IDLeDOM\Node;
25use Wikimedia\IDLeDOM\NodeFilter;
26use Wikimedia\IDLeDOM\NodeIterator;
27use Wikimedia\IDLeDOM\NodeList;
28use Wikimedia\IDLeDOM\ProcessingInstruction;
29use Wikimedia\IDLeDOM\Range;
30use Wikimedia\IDLeDOM\Text;
31use Wikimedia\IDLeDOM\TreeWalker;
32
33trait Document {
34    // use \Wikimedia\IDLeDOM\Stub\DocumentAndElementEventHandlers;
35    // use \Wikimedia\IDLeDOM\Stub\DocumentOrShadowRoot;
36    // use \Wikimedia\IDLeDOM\Stub\GlobalEventHandlers;
37    // use \Wikimedia\IDLeDOM\Stub\NonElementParentNode;
38    // use \Wikimedia\IDLeDOM\Stub\ParentNode;
39    // use \Wikimedia\IDLeDOM\Stub\XPathEvaluatorBase;
40
41    // Underscore is used to avoid conflicts with DOM-reserved names
42    // phpcs:disable PSR2.Methods.MethodDeclaration.Underscore
43    // phpcs:disable MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName
44
45    /**
46     * @return Exception
47     */
48    abstract protected function _unimplemented(): Exception;
49
50    // phpcs:enable
51
52    /**
53     * @return DOMImplementation
54     */
55    public function getImplementation() {
56        throw self::_unimplemented();
57    }
58
59    /**
60     * @return string
61     */
62    public function getURL(): string {
63        throw self::_unimplemented();
64    }
65
66    /**
67     * @return string
68     */
69    public function getDocumentURI(): string {
70        throw self::_unimplemented();
71    }
72
73    /**
74     * @return string
75     */
76    public function getCompatMode(): string {
77        throw self::_unimplemented();
78    }
79
80    /**
81     * @return string
82     */
83    public function getCharacterSet(): string {
84        throw self::_unimplemented();
85    }
86
87    /**
88     * @return string
89     */
90    public function getCharset(): string {
91        throw self::_unimplemented();
92    }
93
94    /**
95     * @return string
96     */
97    public function getInputEncoding(): string {
98        throw self::_unimplemented();
99    }
100
101    /**
102     * @return string
103     */
104    public function getContentType(): string {
105        throw self::_unimplemented();
106    }
107
108    /**
109     * @return DocumentType|null
110     */
111    public function getDoctype() {
112        throw self::_unimplemented();
113    }
114
115    /**
116     * @return Element|null
117     */
118    public function getDocumentElement() {
119        throw self::_unimplemented();
120    }
121
122    /**
123     * @param string $qualifiedName
124     * @return HTMLCollection
125     */
126    public function getElementsByTagName( string $qualifiedName ) {
127        throw self::_unimplemented();
128    }
129
130    /**
131     * @param ?string $namespace
132     * @param string $localName
133     * @return HTMLCollection
134     */
135    public function getElementsByTagNameNS( ?string $namespace, string $localName ) {
136        throw self::_unimplemented();
137    }
138
139    /**
140     * @param string $classNames
141     * @return HTMLCollection
142     */
143    public function getElementsByClassName( string $classNames ) {
144        throw self::_unimplemented();
145    }
146
147    /**
148     * @param string $localName
149     * @param string|ElementCreationOptions|associative-array|null $options
150     * @return Element
151     */
152    public function createElement( string $localName, /* ?mixed */ $options = null ) {
153        throw self::_unimplemented();
154    }
155
156    /**
157     * @param ?string $namespace
158     * @param string $qualifiedName
159     * @param string|ElementCreationOptions|associative-array|null $options
160     * @return Element
161     */
162    public function createElementNS( ?string $namespace, string $qualifiedName, /* ?mixed */ $options = null ) {
163        throw self::_unimplemented();
164    }
165
166    /**
167     * @return DocumentFragment
168     */
169    public function createDocumentFragment() {
170        throw self::_unimplemented();
171    }
172
173    /**
174     * @param string $data
175     * @return Text
176     */
177    public function createTextNode( string $data ) {
178        throw self::_unimplemented();
179    }
180
181    /**
182     * @param string $data
183     * @return CDATASection
184     */
185    public function createCDATASection( string $data ) {
186        throw self::_unimplemented();
187    }
188
189    /**
190     * @param string $data
191     * @return Comment
192     */
193    public function createComment( string $data ) {
194        throw self::_unimplemented();
195    }
196
197    /**
198     * @param string $target
199     * @param string $data
200     * @return ProcessingInstruction
201     */
202    public function createProcessingInstruction( string $target, string $data ) {
203        throw self::_unimplemented();
204    }
205
206    /**
207     * @param Node $node
208     * @param bool $deep
209     * @return Node
210     */
211    public function importNode( /* Node */ $node, bool $deep = false ) {
212        throw self::_unimplemented();
213    }
214
215    /**
216     * @param Node $node
217     * @return Node
218     */
219    public function adoptNode( /* Node */ $node ) {
220        throw self::_unimplemented();
221    }
222
223    /**
224     * @param string $localName
225     * @return Attr
226     */
227    public function createAttribute( string $localName ) {
228        throw self::_unimplemented();
229    }
230
231    /**
232     * @param ?string $namespace
233     * @param string $qualifiedName
234     * @return Attr
235     */
236    public function createAttributeNS( ?string $namespace, string $qualifiedName ) {
237        throw self::_unimplemented();
238    }
239
240    /**
241     * @param string $interface
242     * @return Event
243     */
244    public function createEvent( string $interface ) {
245        throw self::_unimplemented();
246    }
247
248    /**
249     * @return Range
250     */
251    public function createRange() {
252        throw self::_unimplemented();
253    }
254
255    /**
256     * @param Node $root
257     * @param int $whatToShow
258     * @param NodeFilter|callable|null $filter
259     * @return NodeIterator
260     */
261    public function createNodeIterator( /* Node */ $root, int $whatToShow = -1, /* ?mixed */ $filter = null ) {
262        throw self::_unimplemented();
263    }
264
265    /**
266     * @param Node $root
267     * @param int $whatToShow
268     * @param NodeFilter|callable|null $filter
269     * @return TreeWalker
270     */
271    public function createTreeWalker( /* Node */ $root, int $whatToShow = -1, /* ?mixed */ $filter = null ) {
272        throw self::_unimplemented();
273    }
274
275    /**
276     * @return Location|null
277     */
278    public function getLocation() {
279        throw self::_unimplemented();
280    }
281
282    /**
283     * @return string
284     */
285    public function getReferrer(): string {
286        throw self::_unimplemented();
287    }
288
289    /**
290     * @return string
291     */
292    public function getCookie(): string {
293        throw self::_unimplemented();
294    }
295
296    /**
297     * @param string $val
298     */
299    public function setCookie( string $val ): void {
300        throw self::_unimplemented();
301    }
302
303    /**
304     * @return string
305     */
306    public function getLastModified(): string {
307        throw self::_unimplemented();
308    }
309
310    /**
311     * @return string
312     */
313    public function getTitle(): string {
314        throw self::_unimplemented();
315    }
316
317    /**
318     * @param string $val
319     */
320    public function setTitle( string $val ): void {
321        throw self::_unimplemented();
322    }
323
324    /**
325     * @return string
326     */
327    public function getDir(): string {
328        throw self::_unimplemented();
329    }
330
331    /**
332     * @param string $val
333     */
334    public function setDir( string $val ): void {
335        throw self::_unimplemented();
336    }
337
338    /**
339     * @return HTMLElement|null
340     */
341    public function getBody() {
342        throw self::_unimplemented();
343    }
344
345    /**
346     * @param HTMLElement|null $val
347     */
348    public function setBody( /* ?HTMLElement */ $val ): void {
349        throw self::_unimplemented();
350    }
351
352    /**
353     * @return HTMLHeadElement|null
354     */
355    public function getHead() {
356        throw self::_unimplemented();
357    }
358
359    /**
360     * @return HTMLCollection
361     */
362    public function getImages() {
363        throw self::_unimplemented();
364    }
365
366    /**
367     * @return HTMLCollection
368     */
369    public function getEmbeds() {
370        throw self::_unimplemented();
371    }
372
373    /**
374     * @return HTMLCollection
375     */
376    public function getPlugins() {
377        throw self::_unimplemented();
378    }
379
380    /**
381     * @return HTMLCollection
382     */
383    public function getLinks() {
384        throw self::_unimplemented();
385    }
386
387    /**
388     * @return HTMLCollection
389     */
390    public function getForms() {
391        throw self::_unimplemented();
392    }
393
394    /**
395     * @return HTMLCollection
396     */
397    public function getScripts() {
398        throw self::_unimplemented();
399    }
400
401    /**
402     * @param string $elementName
403     * @return NodeList
404     */
405    public function getElementsByName( string $elementName ) {
406        throw self::_unimplemented();
407    }
408
409    /**
410     * @return HTMLScriptElement|null
411     */
412    public function getCurrentScript() {
413        throw self::_unimplemented();
414    }
415
416    /**
417     * @param string $type
418     * @param string $replace
419     * @return \Wikimedia\IDLeDOM\Document
420     */
421    public function open( string $type = 'text/html', string $replace = '' ) {
422        throw self::_unimplemented();
423    }
424
425    /**
426     * @return void
427     */
428    public function close(): void {
429        throw self::_unimplemented();
430    }
431
432    /**
433     * @param string ...$text
434     * @return void
435     */
436    public function write( string ...$text ): void {
437        throw self::_unimplemented();
438    }
439
440    /**
441     * @param string ...$text
442     * @return void
443     */
444    public function writeln( string ...$text ): void {
445        throw self::_unimplemented();
446    }
447
448    /**
449     * @return bool
450     */
451    public function hasFocus(): bool {
452        throw self::_unimplemented();
453    }
454
455    /**
456     * @return EventHandlerNonNull|callable|null
457     */
458    public function getOnreadystatechange() {
459        throw self::_unimplemented();
460    }
461
462    /**
463     * @param EventHandlerNonNull|callable|null $val
464     */
465    public function setOnreadystatechange( /* ?mixed */ $val ): void {
466        throw self::_unimplemented();
467    }
468
469    /**
470     * @return HTMLCollection
471     */
472    public function getAnchors() {
473        throw self::_unimplemented();
474    }
475
476    /**
477     * @return HTMLCollection
478     */
479    public function getApplets() {
480        throw self::_unimplemented();
481    }
482
483    /**
484     * @return void
485     */
486    public function clear(): void {
487        throw self::_unimplemented();
488    }
489
490    /**
491     * @return void
492     */
493    public function captureEvents(): void {
494        throw self::_unimplemented();
495    }
496
497    /**
498     * @return void
499     */
500    public function releaseEvents(): void {
501        throw self::_unimplemented();
502    }
503
504    /**
505     * @return bool
506     */
507    public function getHidden(): bool {
508        throw self::_unimplemented();
509    }
510
511    /**
512     * @return string
513     */
514    public function getVisibilityState(): /* VisibilityState */ string {
515        throw self::_unimplemented();
516    }
517
518    /**
519     * @return EventHandlerNonNull|callable|null
520     */
521    public function getOnvisibilitychange() {
522        throw self::_unimplemented();
523    }
524
525    /**
526     * @param EventHandlerNonNull|callable|null $val
527     */
528    public function setOnvisibilitychange( /* ?mixed */ $val ): void {
529        throw self::_unimplemented();
530    }
531
532    /**
533     * @return string
534     */
535    public function getEncoding(): string {
536        throw self::_unimplemented();
537    }
538
539    /**
540     * @param string $val
541     */
542    public function setEncoding( string $val ): void {
543        throw self::_unimplemented();
544    }
545
546    /**
547     * @return bool
548     */
549    public function getPreserveWhiteSpace(): bool {
550        throw self::_unimplemented();
551    }
552
553    /**
554     * @param bool $val
555     */
556    public function setPreserveWhiteSpace( bool $val ): void {
557        throw self::_unimplemented();
558    }
559
560    /**
561     * @return bool
562     */
563    public function getFormatOutput(): bool {
564        throw self::_unimplemented();
565    }
566
567    /**
568     * @param bool $val
569     */
570    public function setFormatOutput( bool $val ): void {
571        throw self::_unimplemented();
572    }
573
574    /**
575     * @return bool
576     */
577    public function getValidateOnParse(): bool {
578        throw self::_unimplemented();
579    }
580
581    /**
582     * @param bool $val
583     */
584    public function setValidateOnParse( bool $val ): void {
585        throw self::_unimplemented();
586    }
587
588    /**
589     * @return bool
590     */
591    public function getStrictErrorChecking(): bool {
592        throw self::_unimplemented();
593    }
594
595    /**
596     * @param bool $val
597     */
598    public function setStrictErrorChecking( bool $val ): void {
599        throw self::_unimplemented();
600    }
601
602    /**
603     * @param string $source
604     * @param int $options
605     * @return bool
606     */
607    public function loadHTML( string $source, int $options = 0 ): bool {
608        throw self::_unimplemented();
609    }
610
611    /**
612     * @param string $source
613     * @param int $options
614     * @return bool
615     */
616    public function loadXML( string $source, int $options = 0 ): bool {
617        throw self::_unimplemented();
618    }
619
620    /**
621     * @param Node|null $node
622     * @return string|bool
623     */
624    public function saveHTML( /* ?Node */ $node = null ) {
625        throw self::_unimplemented();
626    }
627
628    /**
629     * @param Node|null $node
630     * @param int $options
631     * @return string|bool
632     */
633    public function saveXML( /* ?Node */ $node = null, int $options = 0 ) {
634        throw self::_unimplemented();
635    }
636
637}