Ho bisogno di una guida per un problema che richiede la convalida di XML su un file XSD molto grande.
Sto facendo uso dell'API XML CSTA (senza SOAP). L'XSD per i messaggi sembra essere un insieme di file molto complesso, compresi l'uno con l'altro. Tutti gli XSD sono "consolidati" in un file di grandi dimensioni csta.xsd ( link ), circa 250 file XSD dispari.
L'uso di erlsom:compile_xsd_file/1
impiega circa 3 - 4 minuti per elaborare il file XSD principale sul mio notebook (con la parte inferiore di una specifica media) (Quad Core 2 GHz, 4 Gb RAM). Quindi la mia idea era di compilare l'XSD nel modello di Erlang e scrivere il risultato in una funzione che restituisce il modello. Questa funzione viene quindi salvata su un file. Questo può essere fatto una volta durante il processo di costruzione. Il problema è che il mio notebook si blocca quando inizia a scrivere il risultato su file (esaurimento della memoria). Questo mi porta a pensare che ovviamente non sto seguendo il modo migliore per farlo.
Il problema è ulteriormente complicato dal fatto che sto usando l'API CSTA specifica di Avaya. Ogni XSD per un singolo messaggio importa l'intero csta.xsd. Posso elaborare un piano intorno a questo una volta che ho le nozioni di base giuste.
Per favore guidami e dimmi il modo giusto di gestire questo tipo di scenario.