Die Erstellung der XCPF-Datei
Die grundlegende Idee von XCPF ist die Trennung von Daten und Logik. XCPF stellt ein Format dar, das mit völlig unterschiedlichen Preismodellen umgehen kann. Weiterhin gestattet es XCPF verschiedenen Datenanbietern die gleiche Software-Instanz zu nutzen oder diese Instanz auf ihre persönlichen Bedürfnisse abzustimmen. XCPF ist so konzipiert, dass die Anpassung der Preise ohne jeglichen Eingriff in den Software-Code erfolgen kann.
Das XCPF-Design stellt eine Art Vorlage (Template), basierend auf der Annahme eines Preismodells, dar. Für die Umsetzung eines Preismodells sind grundlegende Elemente erforderlich. Diese sollen ein Produkt dahingehend beschreiben, dass eine vollständige Preisberechnung möglich ist.
Elemente in XCPF
Die folgende Grafik soll nun einen Überblick über die grundlegende Elemente von XCPF geben. Eine vollständige Auflistung aller Elemente kann in der WPOS-Spezifikation nachgelesen werden.
"xcpfEnvelope": entspricht dem Wurzelelement
"xcpfCatalog": entspricht dem Namen des abzubildenden Produktkataloges
"productGroup": entspricht einer Produktgruppe, die aus Produkten oder weiteren Produktgruppen besteht
"product": entspricht dem Produkt selbst
"inheritance": hier können Informationen hinterlegt werden, die an die Unterelemente vererbt werden sollen
"calculation": beinhaltet die Informationen zur Preisberechnung und die benötigten Formeln
"formula": beinhaltet alle Berechnungsformeln, die für die Preisfindung notwendig sind
"function": beschreibt eine einzelne Berechnungsformel
"operation": trifft die Unterscheidung zwischen der Anwendung einer mathematischen Formel oder eines externen Prozesses
"contractInformation": beinhaltet alle notwendigen Anbieterinformationen und später auch die Bestellerinformationen
Die Strukturierung der einzelnen Produkte der SächsVermKoVO innerhalb der XCPF-Datei ist vergleichbar mit den Katalogen namhafter Versandhäuser und Internetshops. Die verschiedenen Einzelprodukte sind in Produktgruppen zusammengefasst. Eine jede Produktgruppe erhält bestimmte Berechnungs- und Vererbungsparameter. Abhängig von der Zusammensetzung einer Produktgruppe, kann diese wiederum aus verschiedenen Untergruppen bestehen. Sie unterscheiden sich lediglich durch Rabattansprüche, Einzelpreise der Produkte und der Produkte selbst.
Erstellung einer Formel zur Preisberechnung
Für die Einbindung einer mathematischen Formel in die XCPF-Datei muss diese einer bestimmten Syntax folgen. Die zu verwendende Syntax findet Anlehnung an die MathML-Syntax des W3C und ist sowohl in der XCPF-Spezifikation als auch im XCPF-Schema dokumentiert bzw. definiert.
Generell wird jedes mathematische Konstrukt innerhalb der XCPF-Datei in ein „math“-Element eingebettet. Die eigentliche Formel beginnt immer mit einem öffnenden "apply" Tag. Innerhalb dieses Elementes erfolgt der Aufbau der Formel in der Schreibweise der Prefix-Notation. Das Ende der Formel markiert ein schließenden "apply" Tag. In mathematischer Schreibweise würde die nebendstehende Formel folgendes Aussehen haben. Anzahl * Preis/pro Produkt = Endpreis
Durch die Verwendung dieser MathML-Syntax können sowohl einfache als auch komplexe mathematische Formeln innerhalb der XCPF-Datei umgesetzt werden. Das XCPF-Schema stellt dafür verschiedene Operatoren und Elemente zur Verfügung durch deren Kombination dies erreicht werden kann.