public function check(DOMElement $template, Tag $tag)
	{
		// Regexp that matches the function call
		$regexp = '#(?!<\\pL)' . preg_quote($this->funcName, '#') . '\\s*\\(#iu';

		// Allow whitespace around colons (NOTE: colons are unnecessarily escaped by preg_quote())
		$regexp = str_replace('\\:', '\\s*:\\s*', $regexp);

		foreach ($this->getExpressions($template) as $expr => $node)
		{
			// Remove string literals from the expression
			$expr = preg_replace('#([\'"]).*?\\1#s', '', $expr);

			// Test whether the expression contains a document() call
			if (preg_match($regexp, $expr))
			{
				throw new UnsafeTemplateException('An XPath expression uses the ' . $this->funcName . '() function', $node);
			}
		}
	}
public function check(DOMElement $template, Tag $tag)
	{
		// Regexp that matches the function call
		$regexp = '#(?!<\\pL)' . preg_quote($this->funcName, '#') . '\\s*\\(#iu';

		// Allow whitespace around colons (NOTE: colons are unnecessarily escaped by preg_quote())
		$regexp = str_replace('\\:', '\\s*:\\s*', $regexp);

		foreach ($this->getExpressions($template) as $expr => $node)
		{
			// Remove string literals from the expression
			$expr = preg_replace('#([\'"]).*?\\1#s', '', $expr);

			// Test whether the expression contains a document() call
			if (preg_match($regexp, $expr))
			{
				throw new UnsafeTemplateException('An XPath expression uses the ' . $this->funcName . '() function', $node);
			}
		}
	}
public function check ( DOMElement $ template , Tag $ tag ) { // Regexp that matches the function call $ regexp = '#(?!<\\pL)' . preg_quote ( $ this -> funcName , '#' ) . '\\s*\\(#iu' ; // Allow whitespace around colons (NOTE: colons are unnecessarily escaped by preg_quote()) $ regexp = str_replace ( '\\:' , '\\s*:\\s*' , $ regexp ) ; foreach ( $ this -> getExpressions ( $ template ) as $ expr => $ node ) { // Remove string literals from the expression $ expr = preg_replace ( '#([\'"]).*?\\1#s' , '' , $ expr ) ; // Test whether the expression contains a document() call if ( preg_match ( $ regexp , $ expr ) ) { throw new UnsafeTemplateException ( 'An XPath expression uses the ' . $ this -> funcName . '() function' , $ node ) ; } } }
Test for the presence of given XPath function

@param  DOMElement $template <xsl:template/> node
@param  Tag        $tag      Tag this template belongs to
@return void
Test for the presence of given XPath function