Stylesheet_receipt
Voor iedere bon zijn twee bestanden gedefiniëerd:
a. bon_[x].xsl
In dit bestand bon_3.xsl is gedefinieerd welk bestand moet worden aangeroepen. In dit voorbeeld is dat bon_3_default.xsl.
b. bon_[x]_default.xsl
Standaardmodel dat wordt uitgeleverd aan alle bibliotheken. Onderstaand de inhoud van bon_3_default.xsl. Hierin zijn de elementen opgenomen die voor de inhoud en opmaak aangeroepen moeten worden (bijv. $hr voor de opmaak en global_transactions voor de inhoud). Soms zijn er nog derde bestanden (naast bon_[x]_default.xsl nog bijv. bon_[x]_drenthe.xsl), dat zijn dan hernoemde kopieën met aanpassingen.
Let op: in bon_[x].xsl moet de naam van het aan te roepen bestand worden aangepast.
De tekst- en opmaakelementen zijn gedefiniëerd in onderstaande bestanden:
c. default_texts.xsl
Veel voorkomende termen en teksten, voorgedefinieerd.
d. default_templates.xsl
Opmaak van de header, footer, cut paper, patron personal data, various templates, transactions, kosten en boetes, betalingen, lenerstatus, vandaag betaald, openstaande posten, thuisexemplaren, leenstrippen, reserveringen en transportexemplaren.
Tekstelementen komen uit default_texts.xsl of worden rechtstreeks uit Wise gehaald, bijv. openingstijden, naam vestiging etc.
e. custom_templates.xsl
Bestand met templates die weer templates bevatten die aansturen hoe bepaalde data weergegeven moet worden. Kan worden gebruikt om default_templates en default_texts te overrulen.
f. basexslt.xsl
In de stylesheet 'basexslt.xsl' zijn de diverse stuurcodesleutels voor de bonnenprinter te vinden. Het afdrukken van bonnen verloopt anders dan bij bijv. etiketvellen. Etiketvellen worden gefopt (compleet opgemaakt in PostScript). Bij bonnen is enkel sprake van platte tekst die uit de stylesheets komt: letters, cijfers, leestekens, maar niets is opgemaakt.
Om te zorgen dat de bonnenprinter in staat is om bijzonderheden (bijv. tekst in vet, barcodes, papiersnijden) af te handelen, zijn er stuurcodebestanden geïntroduceerd. Deze werken als volgt:
- In de 'basexslt.xsl' staan enkele variabelen gedefinieerd voor diverse 'bijzonderheden':
< xsl:variable name = "bold_aan" >
< xsl:text > _BOLD-START_ </ xsl:text >
</ xsl:variable >
< xsl:variable name = "bold_uit" >
< xsl:text > _BOLD-STOP_ </ xsl:text >
</ xsl:variable >
- Bij het aanroepen van deze variabelen in een template zal dan in de uitvoer de tekst '_BOLD-START_' en '_BOLD-STOP_' worden opgenomen.
- In de stuurcodebestanden staan de volgende soort regels:
_BOLD-START_=<27>!<8>
_BOLD-STOP_=<27>!<0> - Nadat de client de stylesheets op de XML-gegevens heeft losgelaten zal de client op zoek gaan naar sleutels in het stuurcodebestand, en de sleutels in de bontekst vervangen door de bijbehorende stuurcode-bytes.
- Tot slot wordt de bontekst inclusief stuurcodes naar de bonprinter doorgezet en reageert de bonprinter op de geïnjecteerde stuurcodes, waardoor de vette tekst juist wordt weergegeven en het papier keurig wordt afgesneden.