XSD / e is 'n XML Processing vir ingebedde stelsels.
CodeSynthesis XSD / e is 'n oop-bron XML parser generator vir mobiele en ingebedde stelsels. Dit bied gebeurtenis gedrewe, stroom georiënteerde XML parsing, XML Schema validering en C ++ data bindend terwyl die handhawing van 'n klein voetspoor en port.
XSD / e implemente Embedded C ++ / Parser kartering wat verskaf met 'n XML byvoorbeeld spesifikasie (XML Schema), genereer validering C ++ parser geraamtes vir tipe data omskryf in jou woordeskat. Jy kan dan implementeer parser geraamtes om jou eie in-geheue verteenwoordiging bou of te verrig onmiddellike verwerking as dele van jou XML-dokument beskikbaar word. Vir 'n inleiding tot die C ++ / Parser kartering, verwys na die hoofstuk Hello World Parser uit die Handleiding.
Gebaseer op die statiese ontleding van die skemas, XSD / e genereer kompakte, hoogs-new hiërargiese staat masjiene wat data ontginning, validasie, en selfs die versending in 'n enkele stap kombineer. As 'n resultaat, die XSD / e-gegenereerde parsers is 2-10 keer vinniger as algemene doel validering XML parsers terwyl die handhawing van die laagste statiese en dinamiese geheue voetspore. Byvoorbeeld, kan 'n bekragtiging van parser uitvoerbare so klein wees as 120KB in grootte.
Hier is 'n paar belangrike funksies van "XSD e":
· Gemak van gebruik Die ontleder geraamtes handhaaf ontleding van die staat en doen data ontginning vir jou. As gevolg hiervan, is jy beskerm van die verwikkeldheid van die ontleding van XML.
· Validation Die ontleder geraamtes verskaf lae-voetspoor, hoë-prestasie XML Schema validering sodat jy nie nodig het om jou kode bemoeilik ekstra foutopsporing.
· Natuurlike verteenwoordiging Hanteer die XML data met behulp van jou domein woordeskat in plaas van generiese elemente, eienskappe, en teks.
· Statiese tik Die gegenereer parser geraamtes is staties getik wat foute vangs help tydens kompilering-time eerder as op run-time. Byvoorbeeld, XML element en kenmerk name geword C ++ funksie name so as jy verkeerd gespel een, sal die samesteller jou laat weet.
· Concise kode Danksy die voorstelling deur parser geraamtes, jou besigheid logika implementering is eenvoudiger en dus makliker om te lees en te verstaan.
· Houdbaarheid Outomatiese kodegenerasie verminder die moeite wat nodig is om jou aansoek aan te pas by die veranderinge in die dokument struktuur. Danksy statiese tik, sal die C ++ samesteller pen-punt van die plekke in die kode verander moet word
Wat is nuut in hierdie release:.
- Ondersteuning vir XML Schema polimorfisme. Die nuwe --generate-polimorfiese opsie snellers die opwekking van polimorfisme-bewus-kode.
- Steun vir die redding van die voorwerp model en laai dit van binêre voorstellings. Die nuwe --generate - inplanting en --generate-ontginning opsies aktiveer die opwekking van data verteenwoordiging stroom voeg en ontginning operateurs, onderskeidelik .
- Ondersteuning vir eienskappe met standaard en vaste waardes.
- New opsie, --custom-tipe, kan die aanpassing van die model voorwerp klasse.
- New opsie, --generate-losmaak, snellers die opwekking van losmaak funksies vir elemente en eienskappe van tipes veranderlike lengte.
- Die gegenereer parser en serializer implementering is nou in staat om van parsing / serializeren rekursiewe tipes. Die XSD / e samesteller ontdek rekursiewe tipes en genereer-stapel gebaseer implementering met die new nie-rekursiewe geval (dit wil sê, die eerste iterasie nog nie lei tot enige hoop toekennings vir die instandhouding staat).
- Opdrag funksie met handtekening assign (const T *, size_t) vir rye tipes vaste lengte.
Wat is nuut in weergawe 3.0.0:
- Hierdie vrystelling voeg die nuwe Embedded C ++ / Hybrid kartering wat 'n ligte gewig, boom-agtige voorwerp model met akkurate reproduksie van die XML woordeskat struktuur en element orde.
- Die nuwe kartering ten volle ondersteun in-geheue sowel as baster, gedeeltelik selfs gedryf, gedeeltelik in-geheue XML verwerking.
- Hierdie vrystelling voeg ook ondersteuning vir QNX 6.x, iPhone OS 2.x en Visual Studio 2008 met Smart Devices.
Kommentaar nie gevind