[XSLT] Eléments non attendus
Une fois mon XSLT rendu, je me retrouve avec des éléments inattendus.
Ces éléments sont les suivants :
<element index="x"/> (x = entier qui semble incrémenté)
Les seules chose dont mon XSLT est sensé afficher sont des éléments P avec un peu de texte à l'intérieur.
Voici mon XSLT où il y a aucun endroit ou je demande d'afficher <element.../>
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
|
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" />
<xsl:template match="/">
<!-- Loop shipments -->
<xsl:call-template name="shipmentLoop">
<xsl:with-param name="shipmentCount"><xsl:value-of select="/root/permit/totalShipments"/></xsl:with-param>
</xsl:call-template>
</xsl:template>
<xsl:template name="shipmentLoop">
<xsl:param name="shipmentCount"/>
<xsl:param name="iteration">1</xsl:param>
<element index="{$iteration}"/>
<xsl:variable name="permitRowCount" select="count(/root/permitRow)" />
<xsl:variable name="totalPermitRowsToDisplay" select="13"/>
<!-- <xsl:variable name="totalRows" select="$permitRowCount + ( ( ceiling( ( $permitRowCount - 3 ) / 5 ) ) * 5 ) - ( $permitRowCount - 3 ) "/> -->
<!-- <p>Shipment: <xsl:value-of select="$iteration"/></p> -->
<!-- Loop rows -->
<xsl:call-template name="permitRowLoop">
<xsl:with-param name="rowCount"><xsl:value-of select="$totalPermitRowsToDisplay"/></xsl:with-param>
</xsl:call-template>
<xsl:if test="$iteration < $shipmentCount">
<xsl:call-template name="shipmentLoop">
<xsl:with-param name="shipmentCount" select="$shipmentCount"/>
<xsl:with-param name="iteration" select="$iteration +1"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
<xsl:template name="permitRowLoop">
<xsl:param name="rowCount"/>
<xsl:param name="iteration">1</xsl:param>
<element index="{$iteration}"/>
<xsl:variable name="actualRowCount" select="count(/root/permitRow)" />
<xsl:variable name="token" select="substring($iteration, string-length($iteration), 1)" />
<!-- if iteration is 1 or last digit of iteration is 4 or 9: Header-->
<xsl:choose>
<!-- Tall Header -->
<xsl:when test="$iteration = 1">
<xsl:call-template name="tallPermitHeader" />
</xsl:when>
<!-- Short Header -->
<xsl:when test="$token = 4 or $token = 9">
<xsl:call-template name="shortPermitHeader" />
</xsl:when>
</xsl:choose>
<!-- Display of permit rows -->
<xsl:choose>
<!-- Row with information -->
<xsl:when test="$iteration <= $actualRowCount">
<xsl:call-template name="permitRow" />
</xsl:when>
<!-- Filler row-->
<xsl:when test="$iteration > $actualRowCount">
<xsl:call-template name="permitRow">
<xsl:with-param name="emptyYN" select="1"/>
</xsl:call-template>
</xsl:when>
</xsl:choose>
<!-- if last digit of iteration is 3 or 8: Footer-->
<xsl:if test="$token = 3 or $token = 8">
<xsl:call-template name="permitFooter" />
</xsl:if>
<xsl:if test="$iteration < $rowCount">
<xsl:call-template name="permitRowLoop">
<xsl:with-param name="rowCount" select="$rowCount"/>
<xsl:with-param name="iteration" select="$iteration +1"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
<xsl:template name="tallPermitHeader">
<p><strong>Big Header Section</strong></p>
</xsl:template>
<xsl:template name="shortPermitHeader">
<p><strong>Small Header Section</strong></p>
</xsl:template>
<xsl:template name="permitFooter">
<p><strong>Footer Section</strong></p>
</xsl:template>
<xsl:template name="permitRow">
<xsl:param name="emptyYN">0</xsl:param>
<p>Permit Row<xsl:if test="$emptyYN = 1"> empty!</xsl:if></p>
</xsl:template>
</xsl:stylesheet> |