Xml xslt自动关闭标记添加属性

Xml xslt自动关闭标记添加属性,xml,xslt,Xml,Xslt,我有一些文字,比如, 输入: 有两个共同感兴趣的候选目标: 正确的 预期产出: 有两个候选者 共同关心的目标: 正确的 我试过下面的代码, 它只返回 Q 请提前感谢。这将以请求的格式生成rid属性: <xsl:template match="node()[starts-with(name(),'Q')]"> <xref ref-type="query"> <xsl:attribute name="rid">

我有一些文字,比如, 输入:

有两个共同感兴趣的
候选目标
: 正确的

预期产出:

有两个
候选者 共同关心的目标
: 正确的

我试过下面的代码, 它只返回


Q

请提前感谢。这将以请求的格式生成rid属性:

<xsl:template match="node()[starts-with(name(),'Q')]">
    <xref ref-type="query">
         <xsl:attribute name="rid">
              <xsl:text>Q</xsl:text><xsl:number format="0001" value="substring-after(name(), 'Q')"/>
        </xsl:attribute>
    </xref>
</xsl:template>

Q

它显示转换错误系统ID:KLI.xsl场景:KLI xsl文件:KLI.xsl XML文件:WOCO-380202.XML引擎名称:Saxon PE 9.3.0.5严重性:错误描述:未能编译样式表。检测到1个错误。系统ID:KLI.xsl场景:KLI xsl文件:KLI.xsl XML文件:WOCO-380202.XML引擎名称:Saxon PE 9.3.0.5严重性:致命描述:级别属性和值属性不能同时存在开始位置:93:115 URL:在xslt 1.0中是允许的。但是只要删除
level
属性,它就可以在Saxon 9中工作。
<xsl:template match="node()[starts-with(name(),'Q')]">
    <xref ref-type="query">
         <xsl:attribute name="rid">
              <xsl:text>Q</xsl:text><xsl:number format="0001" value="substring-after(name(), 'Q')"/>
        </xsl:attribute>
    </xref>
</xsl:template>