我的变换中有这一行:
<xsl:template match="simplesect[@kind='since']">
当我将其应用于以下内容时:
<detaileddescription>
<para><simplesect kind="since">
<para>yesterday</para>
</simplesect></para></detaileddescription>
我希望它能奏效。
但是,我注意到和标签之间需要存在空间。
所以以下匹配的地方不是
<detaileddescription>
<para> <simplesect kind="since">
<para>yesterday</para>
</simplesect></para></detaileddescription>
我很难过。任何想法为什么或在这里打电话我?现在,我唯一的解决方案是查找<para><simplesect @kind="since">
的每个实例并将其更改为<para> <simplesect @kind=since
。请注意<para>
和<simplesect>
答案 0 :(得分:1)
此样式表:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="simplesect[@kind='since']">
<modified><xsl:apply-templates/></modified>
</xsl:template>
</xsl:stylesheet>
当应用于第一个输入时,产生:
<?xml version="1.0" encoding="utf-8"?>
<detaileddescription>
<para>
<modified>
<para>yesterday</para>
</modified>
</para>
</detaileddescription>