XSLTが新機能です。カスタムCOMオブジェクトを通じてxmlファイルを取得する従来のASPページがあります。ファイル構造は次のとおりです。XSLTネストされた書式設定のグループ化
最初の行には、月データ(引数タイプ= "2")を含む12行の後に続き、年に関連する値(引数タイプ= "1")などが含まれます。 私が作成しなければならない出力は、月レコードを表示/隠し、ユーザー入力とXMLデータに基づいてクライアント側の検証を行うことができるテキストボックス要素を持つHTMLテーブルです。 month行(引数type = "2")を表示/非表示にするには、 "year"行(引数type = "1")が常に表示され、最初の表セルに "+"記号が含まれています。私は既に表示/非表示と検証Javascript関数を作成しました。
私はXSLTファイルの作成/整形に助けが必要です。結局、私はまた、記述の月名に月の数値を変換する必要が ありがとう
<row year="2016" type="1" euro="100000000.00"/>
<row year="2016" type="2" month="1"/>
<row year="2016" type="2" month="2"/>
<row year="2016" type="2" month="3"/>
<row year="2016" type="2" month="4"/>
<row year="2016" type="2" month="5"/>
<row year="2016" type="2" month="6"/>
<row year="2016" type="2" month="7" euro="1000234000.00"/>
<row year="2016" type="2" month="8"/>
<row year="2016" type="2" month="9"/>
<row year="2016" type="2" month="10"/>
<row year="2016" type="2" month="11"/>
<row year="2016" type="2" month="12"/>
<row year="2017" type="1" euro="199996993.00"/>
<row year="2017" type="2" month="1"/>
<row year="2017" type="2" month="2"/>
<row year="2017" type="2" month="3"/>
<row year="2017" type="2" month="4"/>
<row year="2017" type="2" month="5"/>
<row year="2017" type="2" month="6"/>
<row year="2017" type="2" month="7" euro="125000000.00"/>
<row year="2017" type="2" month="8"/>
<row year="2017" type="2" month="9"/>
<row year="2017" type="2" month="10"/>
<row year="2017" type="2" month="11"/>
<row year="2017" type="2" month="12"/>
ここでそれが行くための最善の方法かどうかわからない私が使用しているコードは、ですが、それは、これまで働いているように思えます
<xsl:for-each select="row">
<xsl:choose>
<xsl:when test="@type='1'>
<tr>
<td align="center">
<xsl:element name="a">
<xsl:attribute name="href">javascript:ToggleYear(<xsl:value-of select="@year"/>)</xsl:attribute>
<xsl:attribute name="id">a_<xsl:value-of select="@year"/></xsl:attribute>
<xsl:text>+</xsl:text>
</xsl:element>
</td>
<td>
...
</td>
</tr>
</xsl:when>
</xsl:choose>
<xsl:if test="@type = 2">
<xsl:element name="tr">
<xsl:attribute name="style">display:none</xsl:attribute>
<xsl:attribute name="id"><xsl:value-of select="@year"/>_H_<xsl:value-of select="@month"/></xsl:attribute>
<td><xsl:text disable-output-escaping="yes">&</xsl:text>nbsp;</td>
<td>
...
</td>
</xsl:element>
</xsl:if>
</xsl:for-each>
私が思うSO :-)かなり広範な問題、多分あなたはそれはあなたが既に持っているコードを示す編集へようこそ。 –
Thanx Stefan、コードを更新しました –
期待されるHTML出力を表示してください。 –