Voglio solo sapere se esiste un programma che può convertire un file XSD in una classe Python come JAXB fa per Java?Come convertire XSD in Python Classe
risposta
generateDS: credo che questo sia un buon strumento ho bisogno
Edit: In realtà, generateds fa molto bene il lavoro !! Genera la classe Python con tutti i metodi (setter e getter, esporta in XML, importa da XML). Funziona molto bene!
Dopo aver testato generateDS e PyXB ho deciso di usare PyXB, perché ha un migliore supporto di validazione (pattern) ed è possibile richiamare il generatore da un modulo python (setup.py) senza usare qualcosa come system(). –
@ EnnoGröper Probabilmente dovresti generare le classi prima del tempo. Uno dei miei XSD risulta in un file Python a 29k righe (35k con PyXB). A meno che non si abbia accesso all'XSD necessario fino all'installazione/runtime, non generare le classi su install/runtime. –
L'esportazione XML è veramente molto lenta in generaDS .... C'è qualche altra alternativa? Quale può essere veloce ed efficiente. – Nilesh
Guarda http://pypi.python.org/pypi/rsl.xsd/0.2.3
Inoltre, si potrebbe desiderare http://pyxsd.org/ funziona molto bene.
Vedo che pyxsd non ha mai superato la versione 0.1. Eventuali limitazioni notevoli? – Marcin
@Marcin: "Qualsiasi limite notevole" è impossibile rispondere. XSD consente di scrivere cose che * non * sono facili da tradurre in Python. È una "limitazione"? E se è così, non è una limitazione in Python stesso? L'unica cosa che puoi fare è usare PyXSD per il tuo XSD specifico e vedere se funziona per te. Se non funziona, ha una notevole limitazione. Un determinato set di XSD può essere abbastanza complesso o abbastanza semplice. –
Si prega di mostrare un esempio di questa libreria in uso. –
Errori PyXB su un XSD che ho creato usando dtd2xsd.pl (generateDS non ha alcun problema con questo XSD). PyXB sembra anche generare file più grandi (29k lines vs 35k per uno dei miei XSD). Per quanto riguarda la velocità, il tempo di compilazione sarà lo stesso per entrambi (probabilmente un secondo intero - file enormi), e durante il runtime generateDS è abbastanza veloce, quindi non mi sono preso la briga di testare l'output di PyXB - non può essere molto più veloce. –
Ho trascorso la maggior parte dei due giorni cercando di usare PyXB. La documentazione è terribile, genera errori di sintassi durante la generazione da questo XSD http://www.companieshouse.gov.uk/ef/xbrl/uk/fr/gaap/ae/2009-06-21/uk-gaap-ae- 2009-06-21.xsd, a causa del fatto che gli identificatori non possono contenere trattini. –
Una volta sistemati quegli errori, voglio solo iniziare ad accedere agli elementi quando ho letto in XML .... no, tutti gli esempi usano XML banale senza spazi dei nomi, e non c'è quasi nessuna documentazione API per gli oggetti oltre un mucchio di grafici incomprensibili –
- 1. Come convertire il file XSD in XLS
- 2. Come convertire xsd in ecore (EMF)
- 3. Come posso convertire il file XSD in C# Class
- 4. Xsd.exe o Svcutil.exe per convertire lo schema XSD in una classe
- 5. Come convertire `ctime` in` datetime` in Python?
- 6. utility per generare XSD dalla classe java
- 7. convertire xml in python dict
- 8. Come convertire Float (classe Wrapper) in classe wrapper Integer?
- 9. Converti quaderno Cobol in XSD
- 10. .NET xsd importatore crea una classe non serializzabile
- 11. Convertire una classe in un'estensione
- 12. python: come convertire la valuta in decimale?
- 13. Come convertire un array associativo in python?
- 14. Come creare uno schema XSD da una classe?
- 15. serializza in modo programmatico la classe su xsd
- 16. Come convertire un oggetto di classe personalizzato in una tupla in Python?
- 17. python 3.3 dict: come convertire struct PyDictKeysObject in python?
- 18. come convertire Python 3 in Python 2 codice?
- 19. Estrazione automatica XSD in linea da WSDL in file XSD
- 20. C++ convertire classe boolean
- 21. Convertire funzione parziale al metodo in python
- 22. Utilizzo classe in Python
- 23. Come convertire InputStream in Source?
- 24. Esiste un XSD per XSD, un Meta-XSD?
- 25. calco in un'altra classe o convertire classe all'altra
- 26. Creare file di classe MULTIPLE sulla base di un XSD
- 27. Convertire una classe in un array
- 28. Classe DB-Connections come Singleton in Python
- 29. Come estendere una classe in python?
- 30. Come cloni una classe in Python?
Dal dinamiche Pythons significa che è possibile impostare qualunque attributi desiderati su una classe, in realtà non ha definizioni di campo nello stesso modo, quindi non sono sicuro che rende molto senso . Ma ovviamente potresti usare getter e setter per fare controlli di tipo e quant'altro. Più interessante, tuttavia, sarebbe qualcosa che crea definizioni di schemi per vari framework di schemi Python come gli schemi Zope, Dexterity o SQLAlchemy. Sarebbe davvero bello se esistesse. –