にそれをマージする必要があるサンプルXML私はXMLからHTMLに変換する必要があります。私は、共通の値を持つ要素を識別し、ここでHTML
<?xml version='1.0' encoding='UTF-8'?>
<message>
<body>
<asset>
<asset-id>test_01</asset-id>
<asset-name>report_test</asset-name>
<asset-version>1</asset-version>
<entity>
<id>project_test</id>
<entity-record>
<id>864d6141-712b-11e7-b775-f9304f8b3051#-</id>
<field>
<id>name</id>
<value>Transport</value>
</field>
<field>
<id>task</id>
<value>Person1</value>
</field>
</entity-record>
<entity-record>
<id>864d6141-812b-11e7-b775-f9304f8b3951#-</id>
<field>
<id>name</id>
<value>Transport</value>
</field>
<field>
<id>task</id>
<value>Person2</value>
</field>
</entity-record>
<entity-record>
<id>864d6141-712b-11e7-b775-f9314f8b3951#-</id>
<field>
<id>name</id>
<value>Food </value>
</field>
<field>
<id>task</id>
<value>Person3</value>
</field>
</entity-record>
<entity-record>
<id>864e6141-712b-11e7-b775-f9304f8b3951#-</id>
<field>
<id>name</id>
<value>Food</value>
</field>
<field>
<id>task</id>
<value>Person4</value>
</field>
</entity-record>
<entity-record>
<field>
<id>name</id>
<value>Food</value>
</field>
<field>
<id>task</id>
<value>Person5</value>
</field>
</entity-record>
<entity-record>
<field>
<id>name</id>
<value>Transport</value>
</field>
<field>
<id>task</id>
<value>Person3</value>
</field>
</entity-record>
</entity>
</asset>
</body>
</message>
そして、ここでは、私が最初の2のためのMuenchian方法を使用してみました1つのが悪いの試みです細胞。ここで
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes"/>
<xsl:key name="fieldbyid" match="field" use="value" />
<xsl:template match="message">
<html>
<body>
<table border="1">
<tr>
<td>Project</td>
<td>Task</td>
</tr>
<tr>
<xsl:for-each select="body/asset/entity[id[text()='project_test']]/entity-record">
<xsl:sort select="field[id[text()='name']]/value"/>
<xsl:for-each select="field[count(./value|key('fieldbyid','value')[1])=1]">
<tr>
<td rowspan="{count(key('fieldbyid','value'))}">
<xsl:value-of select="field[id[text()='name']]/value"/>
</td>
<td><xsl:value-of select="field[id[text()='task']]/value"/></td>
</tr>
</xsl:for-each>
</xsl:for-each>
</tr>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
は、私は、これは、私は私の出力がループための第二の除去には、 enter image description here enter image description here を見てみたい方法です用の外にコードを保っていること
<html>
<body>
<table border="1">
<tr>
<td>Project</td>
<td>Task</td>
</tr>
<tr>
<tr>
<td>Food</td>
<td rowspan="0"></td>
<td></td>
</tr>
<tr>
<td>Person4</td>
<td rowspan="0"></td>
<td></td>
</tr>
<tr>
<td>Food</td>
<td rowspan="0"></td>
<td></td>
</tr>
<tr>
<td>Person5</td>
<td rowspan="0"></td>
<td></td>
</tr>
<tr>
<td>Food </td>
<td rowspan="0"></td>
<td></td>
</tr>
<tr>
<td>Person3</td>
<td rowspan="0"></td>
<td></td>
</tr>
<tr>
<td>Transport</td>
<td rowspan="0"></td>
<td></td>
</tr>
<tr>
<td>Person1</td>
<td rowspan="0"></td>
<td></td>
</tr>
<tr>
<td>Transport</td>
<td rowspan="0"></td>
<td></td>
</tr>
<tr>
<td>Person2</td>
<td rowspan="0"></td>
<td></td>
</tr>
<tr>
<td>Transport</td>
<td rowspan="0"></td>
<td></td>
</tr>
<tr>
<td>Person3</td>
<td rowspan="0"></td>
<td></td>
</tr>
</tr>
</table>
</body>
</html>
を取得し、出力されますループ、<xsl:for-each select="field[count(./value|key('fieldbyid','value')[1])=1]">
atleast値を表示するようだ。 このステートメントは正確に何を意味していますか? また、 "。"の値idとvalueの両方を表示しているので、この場合は./valueを使用しています。 助けがあれば助かります! おかげ
私は出力として何をしたいのか分かりません - 言葉で論理を説明してください。 - XSLT 2.0を使用できるのであれば、なぜMuenchianのグループ分けの代わりに 'xsl:for-each-group'を使用しないのですか? –
あなたの入力に金額が表示されません。 –