UNA LIBRERIA C PER IL CARICAMENTO E LA
MANIPOLAZIONE DI
DOCUMENTI IEEE 1599
02/2021
1
Perché il C?
Dal C derivano molti dei linguaggi di alto livello piú utilizzati (es. C++, C#, Java, Python).
Un linguaggio ad alto livello può
interfacciarsi al C attraverso le Foreign
Function Interface.
Il contenuto del documento deve trovarsi in memoria
Bisogna implementare:
Strutture dati per contenere le informazioni
Funzioni di input
Funzioni di output
Strutture dati e funzioni ausiliarie
3/11
Sulla gerarchia definita dal DTD IEEE 1599 si
basa la struttura dell’intero progetto
Contenuto dei moduli
Strutture dati
Funzioni di loading
Funzioni free
Funzioni print
Fa eccezione il modulo «common»
5/11
Libxml2
Gestisce documenti XML
Permette la validazione tramite DTD Supporta XPath
È altamente portabile
Problemi incontrati
Problemi con DTD esterni
Imprecisioni nel DTD (added_feature_object_class vuoto, elementi mpeg4_score doppi)
Imprecisioni nei documenti (UTF-8, elementi dislocati, riferimenti mancanti)
Pochi documenti disponibili
7/11
Libreria per Windows
Risultati
9/11
Risultati
Risultati
11/11
Ai posteri
Funzioni toString
Rappresentazioni grafiche Salvataggio su file
Funzioni di modifica
Funzioni accessorie (set, get, find, ecc…)