Doorgaan naar hoofdcontent
OCLC Wise Support NL

Halte bibliobus op transportbon meegeven

In 'bon_11_default.xsl' wordt de transportbon opgemaakt, hierin zit het volgende template voor de halte:

<xsl:template name="transport_busstop">
    <xsl:if test="/receipt/busstop">
        <xsl:call-template name="align_left_right">
            <xsl:with-param name="s1" select="$text_transport_busstop"/>
            <xsl:with-param name="s2" select="/receipt/busstop"/>
            <xsl:with-param name="l1" select="'12'"/>
            <xsl:with-param name="l" select="$chars_per_line"/>
            <xsl:with-param name="s1bold" select="'1'"/>
        </xsl:call-template>
        <xsl:value-of select="$newline" />
        <xsl:call-template name="hr" />
    </xsl:if>
</xsl:template>

De 'test' bovenin de template moet ervoor zorgen dat de template wordt doorlopen, de test is "/receipt/busstop". Dit geeft aan dat in de xml in de tag <receipt> een tag <busstop> moet zitten.

In xsl wordt door de xml-structuur gelopen alsof je door een windows harddisk loopt, een xml bestand is in wezen een 'tree' zoals de mappen op je harde schijf en met slashes kun je een pad specificeren. Als deze tag aanwezig is wordt het 'halte'-gedeelte weergegeven... Een andere manier is om een expressie in de 'test' op te nemen, dan zou in de stylesheet als test bv. kunnen komen: "string - length(/receipt/busstop) &gt; 0" - dan moet de inhoud van de tag een lengte groter dan 0 hebben.

Voor Wise is het zo gemaakt dat wanneer de halte een lege string is deze niet nog eens in de xml wordt opgenomen.

 

  • Was dit artikel nuttig?