Mercurial > hg > isophonics-drupal-site
comparison vendor/masterminds/html5/src/HTML5/InstructionProcessor.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children | 129ea1e6d783 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:4c8ae668cc8c |
---|---|
1 <?php | |
2 /** | |
3 * A handler for processor instructions. | |
4 */ | |
5 namespace Masterminds\HTML5; | |
6 | |
7 /** | |
8 * Provide an processor to handle embedded instructions. | |
9 * | |
10 * XML defines a mechanism for inserting instructions (like PHP) into a | |
11 * document. These are called "Processor Instructions." The HTML5 parser | |
12 * provides an opportunity to handle these processor instructions during | |
13 * the tree-building phase (before the DOM is constructed), which makes | |
14 * it possible to alter the document as it is being created. | |
15 * | |
16 * One could, for example, use this mechanism to execute well-formed PHP | |
17 * code embedded inside of an HTML5 document. | |
18 */ | |
19 interface InstructionProcessor | |
20 { | |
21 | |
22 /** | |
23 * Process an individual processing instruction. | |
24 * | |
25 * The process() function is responsible for doing the following: | |
26 * - Determining whether $name is an instruction type it can handle. | |
27 * - Determining what to do with the data passed in. | |
28 * - Making any subsequent modifications to the DOM by modifying the | |
29 * DOMElement or its attached DOM tree. | |
30 * | |
31 * @param DOMElement $element | |
32 * The parent element for the current processing instruction. | |
33 * @param string $name | |
34 * The instruction's name. E.g. `<?php` has the name `php`. | |
35 * @param string $data | |
36 * All of the data between the opening and closing PI marks. | |
37 * @return DOMElement The element that should be considered "Current". This may just be | |
38 * the element passed in, but if the processor added more elements, | |
39 * it may choose to reset the current element to one of the elements | |
40 * it created. (When in doubt, return the element passed in.) | |
41 */ | |
42 public function process(\DOMElement $element, $name, $data); | |
43 } |