XSD / e è un XML Processing per sistemi embedded.
CodeSynthesis XSD / e è un generatore di parser XML open-source per i sistemi mobili ed embedded. Fornisce event-driven, orientato al flusso parsing XML, validazione XML Schema, e dati C ++ associazione, pur mantenendo un ingombro ridotto e la portabilità.
XSD / e implementa embedded mappatura C ++ / Parser, che, dotato di una specifica istanza XML (XML Schema), genera la convalida C ++ scheletri parser per i tipi di dati definiti nel vostro vocabolario. È quindi possibile implementare questi scheletri parser per costruire il proprio rappresentazione in memoria o eseguire l'elaborazione immediata come parti del documento XML saranno disponibili. Per un'introduzione al C ++ mappatura / Parser, fare riferimento al capitolo Ciao Mondo Parser dalla Guida introduttiva.
Sulla base dell'analisi statica degli schemi, XSD / e genera compatti, altamente ottimizzato le macchine a stati gerarchici che combinano l'estrazione dei dati, la validazione, e anche l'invio in un unico passaggio. Come risultato, i XSD / E-generato parser sono 2-10 volte più veloce di general-purpose convalida parser XML pur mantenendo le basse impronte memoria statica e dinamica. Ad esempio, un parser eseguibile convalida può essere piccolo come 120KB dimensioni.
Qui sono alcune caratteristiche chiave di "XSD e":
· Facile da usare La parser scheletri mantengono l'analisi dello stato e fare l'estrazione dei dati per voi. Come risultato, si sono separati dalla complessità di analisi XML.
· Validazione Gli scheletri parser forniscono, validazione XML Schema ad alte prestazioni a basso impatto in modo che non c'è bisogno di complicare il codice con il controllo degli errori in più.
· Rappresentazione naturale Maneggiare i dati XML utilizzando il vostro vocabolario dominio invece di elementi generici, attributi e testo.
· Static digitando Gli scheletri parser generati vengono staticamente tipizzati che aiuta a individuare gli errori in fase di compilazione, piuttosto che in fase di esecuzione. Ad esempio, elemento XML e nomi degli attributi diventano C ++ i nomi di funzione in modo da se scritto male uno, il compilatore vi farò sapere.
· Codice Concise Grazie alla rappresentazione dell'oggetto fornito da scheletri parser, l'implementazione logica di business è più semplice e quindi più facile da leggere e da capire.
· Generazione del codice manutenibilità automatica minimizza lo sforzo necessario per adattare l'applicazione ai cambiamenti nella struttura del documento. Grazie alla tipizzazione statica, il compilatore C ++ sarà pin-point i luoghi nel codice che devono essere cambiati
Cosa c'è di nuovo in questa versione:.
- Il supporto per il polimorfismo XML Schema. La nuova opzione --generate-polimorfico innesca la generazione di codice polimorfismo-aware.
- Supporto per il salvataggio il modello a oggetti di e caricarlo da rappresentazioni binarie. Le nuove --generate - opzioni di inserimento e di estrazione --generate innescano la produzione di rappresentazione dei dati di inserimento ed estrazione flusso operatori, rispettivamente, .
- Supporto per gli attributi con valori predefiniti e fissi.
- Nuova opzione, --Il tipo, consente la personalizzazione delle classi del modello.
- Nuova opzione, --generate-distacco, innesca la generazione di funzioni di scollegamento per gli elementi e gli attributi di tipi di lunghezza variabile.
- Il parser generato e serializzatore implementazioni sono ora in grado di analisi / serializzazione tipi ricorsivi. La XSD / e compilatore rileva i tipi ricorsivi e genera implementazioni basate su stack con il caso non ricorsivo ottimizzato (cioè, la prima iterazione continua a non comporta alcun allocazioni di heap per il mantenimento dello stato).
- funzione di assegnazione con la firma di assegnazione (const T *, size_t) per le sequenze di tipi a lunghezza fissa.
Cosa c'è di nuovo nella versione 3.0.0:
mappatura
- Questa release aggiunge il nuovo Embedded C ++ / ibrido che fornisce un leggero, modello di oggetti ad albero con una riproduzione precisa della struttura vocabolario XML e per elemento.
- La nuova mappatura supporta completamente in memoria, così come ibrido, in parte anche-driven, elaborazione XML parzialmente in memoria.
- Questa release aggiunge anche il supporto per QNX 6.x, iPhone OS 2.x, e Visual Studio 2008 con dispositivi intelligenti.
I commenti non trovato