繁体   English   中英

xsl:for-each,然后xsl:value是同一元素吗?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM