Fórumok
Sziasztok
Nagyon kezdő vagyok XML és XSL témában, de egy általam használt program xml kimenetét szeretném valamilyen olvasható (nyomtatható) formátumba hozni.az xml igy néz ki (leegyszerüsitve)
<Unit>
<fsSetPos>1- 8</fsSetPos>
<fsPartNum>534234</fsPartNum>
</Unit>
<Unit>
<fsSetPos>1- 9</fsSetPos>
<fsPartNum>5235259</fsPartNum>
</Unit>
<Unit>
<fsSetPos>2- 1</fsSetPos>
<fsPartNum>5423449</fsPartNum>
</Unit>
<Unit>
<fsSetPos>3- 1</fsSetPos>
<fsPartNum>5469499</fsPartNum>
</Unit>
<Unit>
<fsSetPos>4- 3</fsSetPos>
<fsPartNum>235235</fsPartNum>
</Unit>
<Unit>
<fsSetPos>4- 5</fsSetPos>
<fsPartNum>3252359</fsPartNum>
</Unit>
<Unit>
<fsSetPos>4- 6</fsSetPos>
<fsPartNum>2352523</fsPartNum>
</Unit>
a feladat az volna hogy az fsSetPos kötöjel előtti részét felhasználva, kettesével külön oldalakra rakni.
elso oldal:
1-8
1-9
2-1
masodik oldal:
3-1
4-3
4-4
4-6
az xsl-ben eddig jutottam:
<xsl:template match="Unit">
<xsl:choose>
<xsl:when test="count(//fsSetPos)">
<!-- *** create variable to hold the position (module+slot) *** -->
<xsl:variable name = "pos" ><xsl:value-of select="fsSetPos"/></xsl:variable>
<!-- *** create variable to hold just the module number*** -->
<xsl:variable name = "module" ><xsl:value-of select = "substring-before($pos,'-')" /> </xsl:variable>
<xsl:if test="$module div 2=0">
<tr class="unit">
<td class="unit"><xsl:value-of select="fsSetPos"/></td>
</tr>
</xsl:if>
</xsl:when>
<xsl:otherwise>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
ez persze még messze nem csinálja azt, amit szeretnék.
Tudna valaki utmutatást adni hogy a csoportositást hogyan lehetne megvalósitani?
Már szétgugliztam magam , ezer dolgot kiprobáltam de sehogy se akar összejönni.
(sosem csináltam még ilyet...:)
Köszi
Zsolt
- 1262 megtekintés