以下是我的XMLXSLT 2.0匹配表達式
<GSP VER="3.2">
<TM>0.065909</TM>
<Q>Michael</Q>
<PARAM name="q" value="Michael" original_value="Michael"/>
<PARAM name="btnG" value="Google Search" original_value="Google+Search"/>
<PARAM name="access" value="a" original_value="a"/>
<PARAM name="output" value="xml_no_dtd" original_value="xml_no_dtd"/>
<PARAM name="sort" value="date:D:L:d1" original_value="date:D:L:d1"/>
<PARAM name="wc" value="200" original_value="200"/>
<PARAM name="site" value="default_collection" original_value="default_collection"/>
..
我要匹配的屬性「值」,這是「邁克爾」的值。
這是我的xslt。
<xsl:template name="gsa_custom_tabs">
<xsl:variable name="tabs">
<tabs>
<tab name="All" col="default_collection" ctype="All_tab"></tab>
<tab name="Courses" col="file_system" ctype="file_system"></tab>
<tab name="Policies" col="policy" ctype="policy"></tab>
<tab name="Library" col="lib" ctype="lib"></tab>
<tab name="Other Systems" col="other" ctype="other"></tab>
</tabs>
</xsl:variable>
<link rel="stylesheet" type="text/css" href="//xxx/collection_tabs.css"></link>
<div class="container" id="centeredmenu">
<ul class="search-collection-list desktop">
<xsl:for-each select="$tabs/tabs/tab">
<xsl:variable name="col" select="@col" />
<xsl:choose>
<xsl:when test="/GSP/PARAM[@name='site']/@value = 'default_collection'">
<li class="search-collection-tab-item" id="active">
<a href="{$gsa_search_root_path_prefix}?{$custom_tab_url}&site={$col}" ctype="{@ctype}" class="Active">
<xsl:value-of select="@name"></xsl:value-of>
</a>
</li>
</xsl:when>
<xsl:otherwise>
<li class="search-collection-tab-item">
<xsl:variable name="debug" select="/GSP/PARAM[@name='site']/@value"></xsl:variable>
<a href="{$gsa_search_root_path_prefix}?{$custom_tab_url}&site={$col}" ctype="{@ctype}">
<xsl:value-of select="@name"></xsl:value-of>
<xsl:value-of select="$debug"></xsl:value-of>
</a>
</li>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</ul>
</div>
</xsl:template>
假定變量$ col的值是Michael。
即使我可以看到XML包含節點,但測試失敗。
我顯示了整個代碼。 –