とXMLのために働いてXSLTを取得する方法:XSDの がそれを与えられたと言う:私のために存在することができるフィールド41を意味は繰り返しエントリ
<xs:element name="somevalue" type="ait2:eic" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Field No. 41</xs:documentation>
</xs:annotation>
</xs:element>
を複数回(フィールド39または42回は1回のみ許可されます)。ない独自の順序でのために、それぞれが不可能なそのので
<somevalue>12323K</somevalue>
<somevalue>12324I</somevalue>
(または私は間違っている?):私はそれが実際に(XMLから)ない例があります。 私のコードは次のようになり、これまでにちょうど最初の出現をカバー(XSLT):
<tr>
<td>41</td>
<td>Some value</td>
<td>
<xsl:value-of select="//somevalue"/>
</td>
</tr>
どのようにそれは繰返しグループを持つことが可能でしょうか?したがって、それぞれの「somevalue」エントリーが表示されます。
THX!
EDIT:コード例
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="#nsc"?>
<xsl:stylesheet id="nsc" version="1.0" xmlns:data="http://www.acer.europa.eu/REMIT/TestTable_V1.xsd" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<data:data>
<TestTable>
<TradeList>
<nonStandardContractReport>
<settlementMethod>P</settlementMethod>
<deliveryPointOrZone>12323K</deliveryPointOrZone>
<deliveryPointOrZone>12324I</deliveryPointOrZone>
<deliveryStartDate>2022-01-01</deliveryStartDate>
<deliveryEndDate>2023-01-01</deliveryEndDate>
<loadType>GD</loadType>
<actionType>N</actionType>
</nonStandardContractReport>
</TradeList>
</TestTable>
</data:data>
<xsl:template match="/xsl:stylesheet">
<xsl:apply-templates select="data:data/*" />
</xsl:template>
<xsl:template match="TestTable">
<html>
<table border="0" style="border-collapse:collapse;">
<body>
<tr>
<td>40</td>
<td>Option strike price</td>
<td>
<xsl:value-of select="//optionDetails/optionStrikePrice"/>
</td>
</tr>
<tr>
<th/>
<th>Delivery profile</th>
<th/>
</tr>
<tr>
<td>41</td>
<td>Delivery point or zone</td>
<td>
<xsl:value-of select="//deliveryPointOrZone"/>
</td>
</tr>
<tr>
<td>42</td>
<td>Delivery start date</td>
<td>
<xsl:value-of select="//deliveryStartDate"/>
</td>
</tr>
<tr>
<td>43</td>
<td>Delivery end date</td>
<td>
<xsl:value-of select="//deliveryEndDate"/>
</td>
</tr>
<tr>
<td>44</td>
<td>Load type</td>
<td>
<xsl:value-of select="//loadType"/>
</td>
</tr>
<tr>
<th/>
<th>Life cycle information</th>
<th/>
</tr>
<tr>
<td>45</td>
<td>Action type</td>
<td>
<xsl:value-of select="//actionType"/>
</td>
</tr>
</body>
</table>
</html>
</xsl:template>
あなたの例では、予想される結果とは何ですか? - P.S.はい、あなたは* 'xsl:for-each'について間違っています。しかし、文脈なしで助言するのは難しいです:[mcve] –
その埋め込まれたxmlファイルなので、別にするのは難しいです。私はすべてのコードを投稿せずに仕事を得ることができます。 予想される結果は、エントリ41がテーブル内で2回繰り返されることです。 –
その意味がわかりません。 XSLTを使用してファイルを処理できる場合は、* identity transform *テンプレートを使用してそのまま引き出すこともできます。そして、実際のファイルは必要としません(最小化された例のみ)。そして、あなたは私の質問に答えたわけではありません:複数の値を取得したい場合は、出力にどのように表示するかを教えてください。 –