我正在开发一个XSLT,我将XML转换为漂亮的html标记。
我在下面输入了XML:
<div>
A<a href="hell.aspx?id=G430"> firm</a> must conduct its business with integrity.
</div>
我想把它变成:
public function getPlainPassword()
{
return $this->plainPassword;
}
除了创建这个链接节点之外,大多数转换都非常简单。
答案 0 :(得分:1)
您应该使用xsl:value-of
来添加更多模板来转换后代节点,而不是使用text
来获取xsl:apply-templates
节点的值
试试这个XSLT
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml"/>
<xsl:template match="entry">
<div>
<xsl:apply-templates select="text"/>
</div>
</xsl:template>
<xsl:template match="text">
<xsl:apply-templates />
</xsl:template>
<xsl:template match="autodeftext">
<a href="hell.aspx?id={@glossary-id}">
<xsl:apply-templates />
</a>
</xsl:template>
</xsl:stylesheet>
严格来说,您实际上可以删除匹配text
的模板,因为XSLT built-in template rules无论如何都会做同样的事情。
请注意在创建href
属性时使用Attribute Value Templates来简化代码。