Validazione e decodifica di file XML con Python

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Validazione e decodifica di file XML con Python"

Transcript

1 Validazione e decodifica di file XML con Python PyCon Otto Aprile 2017 Davide Brunato SISSA davide.brunato@sissa.it

2 Agenda Il contesto Schemi XML Disponibilità Necessità Soluzioni Conclusioni

3 Cos è la SISSA? Centro scientifico di eccellenza italiano ed internazionale Si trova a Trieste Fondata nel 1978 Ricerca e didattica in 3 aree: Fisica Matematica Neuroscienze Circa 260 studenti di PhD Attivati 12 corsi di PhD 2 Masters in: Comunicazione della Scienza High Performance Computing

4 Materials design at the exascale Centro di eccellenza finanziato con fondi dell Unione Europea (H2020-EINFRA , project ID: ) Riguarda alcuni software di simulazione quantistica

5 Quantum ESPRESSO ESPRESSO sta per open Source Package for Research in Electronic Structure, Simulation, and Optimization Suite integrata di programmi di simulazione a livello atomico basato su DFT, pseudo-potenziali e onde piane Strutturato su alcuni programmi di simulazione progettati per interoperare anche con altri software Free open source software (licenza GPL2) Iniziativa coordinata dalla Quantum ESPRESSO Foundation, con la partecipazione di SISSA, EPFL, ICTP, CINECA, CNR, University of North Texas e con molti partner in Europa e in tutto il mondo

6 I numeri di Quantum ESPRESSO linee di codice Fortran/C 53 sviluppatori registrati utenti registrati download per ogni nuova release 3 siti web 1 mailing list con messaggi/anno 30 scuole e workshop dal 2002 con partecipanti

7 Extensible Markup Language Un meta-linguaggio Forma semplificata di SGML SGML ideato per codifiche complete di lungo periodo Pensato anche per sostituire HTML non è stato così: HTML 5 Sintassi e semantica associata Ricco di linguaggi di manipolazione: XPath: selezionare nodi di un documento XML XSLT: Trasformazione di documenti XML XQuery: ricerca in documenti XML

8 XML vs JSON?

9 Schemi XML Descrizione della struttura di documenti XML: Elementi e attributi che possono essere inclusi Ordine e ripetizione degli elementi Tipi per elementi e attributi Predicati sul contenuto Vincoli su tipi, attributi, elementi Principali linguaggi per definire schemi XML: Grammar-based (struttura, forma e sintassi) Document Type Definition (DTD) XML Schema Relax NG (relaxing) Rule-based (relazioni tra i dati) Schematron

