Xml 使轴成为整个选择的默认轴
我想使轴成为整个选择的默认轴 我自己读过上面的句子后,我知道它很不清楚,所以这里有一个较长的解释: 我正在寻找缩短这段代码的方法:Xml 使轴成为整个选择的默认轴,xml,xslt,xpath,Xml,Xslt,Xpath,我想使轴成为整个选择的默认轴 我自己读过上面的句子后,我知道它很不清楚,所以这里有一个较长的解释: 我正在寻找缩短这段代码的方法: <xsl:variable name="v"> <xsl:choose> <xsl:when test="self::name|self::history|self::area|self::title">qwerty</xsl:when>
<xsl:variable name="v">
<xsl:choose>
<xsl:when test="self::name|self::history|self::area|self::title">qwerty</xsl:when>
</xsl:choose>
</xsl:variable>
我说的是:self::name | self::history | self::area | self::title有没有办法把它缩短成这样:self::name | history | area | title
或者你们能提出什么建议
select="self::name/following-sibling::*"
有可能…如果所讨论的元素是架构中替换组的一部分,那么您可以编写self::schema elemente,其中e是替换组的头。这是一种非常有用的技术,其中有大量可互换的元素。在XSD 1.1中,元素可以属于多个替换组,因此您甚至可以专门为此目的引入替换组。另一种方法:每当看到xsl:choose时,询问是否可以使用xsl:apply模板。为什么不:
<xsl:template match="name|history|area|title" mode="zingo">qwerty</xsl:template>
<xsl:template match="*" mode="zingo"/>
<xsl:apply-templates select="self::*" mode="zingo"/>
这是可能的,但它的意思与原来的表达完全不同,所以我不知道你为什么要提出它。顺便问一下,你有什么理由这么做::*而不是仅仅一个。还是self::node?