XSD / e ist ein XML-Verarbeitung für eingebettete Systeme.
CodeSynthesis XSD / e ist ein Open-Source-XML-Parser-Generator für mobile und eingebettete Systeme. Es bietet ereignisgesteuerte, stromorientierte XML-Parsing, XML Schema-Validierung und C ++ Datenbindung und gleichzeitig eine geringe Stellfläche und Portabilität.
XSD / e implementiert Embedded C ++ / Parser Mapping, die, mit einer XML-Instanz-Spezifikation (XML Schema) erzeugt Validierung C ++ Parser Skelette für Datentypen in Ihren Wortschatz definiert ist. Sie können dann bei der Umsetzung dieser Parser Skelette eigene Speicherrepräsentation bauen oder führen sofortigen Verarbeitung als Teile des XML-Dokuments zur Verfügung stehen. Eine Einführung in die C ++ / Parser Mapping finden Sie in der Hallo Welt Parser Kapitel aus dem Handbuch Erste Schritte.
Auf der Grundlage der statischen Analyse der Schemata, XSD / e erzeugt kompakte, hochoptimierte hierarchischen Zustandsautomaten, die Datenextraktion, Validierung und sogar den Versand in einem einzigen Schritt zu kombinieren. Als Ergebnis sind die XSD / e-generierte Parser 2-10 mal schneller als Allzweck-Validierung XML-Parser, während die niedrigste statische und dynamische Speicherbedarf. Zum Beispiel kann ein Validierungsparser ausführbare so klein wie 120 KB groß sein.
Hier sind einige der wichtigsten Features von "XSD e":
· Einfache Bedienung Den Parser Skelette maintain Parsen von Staat und tun Datenextraktion für Sie. Als Ergebnis, können Sie von den Feinheiten der Parsen von XML abgeschirmt sind.
· Validierung Die Parser Skelette bieten Low-Footprint, leistungsstarke XML-Schema-Validierung, so dass Sie nicht brauchen, um Ihren Code mit zusätzlichen Fehlerprüfung erschweren.
· Naturdarstellung Behandeln Sie die XML-Daten mit Ihrem Domain-Vokabular statt generische Elemente, Attribute und Text.
· Statische Typisierung Die erzeugten Parser Skelette statisch typisierte die Fang Fehler bei der Kompilierung, anstatt zur Laufzeit unterstützt. Zum Beispiel XML Element- und Attributnamen werden C ++ Funktionsnamen so, wenn Sie eine falsch geschrieben, wird der Compiler Sie wissen lassen.
· Concise Code Dank der Objektdarstellung durch Parser Skelette vorgesehen ist, ist Ihre Geschäftslogik Implementierung einfacher und damit leichter zu lesen und zu verstehen.
· Wartbarkeit Automatische Codegenerierung minimiert den Aufwand für Ihre Anwendung, um Änderungen in der Dokumentstruktur anzupassen. Durch statische Typisierung, wird der C ++ Compiler punkt die Stellen im Code, die geändert werden müssen
Was ist neu in dieser Pressemitteilung:.
- Unterstützung für XML-Schema-Polymorphismus. Die neue --generate-polymorphen Option löst die Erzeugung von Polymorphismus-aware-Code.
- Unterstützung für das Speichern des Objektmodells auf, lädt sie von binären Repräsentationen. Die neuen --generate - Einsetzen und --generate-Extraktion Optionen auslösen die Erzeugung von Datendarstellung Strom Steck- und Ziehbetreiber bzw. .
- Unterstützung für Attribute mit Standard und feste Werte.
- Neue Option, --custom-Typ, erlaubt die Anpassung der Objektmodellklassen.
- Neue Option, --generate-detach, löst die Erzeugung von detach Funktionen für Elemente und Attribute mit variabler Länge Typen.
- Die erzeugte Parser und Serializer Implementierungen sind jetzt in der Lage, das Parsen / Serialisierung rekursive Typen. Die XSD / e-Compiler erkennt rekursive Typen und erzeugt Stack-basierten Implementierungen mit der optimierten nicht-rekursiven Fall (dh die erste Iteration immer noch nicht in allen Heapzuweisungen für den Staat Wartung mit sich bringen).
- Zuordnung Funktion mit Unterschrift assign (const T *, size_t) für Folgen von fester Länge Typen.
Was ist neu in Version 3.0.0:
- In dieser Version wurde die neue Embedded C ++ / Hybrid-Mapping welche eine leichte, baumartigen Objektmodell mit präziser Wiedergabe der XML-Vokabular Struktur und Element um.
- Die neue Mapping unterstützt voll und ganz im Arbeitsspeicher sowie hybride, teilweise sogar getriebene, teilweise im Arbeitsspeicher XML-Verarbeitung.
- Diese Version fügt auch Unterstützung für QNX 6.x, iPhone OS 2.x und Visual Studio 2008 mit Smart Devices.
Kommentare nicht gefunden