Php 生成xsl文档
我想使用php为我的xsl生成一个可视化的“文档”。我想做的基本上是在不使用XML的情况下转换xsl,以显示XML字段在HTML中的显示方式 澄清: xsl:Php 生成xsl文档,php,xslt,transform,Php,Xslt,Transform,我想使用php为我的xsl生成一个可视化的“文档”。我想做的基本上是在不使用XML的情况下转换xsl,以显示XML字段在HTML中的显示方式 澄清: xsl: 我的样品 我的示例元素: 请求的输出: <html> <head> <title>My sample</title> </head> <body> My sample element: root/element1 </body> <
我的样品
我的示例元素:
请求的输出:
<html>
<head>
<title>My sample</title>
</head>
<body>
My sample element: root/element1
</body>
</html>
我的样品
我的示例元素:root/element1
有人知道怎么做吗
BR,JakeXSLT是输入驱动的。If将为不同的输入生成不同的输出 在任何比您的简单示例更复杂的真实场景中,在没有任何输入的情况下查看代码意味着您无法说出输出将是什么样子 对于您的简单示例,您可以通过另一个XSLT样式表运行XSLT样式表
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>
<xsl:output method="text" />
<xsl:template match="*">
<xsl:value-of select="concat('<', name())" />
<xsl:apply-templates select="@*" />
<xsl:value-of select="'>'" />
<xsl:apply-templates select="*" />
<xsl:value-of select="concat('</', name(), '>')" />
</xsl:template>
<xsl:template match="@*">
<xsl:value-of select="concat(' ', name(), '="', ., '"')" />
</xsl:template>
<xsl:template match="xsl:*">
<xsl:apply-templates select="*" />
</xsl:template>
<xsl:template match="xsl:value-of">
<xsl:value-of select="concat('{{value-of: ', @select, '}}')" />
</xsl:template>
<!-- add appropriate templates for the other XSLT elements -->
</xsl:stylesheet>
对于示例,这将生成字符串
<head><title></title></head><body>{{value-of: root/element1}}</body>
{{value of:root/element1}
然而,“为其他XSLT元素添加适当的模板”部分是难点。您的输出将按照输入的顺序进行(正如我所说的,XSLT是输入驱动的)。XSLT程序的布局很可能与它将要生成的输出不同,因此从中生成合理的文档可能比您想象的要困难得多。XSL是一个语言家族。你在谈论XSLT吗?另外,请重写这个问题——首先,请不要低估您试图实现的目标。请给出一些XSL的确切示例以及您想从中创建什么。(我所说的“精确”并不是指“像那样”挥手,而是指一个完整的描述。)请编辑这个问题并解释您在“xslt文档”中的含义——这一点并不清楚。指定的所需输出与XSLT文档无关——您确定知道需要什么吗?谢谢。这就是我要找的。我一直在尝试添加一些我需要的额外功能,但没有成功。您能告诉我如何显示if语句和for each循环吗?此外,我也不知道如何在使用上述方法转换后将文本保留在html中。我编辑了上面的例子来解释我想做什么
<head><title></title></head><body>{{value-of: root/element1}}</body>