[英]xsl:for-each, then xsl:value for same element?
使用for-each调用元素后,能否提取元素的值?
输入项
<draft_mac_data>
<maintenance_function justification="center">Setup</maintenance_function>
<maintenance_level_c justification="center">10.00</maintenance_level_c>
<tools_test_equipment_codes>
<tools_test_equipment_reference_code>42</tools_test_equipment_reference_code>
<tools_test_equipment_reference_code>48</tools_test_equipment_reference_code>
<tools_test_equipment_reference_code>49</tools_test_equipment_reference_code>
<tools_test_equipment_reference_code>78</tools_test_equipment_reference_code>
<tools_test_equipment_reference_code>100</tools_test_equipment_reference_code>
<tools_test_equipment_reference_code>101</tools_test_equipment_reference_code>
<tools_test_equipment_reference_code>114</tools_test_equipment_reference_code>
<tools_test_equipment_reference_code>117</tools_test_equipment_reference_code>
<tools_test_equipment_reference_code>124</tools_test_equipment_reference_code>
<tools_test_equipment_reference_code>128</tools_test_equipment_reference_code>
<tools_test_equipment_reference_code>151</tools_test_equipment_reference_code>
<tools_test_equipment_reference_code>165</tools_test_equipment_reference_code>
<tools_test_equipment_reference_code>169</tools_test_equipment_reference_code>
<tools_test_equipment_reference_code>176</tools_test_equipment_reference_code>
<tools_test_equipment_reference_code>177</tools_test_equipment_reference_code>
<tools_test_equipment_reference_code>196</tools_test_equipment_reference_code>
<tools_test_equipment_reference_code>235</tools_test_equipment_reference_code>
</tools_test_equipment_codes>
</draft_mac_data>
XSLT剪辑:
<qualify-2lvl>
<maintfunc><xsl:attribute name="func"><xsl:value-of select="doc:maintenance_function"/></xsl:attribute></maintfunc>
<xsl:for-each select="doc:maintenance_level_c">
<maintclass-2lvl>
<c><xsl:value-of select="doc:maintenance_level_c"/></c>
</maintclass-2lvl>
</xsl:for-each>
<xsl:for-each select="doc:maintenance_level_f">
<maintclass-2lvl>
<f><xsl:value-of select="doc:maintenance_level_f"/></f>
</maintclass-2lvl>
</xsl:for-each>
<xsl:for-each select="doc:maintenance_level_h">
<maintclass-2lvl>
<h><xsl:value-of select="doc:maintenance_level_h"/></h>
</maintclass-2lvl>
</xsl:for-each>
<xsl:for-each select="doc:maintenance_level_d">
<maintclass-2lvl>
<d><xsl:value-of select="doc:maintenance_level_d"/></d>
</maintclass-2lvl>
</xsl:for-each>
<xsl:for-each select="doc:tools_test_equipment_codes/doc:tools_test_equipment_reference_code">
<trefs>
<tref><xsl:attribute name="refs"><xsl:value-of select="concat('teref', doc:tools_test_equipment_reference_code)"/></xsl:attribute></tref>
</trefs>
</xsl:for-each>
</qualify-2lvl>
输出量
<qualify-2lvl>
<maintfunc func="Load / Unload"/>
<maintclass-2lvl>
<c/>
</maintclass-2lvl>
<trefs>
<tref refs="teref"/>
</trefs>
<trefs>
<tref refs="teref"/>
</trefs>
<trefs>
<tref refs="teref"/>
</trefs>
<trefs>
<tref refs="teref"/>
</trefs>
<trefs>
<tref refs="teref"/>
</trefs>
</qualify-2lvl>
例如。 我想对每个tools_test_equipment_reference_code元素说 并使用tools_test_equipment_reference_code元素的值填充refs属性。
有更精确的方法吗? 我错过了什么吗?
在xsl:for-each select="doc:maintenance_level_c"
,上下文节点是该元素,因此要使用<xsl:value-of select="."/>
输出其值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.