给定XML代码:
<?xml version="1.0" encoding="utf-8"?>
<autoverleih>
<kunden>
<kunde id="p1">
<name nachname="Mustermann" vorname="Mario"/>
<versicherung name="super1" kasko="true"/>
</kunde>
<kunde id="p4">
<name nachname="Gans" vorname="Maria"/>
<versicherung name="die-beste" kasko="false"/>
</kunde>
<kunde id="p54">
<name nachname="Gans" vorname="Gustav"/>
<versicherung name="super1" kasko="false"/>
</kunde>
</kunden>
<ausleihen>
<vertrag kunde="p1" wert="1521.07" datum="2014-07-02" bezahlt="true"/>
<vertrag kunde="p4" wert="397.96" datum="2014-07-12" bezahlt="false"/>
<vertrag kunde="p1" wert="51.23" datum="2014-06-13" bezahlt="true"/>
<vertrag kunde="p54" wert="127.12" datum="2014-08-01" bezahlt="false"/>
</ausleihen>
</autoverleih>
以及以下XSLT:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform". version="2.0">
<xsl:template match=”autoverleih">
<xsl:value-of select="./kunden/kunde/@id”>
</xsl:template>
<xsl:template match=”vertrag”>
<xsl:value-of select=”../kunde”/>
<xsl:value-of select=”./wert”/>
</xsl:template>
</xsl:stylesheet>
我需要更改此代码,以便对于每个结仅输出其Id和wert属性。
如果您想参考vertrag
,kunde
我可以使用一个键:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
exclude-result-prefixes="#all"
version="3.0">
<xsl:output method="text"/>
<xsl:key name="vertrag-des-kunden" match="vertrag" use="@kunde"/>
<xsl:template match="/">
<xsl:value-of
select="//kunde/@id/concat(., ': ', string-join(key('vertrag-des-kunden', .)/@wert, ', '))"
separator=" "/>
</xsl:template>
</xsl:stylesheet>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句