[ Index ] |
PHP Cross Reference of phpBB-3.3.12-deutsch |
[Summary view] [Print] [Text view]
1 <?php 2 3 /** 4 * @package s9e\TextFormatter 5 * @copyright Copyright (c) 2010-2022 The s9e authors 6 * @license http://www.opensource.org/licenses/mit-license.php The MIT License 7 */ 8 namespace s9e\TextFormatter\Configurator\TemplateNormalizations; 9 10 use DOMElement; 11 use DOMText; 12 13 /** 14 * Inline the xsl:attribute declarations of a template 15 * 16 * Will replace 17 * <a><xsl:attribute name="href"><xsl:value-of select="@url"/></xsl:attribute>...</a> 18 * with 19 * <a href="{@url}">...</a> 20 */ 21 class InlineAttributes extends AbstractNormalization 22 { 23 /** 24 * {@inheritdoc} 25 */ 26 protected $queries = ['//*[namespace-uri() != $XSL]/xsl:attribute']; 27 28 /** 29 * {@inheritdoc} 30 */ 31 protected function normalizeElement(DOMElement $element) 32 { 33 $value = ''; 34 foreach ($element->childNodes as $node) 35 { 36 if ($node instanceof DOMText || $this->isXsl($node, 'text')) 37 { 38 $value .= preg_replace('([{}])', '$0$0', $node->textContent); 39 } 40 elseif ($this->isXsl($node, 'value-of')) 41 { 42 $value .= '{' . $node->getAttribute('select') . '}'; 43 } 44 else 45 { 46 // Can't inline this attribute 47 return; 48 } 49 } 50 $element->parentNode->setAttribute($element->getAttribute('name'), $value); 51 $element->parentNode->removeChild($element); 52 } 53 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Sun Jun 23 12:25:44 2024 | Cross-referenced by PHPXref 0.7.1 |