Я очень долго пытался написать простой php оператор echo в файле .xsl, но каждый сайт, на который я смотрю, кажется, не работает для меня, когда я ввожу тег инструкции обработки. Я даже попытался изменить пространство имен для php, и я не уверен, почему мой код не выводит оператор echo. Вот мой файл .xsl:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:php="http://php.net/xsl"
exclude-result-prefixes="php" version="1.0">
<xsl:output omit-xml-declaration="yes" method="html" />
<xsl:template match="/">
<html>
<head>
</head>
<body bgcolor="#000">
<div class="main" style="background:lightblue;">
<xsl:processing-instruction name="php">
echo 'OK IT DOESN't WORK!!!!!!!!!!!!!!!!!!!';
</xsl:processing-instruction>
<xsl:for-each select="webpage/content/main">
<a href="{link}" style="color:#000; text-decoration:none;">
<h1><xsl:value-of select="heading" /></h1>
<h2><xsl:value-of select="subheading" /></h2>
<div class="img">
<img src="../images/{image}" width="100%" height="auto"/>
</div>
<xsl:value-of select="description" />
</a>
</xsl:for-each>
</div>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Я также попытался использовать следующий тег для окружения тегов html, а затем использовал тег инструкции обработки в любом месте между ними:
<xsl:result-document href="example.php" method="html">
</xsl:result-document>
И все еще нет удачи. Кто-нибудь может показать мне, что я делаю не так?