Çalışmaya, XSL ile PDF oluşturmanın eğlenceli görevi verildi. Ben ile çalışıyorum XML yapısıHer biri için XSL'deki güncelleştirme özniteliği
<records>
<topLevel>
<topLevelID></topLevelID>
<secondLevel>
<secondLevelID></secondLevelID>
<thirdLevel>
</thirdLevel>
<thirdLevel>
</thirdLevel>
</secondLevel>
</topLevel>
<topLevel>
<topLevelID></topLevelID>
<secondLevel>
<secondLevelID></secondLevelID>
<thirdLevel>
</thirdLevel>
<thirdLevel>
</thirdLevel>
</secondLevel>
</topLevel>
</records>
Ben bir XML daha anlamlı bir örnek vermek çalışacaktı benzer, ama var olabilecek herhangi bir yasal sınırları yaklaşırken gibi hissetmiyorum. Bu XML yapısında, her thirdLevel
düğümü için PDF'de bir metin bloğu çıkarmam gerekiyor. Bugüne kadar sahip XSL Temelde, her thirdLevel
düğüm için metin kendi satırında görünmesi için üst öznitelik için bazı değer katmak gerekir
<xsl:for-each select ="topLevel">
<xsl:variable name="topID" select="topLevelID"/>
<xsl:for-each select ="secondLevel">
<xsl:variable name="secondID" select="secondLevelID"/>
<xsl:for-each select="thirdLevel">
<fo:block-container position="absolute" height="12.8pt" width="220.8pt" left="160pt" display-align="auto">
<xsl:attribute name="top">
<xsl:value-of select="concat(193 + [whatshouldgohere]), 'pt')"/>
</xsl:attribute>
<fo:block font-size="7pt">
<xsl:call-template name="insertThirdLevel"/>
</fo:block>
</fo:block-container>
</xsl:for-each>
</xsl:for-each>
</xsl:for-each>
gibidir. ID ile ekleme/çoğaltma (1'den başlar ve her bir set için 1'e kadar artar) ve position()
kombinasyonlarını kullanmayı denedim, ancak bunu doğru göremiyorum.
"concat ((193 * pozisyon()), 'nk')" çalışması gerekir, nasıl çarpma mı yapıyordun? – annakata
Çalıştığım konu, temel olarak, her biri için üç farklı seviye için kullanabileceğim üç farklı pozisyona sahip olduğum. Ayrıca, verilerin XML'de düzenlenme şekliyle, yalnızca position() işlevinin, metnin zaman zaman diğer metnin üzerine çıkmasına neden olduğu görülür. – bcasp