我有這樣XSLT轉換和限制
<Ozellik isim="Renk-Beden">STANDART STD</Ozellik>
<Ozellik isim="Grup">ADMIN</Ozellik>
<Ozellik isim="Amac">DENEME</Ozellik>
<Ozellik isim="BlaBla">BLABLA</Ozellik>
的XML,並希望將其轉換爲這一點,並限制三個要素。如果有3分以上的記錄,把他們的前三個
<property1 name="Renk-Beden">STANDART STD</property1>
<property2 name="Grup">ADMIN</property2>
<property3 name="Amac">DENEME</property3>
我試過很多XSLT代碼,但可能無法將其轉換爲所需的輸出。謝謝你的幫助。
我這是最後一次成功的嘗試是:
<xsl:template name="loop">
<xsl:param name="pCount"/>
<xsl:param name="pValue"/>
<xsl:param name="pAtt"/>
<xsl:element name="property{$pCount}">
<xsl:attribute name="name">
<xsl:value-of select="$pAtt" />
</xsl:attribute>
<xsl:value-of select="$pValue" />
</xsl:element>
</xsl:template>
<xsl:template match="Ozellik">
<xsl:param name="pCount" select="0"/>
<xsl:for-each select="catalog/cd">
<xsl:call-template name="loop">
<xsl:with-param name="pCount" select="position()" />
<xsl:with-param name="pValue" select="." />
<xsl:with-param name="pAtt" select="@isim" />
</xsl:call-template>
</xsl:for-each>
</xsl:template>
'我試過很多xslt代碼',可否請您發佈最後一次嘗試? –
我添加了我的最後一次嘗試 – Can
爲什麼你選擇'catalog/cd',沒有元素'catalog'或'cd'來自你輸入的樣本輸入 –