friendship ended with social-app. php is my new best friend
1<?php
2/**
3 * @file
4 * The interface definition for Rules to generate output.
5 */
6
7namespace Masterminds\HTML5\Serializer;
8
9/**
10 * To create a new rule set for writing output the RulesInterface needs to be implemented.
11 * The resulting class can be specified in the options with the key of rules.
12 *
13 * For an example implementation see Serializer\OutputRules.
14 */
15interface RulesInterface
16{
17 /**
18 * The class constructor.
19 *
20 * Note, before the rules can be used a traverser must be registered.
21 *
22 * @param mixed $output The output stream to write output to.
23 * @param array $options An array of options.
24 */
25 public function __construct($output, $options = array());
26
27 /**
28 * Register the traverser used in but the rules.
29 *
30 * Note, only one traverser can be used by the rules.
31 *
32 * @param Traverser $traverser The traverser used in the rules.
33 *
34 * @return RulesInterface $this for the current object.
35 */
36 public function setTraverser(Traverser $traverser);
37
38 /**
39 * Write a document element (\DOMDocument).
40 *
41 * Instead of returning the result write it to the output stream ($output)
42 * that was passed into the constructor.
43 *
44 * @param \DOMDocument $dom
45 */
46 public function document($dom);
47
48 /**
49 * Write an element.
50 *
51 * Instead of returning the result write it to the output stream ($output)
52 * that was passed into the constructor.
53 *
54 * @param mixed $ele
55 */
56 public function element($ele);
57
58 /**
59 * Write a text node.
60 *
61 * Instead of returning the result write it to the output stream ($output)
62 * that was passed into the constructor.
63 *
64 * @param mixed $ele
65 */
66 public function text($ele);
67
68 /**
69 * Write a CDATA node.
70 *
71 * Instead of returning the result write it to the output stream ($output)
72 * that was passed into the constructor.
73 *
74 * @param mixed $ele
75 */
76 public function cdata($ele);
77
78 /**
79 * Write a comment node.
80 *
81 * Instead of returning the result write it to the output stream ($output)
82 * that was passed into the constructor.
83 *
84 * @param mixed $ele
85 */
86 public function comment($ele);
87
88 /**
89 * Write a processor instruction.
90 *
91 * To learn about processor instructions see InstructionProcessor
92 *
93 * Instead of returning the result write it to the output stream ($output)
94 * that was passed into the constructor.
95 *
96 * @param mixed $ele
97 */
98 public function processorInstruction($ele);
99}