Buone pratiche durante la scrittura di un parser per un formato di file standard (come ePub)

0

Sto pensando di scrivere un software di lettore Android in grado di leggere ePub e visualizzarli. Ho controllato i documenti standard di ePub. Tuttavia, questi contengono molte informazioni. Quindi mi chiedo quale sia il processo di implementazione di uno standard per un formato di file. Quali sono i passaggi per ottenere un'implementazione funzionante senza passare per parti dello standard? Ci sono delle buone pratiche?

Inoltre, è persino possibile programmarlo da solo in un tempo ragionevole?

Da quanto ho già scoperto, ePub è fondamentalmente un archivio zip. Ciò significa che potrei probabilmente usare zlib per decomprimerlo. Il contenuto è in XHTML e CSS, quindi credo che dovrebbe essere possibile visualizzarlo in una WebView. Le parti mancanti sono la scrittura del codice che può leggere i metadati e gestire le estensioni XHTML non standard.

    
posta J-F L-R 05.12.2012 - 16:03
fonte

1 risposta

1

Proviamo a rispondere alla tua domanda un punto alla volta.

  1. Sono sicuro che comprenderà la tua domanda (non sono un madrelingua inglese ...). Se ti stai chiedendo quale sia il processo utilizzato per definire un nuovo formato di file come ePub, allora la risposta è: riunisci alcuni esperti esperti intorno a un tavolo, nutrili con hamburger e problemi e attendi un documento. Se ti stai chiedendo come viene sviluppato un lettore di ePub funzionante per fungere da implementazione di riferimento, la risposta è: fai in modo che gli specialisti ne scrivano uno insieme al documento di riferimento. La maggior parte delle volte, questa implementazione arriva prima del documento di riferimento. Se stai chiedendo come implementare il tuo lettore, vedi sotto.

  2. Sì, esistono best practice per lo sviluppo di strumenti per XML / HTML ed ePub. Sono per lo più gli stessi utilizzati per sviluppare qualsiasi altro tipo di software. Qualsiasi buon libro che descriva i BP usati nella tua lingua preferita (Java su Android) può darti tutte le informazioni di cui hai bisogno. Per vedere quali BP sono effettivamente utilizzati in questo specifico campo, devi esplorare il mondo degli strumenti XML e XML (parser, convertitori e così via).

  3. Sì, è sicuramente possibile scrivere un e reader da solo in un ragionevole lasso di tempo. Come hai già visto da solo, un lettore di ePub è in realtà solo un programma che decomprime un file zip in un'area di memoria temporanea (in memoria o su disco) e mostra le pagine in un browser Web (WebView in Android) a partire dall'indice. html. Basta non provare a scrivere (ri) il web browser da solo ... Scrivere un ePub editor sarebbe una storia completamente diversa.

  4. Bene, XHTML è in realtà una "applicazione" di XML. Non c'è nulla in XHTML che sia "non standard". Non potrebbe nemmeno essere. XML è estensibile per definizione. Può accogliere ogni nuovo tag o struttura. Certo, c'è una parte del documento ePub che non è strettamente correlato all'XML e non è conforme allo standard XML ma non è in realtà non standard. È solo un altro tipo di dati. Di conseguenza, puoi utilizzare qualsiasi strumento XML standard per gestire la parte XML / XHTML di ePub.

Di gran lunga, il modo migliore per scrivere il tuo lettore ePub è:

  1. Trova una descrizione di alto livello del formato del file (anche la pagina di wikipedia di ePub dovrebbe essere sufficiente)

  2. Studia alcuni codici di lettori open source esistenti. Solo Google in giro per "java o android lettore di epub open source".

  3. Prova a reimplementare le funzionalità del programma una alla volta (e continua a chiedere aiuto / informazioni).

Buona fortuna.

    
risposta data 05.12.2012 - 17:10
fonte

Leggi altre domande sui tag