Frage

Ich versuche, ein Nachricht Validierungsprogramm zu erstellen und mag leicht modifizierbar Regeln erstellen, die auf bestimmte Nachrichtentypen anwenden. Wegen der Gefahr der Änderung der Regeln ich diese Validierung definieren sich entschieden haben, Regeln außerhalb des Objektcodes.

Ich habe eine grundlegende Schnittstelle geschaffen, die eine Regel und frage mich definiert, was der beste Weg, diese einfache Daten zu speichern wäre. Ich war in Richtung XML lehnt aber es scheint, wie es zu schwer sein könnte.

würde Jede Regel benötigt nur eine sehr kleine Menge von Daten (das heißt Regeltyp, den Wert, anwendbar Maske, etc).

Kennt jemand eine gute Ressource, die ich auf das aussehen könnte eine ähnliche Funktionalität durchführen würde. Ich möchte lieber nicht graben zu tief in XML auf ein Problem, das eine Teilmenge der Funktionalität Ich sehe in den meisten Beispielen I in stoßen auf kaum brauchen scheint.

Wenn ich ein prägnantes Beispiel zu untersuchen, finden kann ich entscheiden, wäre in der Lage, ob nicht nur mit einer flachen Datei zu gehen.

Vielen Dank im Voraus für Ihre Eingabe!

War es hilfreich?

Lösung

persönlich für kleine, leicht modifizierbar XML, finde ich TinyXML sein ein ausgezeichnete Bibliothek. Sie können jede Klasse verstehen, es eigenes Format ist, so dass Ihre Objekthierarchie direkt im XML dargestellt wird.

Wenn Sie jedoch Sie XML müssen nicht denken, möchten Sie vielleicht mit einem leichteren Speicher wie yaml . Ich finde es viel einfacher ist, die zugrunde liegenden Daten zu verstehen, modifizieren und erweitern Funktionalität.

(Auch boost :: Serialisierung hat ein XML-Archiv, aber es ist nicht das, was ich leicht modifizierbar nennen würde)

Andere Tipps

Die einfachste ist eine flache Datei zu verwenden, entwickelt, um einfach zu sein, mit dem C ++ >> Operator zu analysieren. Nur einfache Token, die durch Leerzeichen getrennt.

Nun, wenn Sie Ihre Regeln sein wollen Menschen lesbare, XML ist der Weg zu gehen, und man kann es gut Schnittstelle mit c ++ mit xerces . Wenn Sie die Leistung wollen und oder Größe, können Sie die Daten speichern als Binärdateien einfache Strukturen verwendet wird.

Ein andere Möglichkeit, dies zu realisieren wäre Ihre Regeln in XML-Schema zu definieren und dann ein XML-Datenbindung Werkzeug, um das entsprechenden C ++ Objektmodell zusammen mit dem XML-Parsing und Serialisierung-Code generieren. Ein solches Instrument (das ich zufällig zu arbeiten) ist CodeSynthesis XSD:

http://www.codesynthesis.com/products/xsd/

Für einen 2-Minuten Überblick über die Idee, finden Sie in das "Hallo Welt" Beispiel in C ++ / Baum-Mapping-Dokumentation.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top