Wechselkursfilter selbst erstellen
Sie können nahezu von jeder Webseite, die Wechselkurse anbietet, Kurse in das NumericalChameleon übernehmen. Damit Kurse eindeutig identifiziert werden können, muß die Webseite neben den Wechselkursen entsprechende ISO-4217-Codes angeben (z. B. USD, EUR, usw.). Dabei ist es nicht von Bedeutung, ob die ISO-Codes in der HTML-Seite sichtbar sind, sie müssen nur im Sourcecode der HTML-Seite auftauchen, schon das Vorhandensein in einem Link reicht aus.
Die ISO-Codes sind in der der Datei "<Installationsverzeichnis>/data/lists/iso4217.list" definiert. Sie können Einträge in dieser Datei löschen, um nur die von Ihnen bevorzugten Wechselkurse zu berücksichtigen und damit auch u. U. das Parsing zu beschleunigen. Wechselkursfilter werden im Verzeichnis "<Installationsverzeichnis>/data/rates/" gespeichert und tragen die Endung ".filter".
Beispiel
Beispiel für die Konfigurationsdatei für die
Webseite des
"Pacific Exchange Rate Services"
(<installationsverzeichnis>/data/rates/pacific.commerce.ubc.ca.filter)
name=Pacific Exchange Rate Service
visit=http://pacific.commerce.ubc.ca/xr/rates.html
description=\
Service from the University of British Columbia\n\
Sauder School of Business\n\n\
This service provides 225 exchange rates\n\
(147 unique).
instruction=Visit the website above. Respect the "Terms of Use"\n\
at the webpage. Save the webpage to a file and\n\
go to step 3.
date=<title>Today's FX Rates Supplement for (.+?)</title>
before_iso=<tt>
after_iso=</tt></b> </font></td>\
(\\s*<td[^>]*><img[^>]*></td>\\s*<td[^>]*><font[^>]*>.+?</font></td>){3}\
\\s*<td[^>]*><img[^>]*></td>\\s*<td[^>]*><font[^>]*> ([\\d\\.]+)\
</font></td>
decimalSeparator=,
decimalPoint=.
valuepos=2
Beschreibung aller gültigen Schlüsselworte
Schlüsselwort Auswirkung Seit NC Beschreibung enabled Funktion 2.0.0 Optional; legt fest, ob der Wechselkursfilter aktiv ist oder nicht (true oder false), wenn der Schlüssel fehlt, ist der Filter aktiv name Anzeige 1.2.0 Der Name des Wechselkursservice country Anzeige 2.0.0 Das Land in dem der Wechselkursservice zu Hause ist visit Filter 1.2.0 Die URL des Wechselkursservice visit.additional Filter 2.0.0 Wie viele zusätzliche Adressen sind vorhanden? visit.<number> Filter 2.0.0 Eine zusätzliche Adresse des Wechselkursservices description Anzeige 1.2.0 Eine Beschreibung des Wechselkursservices in Englisch; wird verwendet, wenn kein passender description_<language> Eintrag gefunden wird description_<language> Anzeige 2.0.0 Wie description, aber lokalisiert, <language> muß dabei ein zweistelliger Ländercode nach ISO 3166 sein, also z. B. "de" für Deutsch instruction Anzeige 1.2.0 Eine kurze Beschreibung, was auf der Seite des Wechselkursservice gemacht werden soll; wird verwendet, wenn kein passender instruction_<language> Eintrag gefunden wird instruction_<language> Anzeige 2.0.0 Wie instruction, aber lokalisiert, <language> muß dabei ein zweistelliger Ländercode nach ISO 3166 sein, also z. B. "de" für Deutsch date Filter 1.2.0 Von wann sind die Wechselkurse, eine Klammerung definiert die Zeichenkette. Bei date=today wird der aktuelle Tag verwendet. Das kann sinnvoll sein, wenn die Webseite überhaupt keinen Tag angiebt, von wann die Wechselkurse sind. before_iso Filter 1.2.0 Regulärer Ausdruck vor dem ISO 4217-Code, Klammerungen sind zulässig before_iso_inv Filter 1.5.0 Optional; regulärer Ausdruck vor dem ISO 4217-Code, Klammerungen sind zulässig (Kurs wird neu berechnet mit 1/Kurs) after_iso Filter 1.2.0 Regulärer Ausdruck nach dem ISO 4217-Code, Klammerungen sind zulässig after_iso_inv Filter 1.5.0 Optional; regulärer Ausdruck nach dem ISO 4217-Code, Klammerungen sind zulässig (Kurs wird neu berechnet mit 1/Kurs) decimalSeparator Filter 1.2.0 Welches Zeichen dient als Trenner zwischen den Ziffern in der HTML-Seite (z. B. ",")? decimalPoint Filter 1.2.0 Welches Zeichen dient als Dezimalpunkt in der HTML-Seite? (z. B. ".") logic Filter 1.3.0 Optional; wird gesetzt für das Feld Logik der Kategorie Wechselkurse, default ist "false" filechooser Anzeige 1.3.0 Optional; welche Dateiendungen sollen im Öffnen-Dialog gefiltert werden können? (z. B. "html, htm") valuepos Filter 1.3.0 Optional; die wievielte Klammerung in der Zeichenkette "before_iso+ISO+after_iso" definiert den Wechselkurswert? Default ist "1" base Filter 1.4.0 Optional; ein dreistelliger ISO 4217-Code, der mit Faktor 1.0 definiert wird (z. B. "USD") factorpos Filter 2.0.0 Optional; die wievielte Klammerung in der Zeichenkette "before_iso+ISO+after_iso" definiert den Faktor der Werteeinheit? Verwenden Sie entweder factorpos oder factorForAll. factorForAll Filter 2.0.0 Optional; der Faktor für alle Werteeinheiten (üblicherweise 1); der Wechselkurs ist der Preis in der Basiseinheit für factorForAll Einheiten der Fremdwährung.Verwenden Sie entweder factorpos oder factorForAll. removeTags Filter 2.0.0 Optional; default=false; Der Wert (siehe valuepos) kann HTML-Tags enthalten, bei "true" werden alle HTML-Tags entfernt (alles zwischen zpitzen Klammern) removeWhitespaces Filter 2.0.1 Optional; default=false; Der Wert (siehe valuepos) kann Whitespaces enthalten, bei "true" werden alle Whitespaces entfernt (Blanks und Tabulatoren) replaceCodes Filter 2.0.0 Optional; default=false; Der Wert (siehe valuepos) kann Zeichen in HTML-Code kodiert enthalten, bei "true" werden solche HTML-Codes in gültige Ziffern (0-9, e, E, +, -, Punkt und Komma) transformiert removeCommentBeforeParsing Geschwindigkeit 2.0.0 Otional; default=false; Bei "true" werden alle HTML-Kommentare vor dem Parsen entfernt. searchOnlyFor Geschwindigkeit 2.0.0 Optional; nur die durch Komma getrennte ISO-Codes werden gesucht. Dies kann die Geschwindigkeit erhöhen, mit der Wechselkurse aus einer Webseite herausgelesen werden, dies erhöht aber auch den Aufwand, einen Filter aktuell zu halten. cutHead Geschwindigkeit 2.0.0 Optional; schneidet vom Anfang der Seite bis einschliesslich des Ende des Strings cutHead ab. Dies kann die Geschwindigkeit erhöhen, mit der Wechselkurse aus einer Webseite herausgelesen werden, weil weniger Inhalt geparst werden muss. cutHead.count Geschwindigkeit 2.0.0 Optional; legt fest, wie oft cutHead durchgeführt wird cutBottom Geschwindigkeit 2.0.0 Optional; schneidet ab Anfang des Strings cutBottom bis zum Ende der Seite ab. Dies kann die Geschwindigkeit erhöhen, mit der Wechselkurse aus einer Webseite herausgelesen werden, weil weniger Inhalt geparst werden muss. directDownload Funktion 2.0.0 Optional; legt fest, ob ein direkter Download möglich ist. Standard ist false. Sollte nur auf true gesetzt werden, wenn keine Aktion seintens des Anwenders auf einer Webseite nötig ist. user-agent Funktion 2.0.0 Optional; falls gesetzt, wird der user-agent als Parameter im HTTP-Header verwendet. Falls user-agent auf "random" gesetzt wird, wird zufallsmäßig ein User-Agent von drei im Netz weit verbreiteten Browsern verwendet.