10 Document Type Definition Linguaggio di definizione eredidato da SGML PRO: Relativamente semplice e compatto Ampiamente supportato CONTRO: Supporto ai tipi di dati e vincoli molto limitato Non supporta nativamente i namespace Non ha una sintassi XML <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE vehicles [ <!ELEMENT vehicles (cars bikes)*> <!ELEMENT cars (car)*> <!ELEMENT car (#PCDATA)> <!ATTLIST car make CDATA #REQUIRED model CDATA #REQUIRED> <!ELEMENT bikes (bike)*> <!ELEMENT bike (#PCDATA)> <!ATTLIST bike make CDATA #REQUIRED model CDATA #REQUIRED> ]> <vehicles> <cars> <car make="porsche" model="911" /> <car make="porsche" model="911" /> </cars> <bikes> <bike make="harley-davidson" model="wl" /> <bike make="yamaha" model="xs650" /> </bikes> </vehicles>

11 XML Schema Sviluppato da W3C v.1.0 del 2001, v. 1.1 del 2012 Preceduto da XDR, DCD, SOX, DDML PRO: Include dati predefiniti Supporto per definire nuovi tipi di dati Vincoli sui tipi e sul modello Asserzioni (dalla v 1.1) Definizioni locali e globali CONTRO: Abbastanza complesso Schemi più lunghi <xs:schema attributeformdefault="unqualified" elementformdefault="qualified" xmlns:xs=" <xs:element name="vehicles"> <xs:complextype> <xs:sequence> <xs:element name="cars"> <xs:complextype> <xs:sequence> <xs:element name="car" maxoccurs="unbounded" minoccurs="0"> <xs:complextype> <xs:simplecontent> <xs:extension base="xs:string"> <xs:attribute type="xs:string" name="make" use="optional"/> <xs:attribute type="xs:string" name="model" use="optional"/> </xs:extension> </xs:simplecontent> </xs:complextype> </xs:element> </xs:sequence> </xs:complextype> </xs:element> <xs:element name="bikes"> <xs:complextype> <xs:sequence> <xs:element name="bike" maxoccurs="unbounded" minoccurs="0"> <xs:complextype> <xs:simplecontent> <xs:extension base="xs:string"> <xs:attribute type="xs:string" name="make" use="optional"/> <xs:attribute type="xs:string" name="model" use="optional"/> </xs:extension> </xs:simplecontent> </xs:complextype> </xs:element> </xs:sequence> </xs:complextype> </xs:element> </xs:sequence> </xs:complextype> </xs:element> </xs:schema>

12 Relax NG Sviluppato da un comitato tecnico OASIS PRO: Più semplice rispetto a XML Schema Lo schema del documento Migliore supporto per modelli non ordinati Disponibile anche in formato compatto non-xml CONTRO: Non ha tipi di dato predefiniti Poco supporto per definire tipi <grammar ns="" xmlns=" datatypelibrary=" <start> <element name="vehicles"> <element name="cars"> <oneormore> <element name="car"> <attribute name="make"> <data type="ncname"/> </attribute> <attribute name="model"> <data type="integer"/> </attribute> </element> </oneormore> </element> <element name="bikes"> <oneormore> <element name="bike"> <attribute name="make"> <data type="ncname"/> </attribute> <attribute name="model"> <data type="ncname"/> </attribute> </element> </oneormore> </element> </element> </start> </grammar>

13 Relax NG: forma compatta default namespace = "" start = element vehicles { element cars { element car { attribute make { xsd:ncname }, attribute model { xsd:integer } }+ }, element bikes { element bike { attribute make { xsd:ncname }, attribute model { xsd:ncname } }+ } } <grammar ns="" xmlns=" datatypelibrary=" <start> <element name="vehicles"> <element name="cars"> <oneormore> <element name="car"> <attribute name="make"> <data type="ncname"/> </attribute> <attribute name="model"> <data type="integer"/> </attribute> </element> </oneormore> </element> <element name="bikes"> <oneormore> <element name="bike"> <attribute name="make"> <data type="ncname"/> </attribute> <attribute name="model"> <data type="ncname"/> </attribute> </element> </oneormore> </element> </element> </start> </grammar>

14 Schematron Basato su regole XPath ISO Schematron (2006, 2016) XML valido se non viola regole PRO Facile da imparare e usare Espressività e flessibilità CONTRO Non ha modello di dati Niente tipi né defaults Impatto errori nello schema <schema xmlns=" <title>vehicles</title> <pattern id="vehicles-rules"> <rule context="vehicles"> <assert test="cars">no list of cars!</assert> <assert test="bikes">no list of bikes!</assert> </rule> <rule context="vehicles:cars"> <report test="car">you have a car!</report> </rule> <rule context="vehicles:bikes"> <report test="bike">you have a bike!</report> </rule> </pattern> </schema>

15 XML Schema: elementi all alternative annotation any anyattribute appinfo assert assertion attribute attributegroup choice complexcontent complextype element enumeration extension field fractiondigits group import include key length list maxexclusive maxinclusive maxlength minexclusive mininclusive minlength notation pattern redefine schema selector sequence simplecontent simpletype totaldigits union unique whitespace <xs:schema xmlns:xs=" xmlns:vh=" targetnamespace=" elementformdefault="qualified"> <xs:include schemalocation="cars.xsd"/> <xs:include schemalocation="bikes.xsd"/> <xs:element name="vehicles"> <xs:complextype> <xs:sequence> <xs:element ref="vh:cars" /> <xs:element ref="vh:bikes" /> </xs:sequence> </xs:complextype> </xs:element> <xs:attribute type="xs:positiveinteger" name="step"/> </xs:schema>

16 XML Schema: strutture Tipi Semplici Attributi Gruppi di Attributi Elementi Gruppi (modello) Tipi Complessi

17 XML Schema: tipi semplici Si applicano ad attributi ed elementi Derivazione come: Restrizione Lista Unione <simpletype name="lowhightype"> <restriction base="string"> <enumeration value="low"/> <enumeration value="high"/> </restriction> </simpletype> <simpletype name="constr_parms_listtype"> <restriction> <simpletype> <list itemtype="double"/> </simpletype> <length value="4"/> </restriction> </simpletype> <simpletype final = (#all (list union restriction)) id = ID name = NCName {any attributes with non-schema namespace...}> Content: (annotation?, (restriction list union)) </simpletype>

18 XML Schema: restrizioni Definizione vincoli (facets) Ammessa anche vuota 12 facets (14 XSD 1.1) <xs:simpletype name="farenheitwatertemp"> <xs:restriction base="xs:decimal"> <xs:fractiondigits value="2"/> <xs:minexclusive value="0.00"/> <xs:maxexclusive value="100.00"/> </xs:restriction> </xs:simpletype> <restriction base = QName id = ID {any attributes with non-schema namespace...}> Content: (annotation?, (simpletype?, (minexclusive mininclusive maxexclusive maxinclusive totaldigits fractiondigits length minlength maxlength enumeration whitespace pattern)*)) </restriction>

19 XML Schema: tipi built-in

20 XML Schema: attributi Nome o riferimento Valore di default Valore fisso <xs:attribute name="space"> <xs:simpletype> <xs:restriction base="xs:ncname"> <xs:enumeration value="default"/> <xs:enumeration value="preserve"/> </xs:restriction> </xs:simpletype> </xs:attribute> Uso <xs:attribute name="base" type="xs:anyuri"/> Attributi ammessi in un tipo complesso <xs:attribute name="id" type="xs:id"/> <attribute default = string fixed = string form = (qualified unqualified) id = ID name = NCName ref = QName type = QName use = (optional prohibited required) : optional {any attributes with non-schema namespace...}> Content: (annotation?, (simpletype?)) </attribute>

21 XML Schema: gruppi di attributi Attributi ammessi in un tipo complesso Solo definizioni globali Non partecipano alla validazione <xs:attributegroup name="i18n"> <xs:attribute name="lang" type="languagecode"/> <xs:attribute ref="xml:lang"/> <xs:attribute name="dir"> <xs:simpletype> <xs:restriction base="xs:token"> <xs:enumeration value="ltr"/> <xs:enumeration value="rtl"/> </xs:restriction> </xs:simpletype> </xs:attribute> </xs:attributegroup> <xs:attributegroup name="attrs"> <xs:attributegroup ref="coreattrs"/> <xs:attributegroup ref="i18n"/> <xs:attributegroup ref="events"/> </xs:attributegroup> <attributegroup id = ID name = NCName ref = QName {any attributes with non-schema namespace...}> Content: (annotation?, ((attribute attributegroup)*, anyattribute?)) </attributegroup>

22 XML Schema: elementi Elementi ammessi Tipo semplice o complesso Nome o riferimento Valore di default Valore fisso Occorrenza <xs:element name="purchaseorder" type="purchaseordertype"/> <xs:element name="gift"> <xs:complextype> <xs:sequence> <xs:element name="birthday" type="xs:date"/> <xs:element ref="purchaseorder"/> </xs:sequence> </xs:complextype> </xs:element> <element abstract = boolean : false block = (#all List of (extension restriction substitution)) default = string final = (#all List of (extension restriction)) fixed = string form = (qualified unqualified) id = ID maxoccurs = (nonnegativeinteger unbounded) : 1 minoccurs = nonnegativeinteger : 1 name = NCName nillable = boolean : false ref = QName substitutiongroup = QName type = QName {any attributes with non-schema namespace...}> Content: (annotation?, ((simpletype complextype)?, (unique key keyref)*)) </element>

23 XML Schema: gruppi Definizioni solo globali Definiscono il modello Scelte Sequenze ordinate Sequenze non ordinate Annidamento di gruppi Occorrenza <xs:group name="special.pre"> <xs:choice> <xs:element ref="br"/> <xs:element ref="span"/> <xs:element ref="bdo"/> <xs:element ref="map"/> </xs:choice> </xs:group> <xs:group name="special"> <xs:choice> <xs:group ref="special.pre"/> <xs:element ref="object"/> <xs:element ref="img"/> </xs:choice> </xs:group> <group id = ID maxoccurs = (nonnegativeinteger unbounded) : 1 minoccurs = nonnegativeinteger : 1 name = NCName ref = QName {any attributes with non-schema namespace...}> Content: (annotation?, (all choice sequence)?) </group>

24 XML Schema: tipi complessi Definiscono tipi con attributi Tipo di contenuto Semplice Complesso Derivazione: Restrizione Estensione <xs:complextype name="purchaseordertype"> <xs:sequence> <xs:element name="shipto" type="usaddress"/> <xs:element name="billto" type="usaddress"/> <xs:element ref="comment" minoccurs="0"/> <xs:element name="items" type="items"/> </xs:sequence> <xs:attribute name="orderdate" type="xs:date"/> </xs:complextype> <complextype abstract = boolean : false block = (#all List of (extension restriction)) final = (#all List of (extension restriction)) id = ID mixed = boolean : false name = NCName {any attributes with non-schema namespace...}> Content: (annotation?, (simplecontent complexcontent ((group all choice sequence)?, ((attribute attributegroup)*, anyattribute?)))) </complextype>

25 XML Schema: schema <xs:schema xmlns:xs=" xmlns:xlink=" targetnamespace=" <xs:include schemalocation="cars.xsd"/> <xs:include schemalocation="bikes.xsd"/> <xs:import namespace=" schemalocation="xml.xsd"/> <xs:import namespace=" schemalocation="xlink.xsd"/> <!-- seguono le dichiarazioni globali </xs:schema>

26 XML Schema: considerazioni Adatto per dati strutturati Molto espressivo Problemi di interoperabilità delle implementazioni XSD 1.1 da implementare Complicato!? Eventualmente il Primer W3C: Poi un libro buono (ce ne sono pochi) Alcuni errori sono anche difficili da interpretare: When <simplecontent> is used, the base type must be a complextype whose content type is simple, or, only if restriction is specified, a complex type with mixed content and emptiable particle, or, only if extension is specified, a simple type.

27 Validazione di documenti XML Verifica che un documento XML soddisfi entrambe le condizioni: sia ben formato (well-formed) sia valido rispetto ad un determinato schema XML schema (.xsd) XML Schema validator well-formed XML instance (.xml) XML instance is valid/invalid

28 PSVI Post Schema Validation Infoset Concetto introdotto con XML Schema Esprime un documento XML come modello di dati Documento XML come oggetto PSVI contiene Vocabolario (nomi di elementi e attributi) Il modello di contenuto I tipi di dati

29 Validatori XML Schema libxml2 Parte indipendente del framework di GNOME Scritta in C Implementazione XSD 1.0 quasi completa xmllint (tool di libxml2) lxml (Python bindings di libxml2) Xerces Supportato dalla Apache Foundation Disponibile per Java, C++, Perl Implementa completamente XSD 1.0 Usato in molti software (PyCharm)

30 lxml lxml is the most feature-rich and easy-to-use library for processing XML and HTML in the Python language. Libreria Python per parsing di documenti XML e HTML Rispetto alla libreria standard: Interfaccia Element Tree estesa Più veloce Supporto XPath completo Validazione (DTD, XML Schema, Relax NG) PSVI? Non disponibile dopo la validazione Non nelle C-API (file etreepublic.pxd)

31 Validare con lxml >>> import lxml.etree as etree >>> import io >>> f = io.stringio("""<xs:schema xmlns:xs=" <xs:element name="a" type="tipoa"/> <xs:complextype name="tipoa"> <xs:sequence> <xs:element name="b" type="xs:string"/> </xs:sequence> </xs:complextype> </xs:schema> """) >>> xs_document = etree.parse(f) >>> xs = etree.xmlschema(xs_document) >>> xml_document = etree.fromstring("<a><b></b></a>") >>> xs.validate(xml_document) True >>> xml_document = etree.fromstring("<a><c></c><d/></a>") >>> xs.validate(xml_document) False >>> xs.assertvalid(xml_document) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "src/lxml/lxml.etree.pyx", line 3491, in lxml.etree._validator.assertvalid (src/lxml/lxml.etree.c:186663) lxml.etree.documentinvalid: Element 'C': This element is not expected. Expected is ( B )., line 1 >>> xs.error_log <string>:1:0:error:schemasv:schemav_element_content: Element 'C': This element is not expected. Expected is ( B ). >>>

32 XML in QE Output già in XML, scritto da libreria proprietaria Standardizzare l uso di XML: 1.Fortran XML library (FoX) 2.Uso di schemi XSD per descrivere l input e l output Scelto XML Schema: Tipi di dato predefiniti Orientato alle strutture dati Già usato da altri sw del gruppo &CONTROL calculation='relax' dipfield=.false. disk_io='low' dt=20.0 etot_conv_thr= forc_conv_thr=0.001 input_xml_schema_file='al001_relax_bfgs.xml' iprint= max_seconds= outdir='/tmp/espresso/tempdir' prefix='al' pseudo_dir='/tmp/espresso/pseudo' restart_mode='from_scratch' title='' tprnfor=.false. tstress=.false. verbosity='high' wf_collect=.false. / &SYSTEM degauss=0.05 ecutwfc=12.0 force_symmorphic=.false. ibrav=0 input_dft='pz' lspinorb=.false. nat=7 no_t_rev=.false. noinv=.false. noncolin=.false. nosym=.false. nosym_evc=.false. nspin=1 /

33 XML Schema in QE Uno schema per applicativo: PW (2016) Phonon (2016) Neb (2017) Uso dello schema: Convertire l input XML nel formato namelist Fortran Strutturare l output XML Costruire codice Fortran per i dati di output Validare i dati prodotti

34 Convertitore input di PW Problema iniziale: PW XML Input XML to Namelist translator PW input file (namelists and cards) Non c è corrispondenza biunivoca tra Input XML e Namelist Alcuni parametri namelist sono funzione di più parametri XML Python per il post-processing di QE Decomposizione del problema: qes.xsd XML XML Schema Decoder Python dictionary Namelist translator Fortran namelist

35 Decoder XML Schema Semplice costruire un dizionario Non banale convertire i tipi base Più complicato con tipi derivati <complextype name="total_energytype"> <sequence> <element type="double" name="etot"/> <element type="double" name="eband" minoccurs="0"/> <element type="double" name="ehart" minoccurs="0"/> <element type="double" name="vtxc" minoccurs="0"/> <element type="double" name="etxc" minoccurs="0"/> <element type="double" name="ewald" minoccurs="0"/> <element type="double" name="demet" minoccurs="0"/> <element type="double" name="efieldcorr" minoccurs="0"/> <element type="double" name="potentiostat_contr" minoccurs="0"/> </sequence> </complextype> <simpletype name="doublelisttype"> <list itemtype="double"/> </simpletype> <complextype name="matrixtype"> <simplecontent> <extension base="qes:doublelisttype" /> </simplecontent> </complextype>

36 Oltre il decoder XSD Altri schemi per QE da definire Modifiche agli schemi esistenti Complessità parsing XSD Codice testato anche con altri schemi Validatore lxml non utile per decodifica Convertitore XML + PyCon 7 (jsonschema) xmlschema

37 xmlschema >>> import xmlschema >>> import io >>> f = io.stringio(""" <xs:schema xmlns:xs=" <xs:element name="a" type="tipoa"/> <xs:complextype name="tipoa"> <xs:sequence> <xs:element name="b" type="xs:string"/> </xs:sequence> </xs:complextype> </xs:schema>""") >>> xs = xmlschema.xmlschema(f) >>> xs.is_valid("<a><b></b></a>") True >>> xs.is_valid("<a><c></c></a>") False

38 xmlschema: errore di validazione >>> xs.validate("<a><b></b></a>") >>> xs.validate("<a><c></c></a>") Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python3.5/site-packages/xmlschema/schema.py", line 385, in validate raise error xmlschema.exceptions.xmlschemavalidationerror: failed validating 'C' with <XsdGroup 'None' at 0x7fc7f5d45d68>. Reason: element not in schema! Schema: <xs:sequence xmlns:xs=" <xs:element name="b" type="xs:string" /> </xs:sequence> Instance: <C />

39 xmlschema: generazione errori >>> [e for e in xs.iter_errors("<a><b></b></a>")] [] >>> [e for e in xs.iter_errors("<a><c></c></a>")] [XMLSchemaValidationError(<XsdGroup 'None' at 0x7fc7f5d45d68>, 'C', 'element not in schema!', <Element 'C' at 0x7fc7f430ab88>, <Element '{ at 0x7fc7f430a408>), XMLSchemaValidationError(<XsdElement 'B' at 0x7fc7f5d45da0>, <Element 'A' at 0x7fc7f430aae8>, "tag 'B' expected.")] >>>

40 xmschema: XSD errato >>> f = io.stringio(""" <xs:schema xmlns:xs=" <xs:element name="a" type="tipoax"/> <xs:complextype name="tipoa"> <xs:sequence> <xs:element name="b" type="xs:string"/> </xs:sequence> </xs:complextype> </xs:schema>""") >>> xs = xmlschema.xmlschema(f) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python3.5/site-packages/xmlschema/schema.py", line 266, in init self.maps.build() File "/usr/lib/python3.5/site-packages/xmlschema/schema.py", line 152, in build build_xsd_elements(self.elements, XSD_ELEMENT_TAG, **kwargs) File "/usr/lib/python3.5/site-packages/xmlschema/xsdbase.py", line 403, in build_xsd_map raise errors[0] if errors else XMLSchemaParseError(message=str(err), elem=elem) File "/usr/lib/python3.5/site-packages/xmlschema/xsdbase.py", line 381, in build_xsd_map elem, schema, is_global=true, **kwargs File "/usr/lib/python3.5/site-packages/xmlschema/factories.py", line 60, in xsd_factory_wrapper result = factory_function(elem, schema, instance, **kwargs) File "/usr/lib/python3.5/site-packages/xmlschema/factories.py", line 733, in xsd_element_factory element_type = xsd_lookup(type_qname, schema.maps.types) File "/usr/lib/python3.5/site-packages/xmlschema/xsdbase.py", line 305, in xsd_lookup raise XMLSchemaLookupError("Missing XSD reference %r!" % qname) xmlschema.exceptions.xmlschemalookuperror: Missing XSD reference 'TipoAx'!

41 xmlschema: validazione XSD >>> f = io.stringio(""" <xs:schema xmlns:xs=" <xs:element name="a" type="tipoa"/> <xs:complextype name="tipoa"> <xs:sequence> <xs:element name="b" type="xs:string"/> </xs:sequence> </xs:complextype> <xs:simplextype name="lista_interi"> <xs:list itemtype="xs:int"/> </xs:simplextype> </xs:schema>""") >>> xs = xmlschema.xmlschema(f, check_schema=true) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python3.5/site-packages/xmlschema/schema.py", line 261, in init self.check_schema(self.root) File "/usr/lib/python3.5/site-packages/xmlschema/schema.py", line 310, in check_schema raise error xmlschema.exceptions.xmlschemavalidationerror: failed validating '{ with <XsdGroup 'None' at 0x7f562900bc88>. Reason: element not in schema! Schema: <xs:complexcontent xmlns:xs=" <xs:extension base="xs:openattrs"> </xs:complexcontent> Instance: <xs:simplextype xmlns:xs=" name="lista_interi"> <xs:list itemtype="xs:int" /> </xs:simplextype>

42 xmlschema: PSVI >>> xs.types {'TipoA': <XsdComplexType 'TipoA' at 0x7fc7f5d45320>} >>> xs.elements {'A': <XsdElement 'A' at 0x7fc7f62e19b0>} >>> xs.namespaces {'': '', 'xs': ' 'xml': ' >>> xs.target_namespace '' >>>

43 xmlschema: la decodifica >>> import xmlschema >>> import io >>> f = io.stringio(""" <xs:schema xmlns:xs=" <xs:element name="a" type="tipoa"/> <xs:complextype name="tipoa"> <xs:sequence> <xs:element name="b" type="xs:string"/> <xs:element name="c" type="xs:int"/> <xs:element name="d" type="xs:float"/> </xs:sequence> </xs:complextype> </xs:schema>""") >>> xs = xmlschema.xmlschema(f) >>> xs.to_dict("<a><b>nome</b><c>99</c><d> </d></a>") {'D': , 'B': 'Nome', 'C': 99} >>> d = xs.to_dict("<a><b>nome</b><c>99.9</c><d> </d></a>") Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/home/brunato/development/projects/xmlschema/xmlschema/schema.py", line 410, in to_dict return self.maps.elements[xml_root.tag].decode(xml_root) File "/home/brunato/development/projects/xmlschema/xmlschema/xsdbase.py", line 531, in decode raise obj xmlschema.exceptions.xmlschemadecodeerror: cannot decode '99.9' using the type <class 'int'> of validator <XsdAtomicBuiltin '{ at 0x7fd >.

44 xmlschema: builtins Alcuni schemi sono di base: XML XSD (1.0/1.1) XSI (XML Schema Instance) XLink HFP (Has Facet and Property) Tipi built-in definiti direttamente: Decodifica/codifica tipi semplici Maggior velocità Agganciati al meta-schema XSD

45 xmlschema: stato Prima versione stabile: febbraio 2017 Testato con 200+ schemi Implementa ~80% XSD 1.0 Utilizzato da QE Da adottare in altri software MaX (plugins Aiida)

46 xmlschema: note Decodifica e validazione strettamente connesse OOP per rappresentare strutture XSD Fabric functions interconnesse (kwargs!) Decoratori Closures Type Checking (con moderazione ) La libreria di Python aiuta TODO: XSD 1.0 e 1.1 al 100% XPath Encoding completo

47 Conclusioni?

48 XML Schema in Python??? Si può fareee!!!

Tecnologie Web T XML Schema

Tecnologie Web T XML Schema Tecnologie Web T Home Page del corso: http://www-db.deis.unibo.it/courses/tw/ Versione elettronica: 2.03.XMLSchema.pdf Versione elettronica: 2.03.XMLSchema-2p.pdf 1 Che cos è? È un alternativa ai DTD basata

Dettagli

Tecniche Multimediali

Tecniche Multimediali È più facile modificare le esigenze in funzione del programma che viceversa. Non c è linguaggio in cui sia difficile scrivere cattivi programmi. Le tue esigenze si espandono fino a tutte quelle che può

Dettagli

TECN.PROG.SIST.INF. XML. Roberta Gerboni

TECN.PROG.SIST.INF. XML. Roberta Gerboni Roberta Gerboni Introduzione Lo sviluppo tecnologico relativo alle reti il crescente sviluppo della distribuzione di hardware per la comunicazione hanno reso necessaria Semantic Web significa un Web comprensibile

Dettagli

Uno XML Schema è un documento XML che descrive la grammatica di un linguaggio XML utilizzando un linguaggio di markup specifico.

Uno XML Schema è un documento XML che descrive la grammatica di un linguaggio XML utilizzando un linguaggio di markup specifico. Uno XML Schema è un documento XML che descrive la grammatica di un linguaggio XML utilizzando un linguaggio di markup specifico. In quanto documento XML, uno XML Schema ha un root element che contiene

Dettagli

XML Schema Definition (XSD)

XML Schema Definition (XSD) Corso di Laurea Specialistica in Ingegneria Informatica Corso di Linguaggi e Tecnologie Web A. A. 2011-2012 XML Schema Definition (XSD) Eufemia TINELLI Contenuti XML Schema e DTD Formato XML Schema Tipi

Dettagli

XML Schema. Dario Bottazzi Tel. 051 2093541, E-Mail: dario.bottazzi@unibo.it, SkypeID: dariobottazzi

XML Schema. Dario Bottazzi Tel. 051 2093541, E-Mail: dario.bottazzi@unibo.it, SkypeID: dariobottazzi XML Schema Dario Bottazzi Tel. 051 2093541, E-Mail: dario.bottazzi@unibo.it, SkypeID: dariobottazzi XML Schema Definition (XSD)! Alternativa ai DTD basata su XML! Uno XML Schema descrive la struttura di

Dettagli

Schemi XML (XSD) Giuseppe Della Penna Università degli Studi di L Aquila.

Schemi XML (XSD) Giuseppe Della Penna Università degli Studi di L Aquila. Schemi XML (XSD) Giuseppe Della Penna Università degli Studi di L Aquila Giuseppe.DellaPenna@univaq.it http://www.di.univaq.it/gdellape Engineering IgTechnology Info92 Maggioli Informatica Micron Technology

Dettagli

Università Ca Foscari di Venezia Linguistica Informatica Mod. 1 Anno Accademico XML. Rocco Tripodi

Università Ca Foscari di Venezia Linguistica Informatica Mod. 1 Anno Accademico XML. Rocco Tripodi Università Ca Foscari di Venezia Linguistica Informatica Mod. 1 Anno Accademico 2010-2011 XML Rocco Tripodi rocco@unive.it Linguaggi dichiarativi: XML extensible Markup Language meta linguaggio che consente

Dettagli

Laboratorio XMLSchema

Laboratorio XMLSchema Esercizi Laboratorio XMLSchema Dato il file XML dato, realizzare: 1. Uno schema DTD 2. Uno schema XMLSchema E rispondere alle successive domande Ombretta Gaggi, Matteo Ciman Università di Padova 1 Tecnologie

Dettagli

Linguaggi ed Applicazioni mul1mediali

Linguaggi ed Applicazioni mul1mediali Università degli Studi di Urbino "Carlo Bo" Linguaggi ed Applicazioni mul1mediali 06.01- Introduction to mark-up. 06.02- classification 06.03- SGML 06.04- XML Hypertext Maurizio Maffi ISTI Informa1on Science

Dettagli

Classification of Financial Instrument(CFI)] quotazione si /no indicatore eventuale della quotazione

Classification of Financial Instrument(CFI)] quotazione si /no indicatore eventuale della quotazione Allegato 2 TRACCIATO DATI PER ANAGRAFICHE TITOLI INTERMEDIARI Per uniformare l invio delle informazioni sui titoli trattati presso gli internalizzatori sistematici si propone l invio di un file in formato

Dettagli

XML e XSD. Tito Flagella tito@link.it Lorenzo Nardi nardi80@gmail.com

XML e XSD. Tito Flagella tito@link.it Lorenzo Nardi nardi80@gmail.com XML e XSD Tito Flagella tito@link.it Lorenzo Nardi nardi80@gmail.com Ordine di Acquisto Servizio: eshop Operazione: ordine di acquisto Dati dell'ordine: prodotti quantità corriere Playstation 2 Controller

Dettagli

Specifiche struttura del file dei rilievi Descrizione e XML Schema

Specifiche struttura del file dei rilievi Descrizione e XML Schema Specifiche struttura del file dei rilievi Descrizione e XML Schema Contenuti CONTENUTI...2 1 INTRODUZIONE...3 2 MODELLO INFORMATIVO...4 3 APPENDICE...7 3.1 APPENDICE A XSD...7 3.1.1 Remark.xsd...7 2 1

Dettagli

Allegato 3 Struttura di Esiti.xml. Schema

Allegato 3 Struttura di Esiti.xml. Schema Allegato 3 Struttura di Esiti.xml Schema Esiti.xsd

Dettagli

Manuale di progettazione schemi XML

Manuale di progettazione schemi XML Ministero dell'economia e delle finanze Dipartimento per le politiche fiscali - Ufficio coordinamento tecnologie informatiche Sergio Baldelli Manuale di progettazione schemi XML Conformi alle regole del

Dettagli

XML (extensible Markup Language) e i Linguaggi di Schema

XML (extensible Markup Language) e i Linguaggi di Schema Corso di Laurea Magistrale in Ingegneria Gestionale Corso di Sistemi Informativi A.A. 2011-2012 XML (extensible Markup Language) e i Linguaggi di Schema Eufemia TINELLI XML Un framework per definire linguaggi

Dettagli

DTD ed XML Schema - Esercizi

DTD ed XML Schema - Esercizi Corso di Laurea Specialistica in Ingegneria Informatica Corso di Linguaggi e Tecnologie Web A. A. 2011-2012 DTD ed XML Schema - Esercizi Eufemia TINELLI Contenuti Esercizi: DTD XML e XSD XML Design Pattern

Dettagli

XML extensible Markup Language

XML extensible Markup Language XML extensible Markup Language Schemi parte b XMLSchema versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca Università della Basilicata

Dettagli

XML. (extensible Markup Language) Seconda parte

XML. (extensible Markup Language) Seconda parte XML (extensible Markup Language) Seconda parte XML Schema: motivazione XML è lo strumento ideale per esprimere documenti di testo, ma è anche molto di più è uno strumento per trasferire DATI STRUTTURATI

Dettagli

Gestione ex Inpdap SISTEMA INFORMATIVO DOMANDE DI PRESTAZIONI PENSIONISTICHE E NON PENSIONISTICHE

Gestione ex Inpdap SISTEMA INFORMATIVO DOMANDE DI PRESTAZIONI PENSIONISTICHE E NON PENSIONISTICHE Allegato_Tecnico Gestione ex Inpdap SISTEMA INFORMATIVO COOPERAZIONE CON GLI ENTI DI PATRONATO PER LA ISTRUTTORIA RELATIVA ALLE DOMANDE DI PRESTAZIONI PENSIONISTICHE E NON PENSIONISTICHE NOTA TECNICA:

Dettagli

Linguaggi per il Web: XML

Linguaggi per il Web: XML Linguaggi per il Web: XML Piero Fraternali Sara Comai Politecnico di Milano XML http://w3c.org/xml/ -- http://www.microsoft.com/xml/ extended Markup Language Formato di file proposto dal W3C per distribuire

Dettagli

Specifiche tecniche di trasmissione per i Comuni

Specifiche tecniche di trasmissione per i Comuni Pag. 1 di 15 Specifiche tecniche di trasmissione per i Comuni versione data Modifiche principali Autore/i 0.1 Redazione specifiche tecniche Dario Piermarini 1/15 Pag. 2 di 15 1 INTRODUZIONE Un Comune che

Dettagli

Argomenti XML JSON. Linguaggi per la definizione e lo scambio di dati strutturati, semi-strutturati, non strutturati. XML Data Model JSON

Argomenti XML JSON. Linguaggi per la definizione e lo scambio di dati strutturati, semi-strutturati, non strutturati. XML Data Model JSON XML JSON Argomenti 2 Linguaggi per la definizione e lo scambio di dati strutturati, semi-strutturati, non strutturati XML Data Model JSON 3 XML XML extensible Markup Language 4 Modello di dati XML Nato

Dettagli

XML (extensible Markup Language) e i Linguaggi di Schema

XML (extensible Markup Language) e i Linguaggi di Schema Corso di Laurea Magistrale in Ingegneria Gestionale Corso di Sistemi Informativi A.A. 2012-2013 XML (extensible Markup Language) e i Linguaggi di Schema Eufemia TINELLI XML Un framework per definire linguaggi

Dettagli

Basi di dati - Laboratorio

Basi di dati - Laboratorio Basi di dati - Laboratorio Corso di Laurea in Bioinformatica Docente: Barbara Oliboni Lezione 8 Contenuto della lezione extensible Markup Language (XML) HTML vs XML Documenti ben formati Documenti validi

Dettagli

DTD ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010. Document Type Definition (DTD) Un DTD è il linguaggio usato per descrive la

DTD ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010. Document Type Definition (DTD) Un DTD è il linguaggio usato per descrive la DTD ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Document Type Definition (DTD) Un DTD è il linguaggio usato per descrive la struttura di un documento XML disponibile prima che fosse introdotto XMLSchema

Dettagli

La struttura: XML Schema

La struttura: XML Schema La struttura: XML Schema Laura Farinetti, Fulvio Corno Dip. Automatica e Informatica Politecnico di Torino L. Farinetti, F. Corno - Politecnico di Torino 1 XML Schema Inizialmente proposto da Microsoft,

Dettagli

2 Reti di Calcolatori XML

2 Reti di Calcolatori XML 2 3 4 5 6 7 8 root element Risultati Basi di dati 10 Dicembre 2003 Mario Rossi Corso Data List a_st

Dettagli

Parole Chiave: XML RDBMS Trasferimento Dati QUERY XQuery

Parole Chiave: XML RDBMS Trasferimento Dati QUERY XQuery 1 Parole Chiave: XML RDBMS Trasferimento Dati QUERY XQuery Ringraziamenti Desidero ringraziare i miei amici per avermi sostenuto durante gli anni di università. Un ringraziamento particolare alla mia famiglia

Dettagli

Allegato 2 Struttura di ComunicazioniSoggetti.xml. Schema. Pagina 1 di 7

Allegato 2 Struttura di ComunicazioniSoggetti.xml. Schema. Pagina 1 di 7 Allegato 2 Struttura di ComunicazioniSoggetti.xml Schema Pagina 1 di 7 TipiBaseReGIndE.xsd

Dettagli

Breve Introduzione a XML

Breve Introduzione a XML Origini! XML (extensible Markup Language) deriva da SGML (Standard Generalized Markup Language).! Sia con XML che con SGML è possibile definire linguaggi di markup specifici per vari domini, come la finanza

Dettagli

XML Schema WWW. Fabio Vitali

XML Schema WWW. Fabio Vitali XML Schema Fabio Vitali Sommario Oggi esaminiamo in breve XML Schema u Perché non bastano i DTD u Tipi ed elementi u Definizione di elementi ed attributi u Altri aspetti rilevanti di XML Schema A seguire:

Dettagli

Dispense XML. Indice

Dispense XML. Indice Indice Dispense XML...1 Breve introduzione a XML...1 Analisi e Visualizzazione del documento...1 Supporto Microsoft per XML...3 XML server side...3 Spazio dei nomi...4 Struttura di un documento XML...5

Dettagli

IL DIRETTORE DELL AGENZIA. In base alle attribuzioni conferitegli dalle norme riportate nel seguito del presente provvedimento.

IL DIRETTORE DELL AGENZIA. In base alle attribuzioni conferitegli dalle norme riportate nel seguito del presente provvedimento. Prot.2014/146313 Approvazione del modello di dichiarazione dell imposta di bollo assolta in modo virtuale, delle relative istruzioni e delle specifiche tecniche per la trasmissione telematica IL DIRETTORE

Dettagli

ALLEGATO C SCHEMA XSD DELLE SPECIFICHE TECNICHE DEL MODELLO TIPIZZATO DELL ATTO DI COSTITUZIONE DI START-UP INNOVATIVE AVENTI FORMA DI SOCIETÀ A

ALLEGATO C SCHEMA XSD DELLE SPECIFICHE TECNICHE DEL MODELLO TIPIZZATO DELL ATTO DI COSTITUZIONE DI START-UP INNOVATIVE AVENTI FORMA DI SOCIETÀ A ALLEGATO C SCHEMA XSD DELLE SPECIFICHE TECNICHE DEL MODELLO TIPIZZATO DELL ATTO DI COSTITUZIONE DI START-UP INNOVATIVE AVENTI FORMA DI SOCIETÀ A RESPONSABILITÀ LIMITATA, RELATIVAMENTE ALLA SEZIONE STATUTO

Dettagli

Formati di interscambio

Formati di interscambio Università degli Studi di Brescia Elementi di informatica e Programmazione Dipartimento di Ingegneria Meccanica e Industriale EXCEL Docente: Marco Sechi E-mail: marco.sechi@unibs.it Vers. 11/10/2015 Formati

Dettagli

Tecnologie Web T DTD Document Type Definition

Tecnologie Web T DTD Document Type Definition Tecnologie Web T Document Type Definition Home Page del corso: http://www-db.disi.unibo.it/courses/tw/ Versione elettronica: 2.02.XML-.pdf Versione elettronica: 2.02.XML--2p.pdf 1 Che cos è? : Document

Dettagli

Interoperabilità SISTRI Descrizione servizi per upload consuntivo percorsi da sistemi ferroviari

Interoperabilità SISTRI Descrizione servizi per upload consuntivo percorsi da sistemi ferroviari Interoperabilità SISTRI servizi per upload consuntivo percorsi da sistemi ferroviari Prot. N.: SISTRI-ICD_SIS-001 SF Data: 15/05/2011 STORIA DEL DOCUMENTO VER. DATA DESCRIZIONE 1.0 01/05/2011 Prima Edizione

Dettagli

IL DIRETTORE DELL AGENZIA. In base alle attribuzioni conferitegli dalle norme riportate nel seguito del presente provvedimento, Dispone:

IL DIRETTORE DELL AGENZIA. In base alle attribuzioni conferitegli dalle norme riportate nel seguito del presente provvedimento, Dispone: N. 61273 /2011 protocollo Approvazione delle specifiche tecniche per la trasmissione alle Regioni e alle Province autonome di Trento e Bolzano dei dati relativi alla dichiarazione Irap 2011 e alla Comunicazione

Dettagli

OSSERVATORIO RIFIUTI SOVRAREGIONALE ~ ~ ~ IMPORTAZIONE AUTOMATICA DELLE IMFORMAZIONI SUI RIFIUTI RITIRATI E PRODOTTI DAGLI IMPIANTI.

OSSERVATORIO RIFIUTI SOVRAREGIONALE ~ ~ ~ IMPORTAZIONE AUTOMATICA DELLE IMFORMAZIONI SUI RIFIUTI RITIRATI E PRODOTTI DAGLI IMPIANTI. OSSERVATORIO RIFIUTI SOVRAREGIONALE ~ ~ ~ IMPORTAZIONE AUTOMATICA DELLE IMFORMAZIONI SUI RIFIUTI RITIRATI E PRODOTTI DAGLI IMPIANTI Revisione 106 Omnigate srl Bergamo, luglio 2009 1. Introduzione Il servizio

Dettagli

XStream e JDOM, serializzazione basata sullo standard XML

XStream e JDOM, serializzazione basata sullo standard XML Il Linguaggio Java Utilizzo di librerie alternative, caso di studio : XStream e JDOM, serializzazione basata sullo standard XML 1/18 Terminologia specifica = come la tecnologia deve funzionare: cosa dovrebbe

Dettagli

Specifiche tecniche per il controllo e la trasmissione telematica delle pratiche di Comunicazione Unica

Specifiche tecniche per il controllo e la trasmissione telematica delle pratiche di Comunicazione Unica Specifiche tecniche per il controllo e la trasmissione telematica delle pratiche di Comunicazione Unica 1/20 1.1 Modifiche Documento Descrizione Modifica Edizione Data Prima emissione 1 28/07/2008 1.2

Dettagli

Capitolo 3. XML: extensible Markup Language. Introduzione Logical Structures Document Type Definition Namespace XML - Schema

Capitolo 3. XML: extensible Markup Language. Introduzione Logical Structures Document Type Definition Namespace XML - Schema Capitolo 3 XML: extensible Markup Language Introduzione Logical Structures Document Type Definition Namespace XML - Schema XML: extensible Markup Language Introduzione HTML: HyperText Markup Language HTML

Dettagli

Web Service per il controllo e la trasmissione telematica delle pratiche di Comunicazione Unica

Web Service per il controllo e la trasmissione telematica delle pratiche di Comunicazione Unica Web Service per il controllo e la trasmissione telematica delle pratiche di Comunicazione Unica Versione: 3 Data: 16/10/2014 Autore: InfoCamere 1. Introduzione al documento...3 1.1 Modifiche al documento...

Dettagli

EDIZIONE FEBBRAIO 2012

EDIZIONE FEBBRAIO 2012 MISADWEB SERVICE EDIZIONE FEBBRAIO 2012 Operazioni supportate GetAllVehicle Permette di ricevere la lista integrale delle vetture dell impianto. Accetta come parametro un xml contenente le informazioni

Dettagli

Allegato 2 XML-Schema per l alimentazione del ReGIndE TipiBaseReGIndE.xsd

Allegato 2 XML-Schema per l alimentazione del ReGIndE TipiBaseReGIndE.xsd Allegato 2 XML-Schema per l alimentazione del ReGIndE TipiBaseReGIndE.xsd

Dettagli

Indagini sul personale dipendente Applicazione web per la raccolta dei dati Guida tecnica

Indagini sul personale dipendente Applicazione web per la raccolta dei dati Guida tecnica Indagini sul personale dipendente Applicazione web per la raccolta dei dati Guida tecnica Versione 3.0 Giugno 2015 Sommario 1 I profili di utenza del sistema... 3 2 Accesso al sistema... 3 3 Utente Amministrazione...

Dettagli

XML Schema. Si avvicinano i Mondiali di calcio. La federazione. ai Mondiali di calcio di Massimo Ruocchio

XML Schema. Si avvicinano i Mondiali di calcio. La federazione. ai Mondiali di calcio di Massimo Ruocchio F O C U S Vediamo cos è e come Schema si utilizza Schema Schema, il linguaggio standard introdotto dal W3C per creare schemi di validazione per documenti. Un semplice esempio può essere di grande aiuto

Dettagli

Laboratorio di Sistemi Distribuiti

Laboratorio di Sistemi Distribuiti Laboratorio di Sistemi Distribuiti Bianchi Marco Univ. Roma Tor Vergata November 8, 2006 Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 8, 2006 1 / 73 Introduzione ad

Dettagli

Autorità Nazionale Anticorruzione e per la valutazione e la trasparenza delle amministrazioni pubbliche

Autorità Nazionale Anticorruzione e per la valutazione e la trasparenza delle amministrazioni pubbliche Autorità Nazionale Anticorruzione e per la valutazione e la trasparenza delle amministrazioni pubbliche Indagini sul personale dipendente Applicazione web per la raccolta dei dati Guida tecnica per utente

Dettagli

Autorità per l energia elettrica e il gas

Autorità per l energia elettrica e il gas Autorità per l energia elettrica e il gas Definizione informatica dei singoli tracciati da utilizzare per ciascun scambio informativo individuato dalle Istruzioni Operative allegate alla delibera 185/08

Dettagli

Sintassi dei DTD. <!DOCTYPE > <!ELEMENT > <!ATTLIST > <!ENTITY >: Entità generali <!ENTITY % >: Entità parametriche

Sintassi dei DTD. <!DOCTYPE > <!ELEMENT > <!ATTLIST > <!ENTITY >: Entità generali <!ENTITY % >: Entità parametriche Sintassi dei DTD : Entità generali : Entità parametriche La dichiarazione di tipo Il è la dichiarazione del tipo di documento. Essa

Dettagli

Gestione ex Inpdap SISTEMA INFORMATIVO COOPERAZIONE CON GLI ENTI DI PATRONATO PER LA ISTRUTTORIA RELATIVA ALLE

Gestione ex Inpdap SISTEMA INFORMATIVO COOPERAZIONE CON GLI ENTI DI PATRONATO PER LA ISTRUTTORIA RELATIVA ALLE Allegato_Tecnico Gestione ex Inpdap SISTEMA INFORMATIVO COOPERAZIONE CON GLI ENTI DI PATRONATO PER LA ISTRUTTORIA RELATIVA ALLE DOMANDE DI PRESTAZIONI PENSIONISTICHE E NON PENSIONISTICHE NOTA TECNICA:

Dettagli

XML Schema WWW. Fabio Vitali

XML Schema WWW. Fabio Vitali XML Schema Sommario Oggi esaminiamo in breve XML Schema Perché non bastano i DTD Tipi ed elementi Definizione di elementi ed attributi Altri aspetti rilevanti di XML Schema 2 Motivazione (1) Inizialmente

Dettagli

RDF. Resource Description Framework

RDF. Resource Description Framework RDF Resource Description Framework 1 Sommario 1) Cos è l RDF RDF Model and Syntax RDF Schema 2) Il data model RDF definizione di risorsa, proprietà e statement esempio 1 esempio 2 2 3) Combinazione RDF

Dettagli

Specifiche di invocazione del sistema di monitoraggio e controllo servizi CART

Specifiche di invocazione del sistema di monitoraggio e controllo servizi CART Regione Toscana Specifiche di invocazione del sistema di monitoraggio e controllo servizi CART Stato del documento Definitiva Versione del documento 1.8 Data 29/05/13 Documento Acronimo del documento Specifiche

Dettagli

Modelli di presentazione dei documenti XML

Modelli di presentazione dei documenti XML XML Indice 1. 1. Introduzione Cosa è e a cosa serve l'extensible Markup Language (XML) Storia e applicazioni di XML 1. 2. Un po'di storia Storia di XML: dall'ideazione alla standardizzazione del W3C 2.

Dettagli

Manuale Utente TebeniService 5.0.0

Manuale Utente TebeniService 5.0.0 Società Consortile di Informatica delle Camere di Commercio Italiane per azioni Manuale Utente TebeniService 5.0.0 Versione doc: 05.00.00 Data Versione: 03/03/15 Descr. modifiche: Motivazioni : Aggiunto

Dettagli

ALLEGATO B SCHEMA XSD DELLE SPECIFICHE TECNICHE DEL MODELLO TIPIZZATO DELL ATTO DI COSTITUZIONE DI START-UP INNOVATIVE AVENTI FORMA DI SOCIETÀ A

ALLEGATO B SCHEMA XSD DELLE SPECIFICHE TECNICHE DEL MODELLO TIPIZZATO DELL ATTO DI COSTITUZIONE DI START-UP INNOVATIVE AVENTI FORMA DI SOCIETÀ A ALLEGATO B SCHEMA XSD DELLE SPECIFICHE TECNICHE DEL MODELLO TIPIZZATO DELL ATTO DI COSTITUZIONE DI START-UP INNOVATIVE AVENTI FORMA DI SOCIETÀ A RESPONSABILITÀ LIMITATA, RELATIVAMENTE ALLA SEZIONE ATTO

Dettagli

Sistema DE.PRO.EM. Istruzioni per il caricamento delle informazioni relative ai prodotti tramite file XML. Versione 1.0

Sistema DE.PRO.EM. Istruzioni per il caricamento delle informazioni relative ai prodotti tramite file XML. Versione 1.0 Sistema DE.PRO.EM. Istruzioni per il caricamento delle informazioni relative ai prodotti tramite file XML Versione 1.0 1 Sommario Sommario... 2 1. Istruzioni operative... 3 2. Struttura del file XML...

Dettagli

SIMIR. Servizio di gestione del MIR

SIMIR. Servizio di gestione del MIR SIMIR Servizio di gestione del MIR Indice generale 1. Introduzione...4 2. Note Importanti...4 2.1 Legenda...4 3. Servizio di gestione del MIR (SIMIR)...5 3.1 Gestione MIR :...5 3.2 Stacco Multiplo MIR

Dettagli

MANUALE UTENTE SRTY SISTEMA INFORMATIVO SANITARIO SRTY MANUALE UTENTE. Contratto:

MANUALE UTENTE SRTY SISTEMA INFORMATIVO SANITARIO SRTY MANUALE UTENTE. Contratto: Contratto: Contratto del 23/04/2002 (Rep. 6253/Raccolta 1966), per l affidamento dell espletamento dei Servizi Informatici per la progettazione, realizzazione e manutenzione di prodotti software per il

Dettagli

Definire linguaggi XML XSchema

Definire linguaggi XML XSchema Definire linguaggi XML XSchema 1 XMLSchema: cos'è e a cosa serve Scambio di informazioni/dati deve essere trattato in modo automatico I documenti XML usati da più partner devono avere la stessa struttura

Dettagli

extensible Markup Language

extensible Markup Language XML a.s. 2010-2011 extensible Markup Language XML è un meta-linguaggio per definire la struttura di documenti e dati non è un linguaggio di programmazione un documento XML è un file di testo che contiene

Dettagli

MANUALE OPERATIVO PER LE SEGNALAZIONI STATISTICHE DELLE MONETE METALLICHE IN EURO DA PARTE DEI GESTORI DEL CONTANTE

MANUALE OPERATIVO PER LE SEGNALAZIONI STATISTICHE DELLE MONETE METALLICHE IN EURO DA PARTE DEI GESTORI DEL CONTANTE MANUALE OPERATIVO PER LE SEGNALAZIONI STATISTICHE DELLE MONETE METALLICHE IN EURO DA PARTE DEI GESTORI DEL CONTANTE Giugno 2015 1 Sommario. RIFERIMENTI NORMATIVI... 3 DEFINIZIONI... 4 CAPITOLO 1 - LE SEGNALAZIONI

Dettagli

Tecniche Multimediali

Tecniche Multimediali Le idee sono la cosa più importante, il resto è una conseguenza. Richard Feynman Tecniche Multimediali Corso di Laurea in «Informatica» - aa 2010-2011 Prof. Giorgio Poletti giorgio.poletti@unife.it XML

Dettagli

Introduzione alle griglie computazionali. Elementi di XML

Introduzione alle griglie computazionali. Elementi di XML Introduzione alle griglie computazionali Università degli Studi di Napoli Federico II Corso di Laurea in Informatica III Anno LEZIONE N. 8 Elementi di XML Sommario Introduzione Dall HTML all XML XML Namespaces

Dettagli

Laboratorio di Basi di Dati per Bioinformatica

Laboratorio di Basi di Dati per Bioinformatica Laboratorio di Basi di Dati per Bioinformatica Laurea in Bioinformatica Docente: Carlo Combi Email: carlo.combi@univr.it Lezione 10 Il linguaggio XML extensible Markup Language XML è un linguaggio di marcatura

Dettagli

Terminologia. Laboratorio di sistemi interattivi. XML: descrivere caratteristiche arbitrarie di un documento. Lezione 11: Introduzione a XML

Terminologia. Laboratorio di sistemi interattivi. XML: descrivere caratteristiche arbitrarie di un documento. Lezione 11: Introduzione a XML Laboratorio di sistemi interattivi Lezione 11: Introduzione a XML 1 Terminologia XML = extensible Markup Language DTD = Document Type Definition XSL = extensible Stylesheet Language XSLT = extensible Stylesheet

Dettagli

Iit Istituto di Informatica e Telematica

Iit Istituto di Informatica e Telematica C Consiglio Nazionale delle Ricerche XML SCHEMA Best Practices A. Marchetti, M. Tesconi, T. Bacci, M. Rosella IIT B4-02/2006 Nota Interna Maggio 2006 Iit Istituto di Informatica e Telematica XML Schema

Dettagli

Il linguaggio XML. Capitolo 3. 3.1 Introduzione al linguaggio XML

Il linguaggio XML. Capitolo 3. 3.1 Introduzione al linguaggio XML Capitolo 3 Il linguaggio XML 3.1 Introduzione al linguaggio XML Il linguaggio XML (extensible Markup Language) è stato sviluppato nel 1996 da XML Working Group, gruppo di lavoro organizzato dal World Wide

Dettagli

Standardizzazione flussi informativi relativi al bonus sociale elettrico e/o gas (art. 10 del TIBEG)

Standardizzazione flussi informativi relativi al bonus sociale elettrico e/o gas (art. 10 del TIBEG) Standardizzazione flussi informativi relativi al bonus sociale elettrico e/o gas (art. 10 del TIBEG) 1/38 SOMMARIO 1 INTRODUZIONE... 4 2 ISTRUZIONI OPERATIVE PER LA DEFINIZIONE DELLE PRESTAZIONI... 5 2.1

Dettagli

Autorità per l energia elettrica e il gas

Autorità per l energia elettrica e il gas Autorità per l energia elettrica e il gas Definizione informatica dei singoli tracciati da utilizzare per ciascun scambio informativo individuato dalle Istruzioni Operative allegate alla determina 3/10

Dettagli

Introduzione a XML: Document Type Definition; parser XML; XML-schema; extensible Stylesheet Language. a.a. 2004/05 Tecnologie Web 1

Introduzione a XML: Document Type Definition; parser XML; XML-schema; extensible Stylesheet Language. a.a. 2004/05 Tecnologie Web 1 Introduzione a XML: Document Type Definition; parser XML; XML-schema; extensible Stylesheet Language a.a. 2004/05 Tecnologie Web 1 XML - I XML (exstensible Markup Language): XML è un formato standard,

Dettagli

Manuale d uso Servizi di accoglienza prescrizioni regionali

Manuale d uso Servizi di accoglienza prescrizioni regionali Manuale d uso Servizi di accoglienza prescrizioni regionali Il presente documento intende fornire la descrizione e le specifiche tecniche necessarie al colloquio fra i sistemi software produttori di prescrizioni

Dettagli

Laboratorio di reti II: Extensible Markup Language

Laboratorio di reti II: Extensible Markup Language Laboratorio di reti II: Extensible Markup Language Stefano Brocchi brocchi@dsi.unifi.it 20 aprile, 2009 Stefano Brocchi Laboratorio di reti II: XML 20 aprile, 2009 1 / 27 Il linguaggio XML L XML (extensible

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione su XML: Librerie per XML versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

INTRODUZIONE AD OMNET++

INTRODUZIONE AD OMNET++ INTRODUZIONE AD OMNET++ Omnet++ OMNET++ è una piattaforma di simulazione : È utile per: Modulare: gerarchia di moduli Ad eventi Orientata agli Oggetti (in C++) Open Source Versione comm. OMNEST analizzare

Dettagli

Tecnologie per XML. Tecnologie per XML

Tecnologie per XML. Tecnologie per XML Progetto di sistemi informatici 2004 - Tecnologie per XML Paolo Papotti papotti@dia.uniroma3.it Lab. basi di dati Cosa vedremo oggi Richiami di XML Rappresentazione dati Sintassi Schemi Tecnologie per

Dettagli

Laboratorio di Basi di Dati e Multimedia

Laboratorio di Basi di Dati e Multimedia Laboratorio di Basi di Dati e Multimedia Laurea in Informatica Multimediale Docente: Carlo Combi Email: carlo.combi@univr.it Lezione 8 Il linguaggio XML extensible Markup Language XML è un linguaggio di

Dettagli

6. XML E RAPPRESENTAZIONE DEL FORMATO DI RISPOSTA

6. XML E RAPPRESENTAZIONE DEL FORMATO DI RISPOSTA 6. XML E RAPPRESENTAZIONE DEL FORMATO DI RISPOSTA Il permesso di fare copie digitali o fisiche di tutto o parte di questo lavoro per uso di ricerca o didattico è acconsentito senza corrispettivo in danaro,

Dettagli

Laboratorio di RETI DI CALCOLATORI

Laboratorio di RETI DI CALCOLATORI Laboratorio di RETI DI CALCOLATORI A.A. 2009-2010 I WEB SERVICES Carlo Mastroianni Laboratorio di Reti di Calcolatori - Orario lunedì, 11:30-13:30, aula 40B mercoledì, 10:00-11:30, laboratorio settimo

Dettagli

Standard Documentali XML

Standard Documentali XML ITTIG - CNR Standard Documentali XML Enrico Francesconi Istituto di Teoria e Tecniche dell'informazione Giuridica 7 Febbraio 2006 Introduzione Testo Una delle principale forma di comunicazione della conoscenza;

Dettagli

12. Xml e basi di dati internet

12. Xml e basi di dati internet 12. Xml e basi di dati internet Nonostante l'html (HyperText Markup Language) è ampiamente usato per la formattazione e la strutturazione dei documenti Web, non è idoneo per specificare dati strutturati

Dettagli

Progetto SIRPE De-materializzazione delle prescrizioni. Servizi personalizzati della CIL

Progetto SIRPE De-materializzazione delle prescrizioni. Servizi personalizzati della CIL Pag. 1 di 17 Progetto SIRPE De-materializzazione personalizzati CIL per la cooperazione Versione 1.0 INDICE Pag. 2 di 17 1 INTRODUZIONE 4 1.1 Scopo del documento 4 1.2 Riferimenti 4 2 GENERALITÀ 4 2.1

Dettagli

MODELLI DEI PACCHETTI DI ARCHIVIAZIONE (AIP)

MODELLI DEI PACCHETTI DI ARCHIVIAZIONE (AIP) MODELLI DEI PACCHETTI DI ARCHIVIAZIONE (AIP) Data 06-10-2014 Codice documento Modelli dei pacchetti di archiviazione Versione 1.0 Il presente documento è rilasciato sotto la licenza Attribuzione-Non commerciale

Dettagli

Università degli Studi di Brescia INFORMATICA. Dipartimento di Ingegneria Meccanica e Industriale

Università degli Studi di Brescia INFORMATICA. Dipartimento di Ingegneria Meccanica e Industriale Università degli Studi di Brescia INFORMATICA EXCEL Docente: Marco Sechi E mail: marco.sechi@unibs.it Vers. 03/10/2016 Dipartimento di Ingegneria Meccanica e Industriale DIPARTIMENTO DI SCIENZE CLINICHE

Dettagli

G I O R D A N I A L E S S A N D R A I T T S E R A L E G. M A R C O N I

G I O R D A N I A L E S S A N D R A I T T S E R A L E G. M A R C O N I Introduzione ad XML G I O R D A N I A L E S S A N D R A I T T S E R A L E G. M A R C O N I XML XML (Extensible Markup Language) è un insieme standard di regole sintattiche per modellare la struttura di

Dettagli

HTML e Linguaggi. Politecnico di Milano Facoltà del Design Bovisa. Prof. Gianpaolo Cugola Dipartimento di Elettronica e Informazione

HTML e Linguaggi. Politecnico di Milano Facoltà del Design Bovisa. Prof. Gianpaolo Cugola Dipartimento di Elettronica e Informazione HTML e Linguaggi Politecnico di Facoltà del Design Bovisa Prof. Gianpaolo Cugola Dipartimento di Elettronica e Informazione cugola@elet.polimi.it http://home.dei.polimi.it/cugola Indice Il linguaggio del

Dettagli

XML. Parte VI - Introduzione e nozioni fondamentali di sintassi. XML: Extensible Markup Language:

XML. Parte VI - Introduzione e nozioni fondamentali di sintassi. XML: Extensible Markup Language: XML Parte VI - Introduzione e nozioni fondamentali di sintassi XML: cosa è XML: Extensible Markup Language: è un linguaggio che consente la rappresentazione di documenti e dati strutturati su supporto

Dettagli

4 - XML e basi di dati

4 - XML e basi di dati Sommario 4 - XML e basi di dati 1. Introduzione. 2. Dati strutturati, semistrutturati e non strutturati. 3. Modello dei dati gerarchico (Albero) di XML. 4. Documenti XML, DTD, e schema XML. 5. Documenti

Dettagli

PAG. 1 DI 39 20 LUGLIO 2010 PROGETTO TESSERA SANITARIA WEB SERVICES PER LA TRASMISSIONE DEI CERTIFICATI DI MALATTIA ALL INPS VER 1.

PAG. 1 DI 39 20 LUGLIO 2010 PROGETTO TESSERA SANITARIA WEB SERVICES PER LA TRASMISSIONE DEI CERTIFICATI DI MALATTIA ALL INPS VER 1. PAG. 1 DI 39 PROGETTO TESSERA SANITARIA WEB SERVICES PER LA TRASMISSIONE DEI CERTIFICATI DI MALATTIA ALL INPS VER 1.5 DEI CERTIFICATI DI MALATTIA ALL INPS PAG. 2 DI 39 INDICE 1. REVISIONI DEL DOCUMENTO

Dettagli

PROGETTO TESSERA SANITARIA. Schema dati spesa sanitaria di cui art. 3 comma 3 D.ls 175/2014

PROGETTO TESSERA SANITARIA. Schema dati spesa sanitaria di cui art. 3 comma 3 D.ls 175/2014 PROGETTO TESSERA SANITARIA Pag. 2 di 23 REVISIONI DEL DOCUMENTO... 3 1. INTRODUZIONE... 4 2. GENERALITA... 5 3. STANDARD TECNICI... 6 4. INVIO DEI DATI DI SPESA... 7 4.1. CARATTERISTICHE... 7 4.2. ACCESSO

Dettagli

Tecniche Multimediali

Tecniche Multimediali Chiedersi se un computer possa pensare non è più interessante del chiedersi se un sottomarino possa nuotare Edsger Dijkstra (The threats to computing science) Tecniche Multimediali Corso di Laurea in «Informatica»

Dettagli

A.A. 2006/2007 Laurea di Ingegneria Informatica. Fondamenti di C++ Horstmann Capitolo 3: Oggetti Revisione Prof. M. Angelaccio

A.A. 2006/2007 Laurea di Ingegneria Informatica. Fondamenti di C++ Horstmann Capitolo 3: Oggetti Revisione Prof. M. Angelaccio A.A. 2006/2007 Laurea di Ingegneria Informatica Fondamenti di C++ Horstmann Capitolo 3: Oggetti Revisione Prof. M. Angelaccio Obbiettivi Acquisire familiarità con la nozione di oggetto Apprendere le proprietà

Dettagli

XPATH e XQUERY. Linguaggi di query XML. Esempio di DTD. Esempio di documento. XPATH e un linguaggio per descrivere percorsi (path) in documenti XML.

XPATH e XQUERY. Linguaggi di query XML. Esempio di DTD. Esempio di documento. XPATH e un linguaggio per descrivere percorsi (path) in documenti XML. XPATH e XQUERY Linguaggi di query XML XPATH XQUERY Leggere capitolo 6 Atzeni et al. XPATH e un linguaggio per descrivere percorsi (path) in documenti XML. Percorsi attraverso il grafo di dati semistrutturati.

Dettagli

L Iniziativa egovernment.net per l Italia

L Iniziativa egovernment.net per l Italia L Iniziativa egovernment.net per l Italia Porte di Dominio per la Cooperazione Applicativa Allegato 1 Porta di Dominio.NET Versione 1.0, Aprile 2002 Soluzioni per l Interoperabilità e la Cooperazione Applicativa

Dettagli

Capitolo 5 - Funzioni

Capitolo 5 - Funzioni Capitolo 5 - Funzioni Divide and conquer Introduzione Costruire un programma da pezzi più piccoli o da singole componenti Questi pezzi più piccoli sono chiamati moduli Ogni singolo pezzo è più facilmente

Dettagli

Invio Attestati ai Datori di lavoro in formato XML Specifiche Tecniche

Invio Attestati ai Datori di lavoro in formato XML Specifiche Tecniche Allegato 2 Invio Attestati ai Datori di lavoro in formato XML Specifiche Tecniche Il presente documento ha lo scopo di fornire le specifiche tecniche del messaggio contenente la lista degli Attestati,

Dettagli