Gli schema W3C Estensione di tipi semplici, scelte fra più elementi, application profiles.
-
Upload
michelina-di-gregorio -
Category
Documents
-
view
216 -
download
3
Transcript of Gli schema W3C Estensione di tipi semplici, scelte fra più elementi, application profiles.
![Page 1: Gli schema W3C Estensione di tipi semplici, scelte fra più elementi, application profiles.](https://reader036.fdocuments.net/reader036/viewer/2022081908/5542eb4c497959361e8b99b8/html5/thumbnails/1.jpg)
Gli schema W3C
Estensione di tipi semplici, scelte fra più elementi,
application profiles
![Page 2: Gli schema W3C Estensione di tipi semplici, scelte fra più elementi, application profiles.](https://reader036.fdocuments.net/reader036/viewer/2022081908/5542eb4c497959361e8b99b8/html5/thumbnails/2.jpg)
Elementi vuoti Senza attributi<xs:element name=“figura”/>
Con attributi<xs:element name=“figura"> <xs:complexType> <xs:attribute name=“didascalia" use="optional"
type=“xs:string” /><xs:attribute name=“link” use=“optional”
type=“anyUri”> </xs:complexType></xs:element>
![Page 3: Gli schema W3C Estensione di tipi semplici, scelte fra più elementi, application profiles.](https://reader036.fdocuments.net/reader036/viewer/2022081908/5542eb4c497959361e8b99b8/html5/thumbnails/3.jpg)
Derivazione di tipi semplici Restringimento
Enumerazione Modelli (espressioni regolari)
Estensione
![Page 4: Gli schema W3C Estensione di tipi semplici, scelte fra più elementi, application profiles.](https://reader036.fdocuments.net/reader036/viewer/2022081908/5542eb4c497959361e8b99b8/html5/thumbnails/4.jpg)
Enumerazione: attributi con valori<xs:complexType name="STANZE">
<xs:sequence><xs:element name="verso" type="xs:string"
maxOccurs="unbounded"/></xs:sequence><xs:attribute name="tipo" use="optional" default="quartina“ type=“en1”/>
</xs:complexType>
<xs:simpleType name=“en1”><xs:restriction base="xs:string">
<xs:enumeration value=“terzina"/><xs:enumeration value=“distico"/><xs:enumeration value=“quartina"/>
</xs:restriction></xs:simpleType>
L’enumerazione di valori è una
restrizione del tipo semplice xs:string
![Page 5: Gli schema W3C Estensione di tipi semplici, scelte fra più elementi, application profiles.](https://reader036.fdocuments.net/reader036/viewer/2022081908/5542eb4c497959361e8b99b8/html5/thumbnails/5.jpg)
Enumerazione: elementi con valori<xs:element name="titolo">
<xs:simpleType><xs:restriction base="xs:string">
<xs:enumeration value="I"/> <xs:enumeration value="II"/>
</xs:restriction></xs:simpleType>
</xs:element>
Con gli schema si possono
specificare anche i valori di un elemento
![Page 6: Gli schema W3C Estensione di tipi semplici, scelte fra più elementi, application profiles.](https://reader036.fdocuments.net/reader036/viewer/2022081908/5542eb4c497959361e8b99b8/html5/thumbnails/6.jpg)
Modelli
<xsd:simpleType name="paginazione"><xsd:restriction base="xsd:string">
<xsd:pattern value="\d{1,4}-\d{1,4}"/></xsd:restriction>
</xsd:simpleType>Espressione regolare
\d{numero di caratteri}\s spazio
![Page 7: Gli schema W3C Estensione di tipi semplici, scelte fra più elementi, application profiles.](https://reader036.fdocuments.net/reader036/viewer/2022081908/5542eb4c497959361e8b99b8/html5/thumbnails/7.jpg)
Elemento con testo e attributi con valori
<xs:complexType name="STANZE"><xs:sequence>
<xs:element name="verso" type=“Versi" maxOccurs="unbounded"/></xs:sequence>
</xs:complexType>
<xs:complexType name=“Versi”><xs:simpleContent><xs:extension base="xs:string"><xs:attribute name="tipo" use=“required"> <xs:simpleType>
<xs:restriction base="xs:string"><xs:enumeration value=“settenario"/><xs:enumeration value=“endecasillabo"/>
</xs:restriction> </xs:simpleType></xs:attribute></xs:extension></xs:simpleContent></xs:complexType>
Esercizio 20 Esercizio 22 (a casa)
Bisogna estendere xs:string per
accogliere attributi
Per i valori degli attributi si deve
restringere xs:string
Tipo anonimo!
![Page 8: Gli schema W3C Estensione di tipi semplici, scelte fra più elementi, application profiles.](https://reader036.fdocuments.net/reader036/viewer/2022081908/5542eb4c497959361e8b99b8/html5/thumbnails/8.jpg)
Scelte fra più elementi<xs:complexType name="STANZE“><xs:sequence><xs:choice><xs:element name="verso" type="xs:string“
maxOccurs="unbounded"/><xs:element name=“versetto” type="xs:string“
maxOccurs="unbounded"/></xs:choice></xs:sequence>
</xs:complexType>
![Page 9: Gli schema W3C Estensione di tipi semplici, scelte fra più elementi, application profiles.](https://reader036.fdocuments.net/reader036/viewer/2022081908/5542eb4c497959361e8b99b8/html5/thumbnails/9.jpg)
Mixed Content model<xs:complexType name="STANZE“ mixed=“true”>
<xs:sequence><xs:element name="verso" type="xs:string
maxOccurs="unbounded"/><xs:element name=“versetto” type="xs:string“
maxOccurs="unbounded"/></xs:sequence>
</xs:complexType>
![Page 10: Gli schema W3C Estensione di tipi semplici, scelte fra più elementi, application profiles.](https://reader036.fdocuments.net/reader036/viewer/2022081908/5542eb4c497959361e8b99b8/html5/thumbnails/10.jpg)
Mixed content model 2<xs:complexType name="STANZE“ mixed=“true”><xs:sequence>
<xs:choice><xs:sequence>
<xs:element name="verso" type="xs:string“ maxOccurs="unbounded"/>
<xs:element name=“versetto” type="xs:string“ maxOccurs="unbounded"/>
</xs:sequence><xs:sequence>
<xs:element name=“versetto” type="xs:string“ maxOccurs="unbounded"/>
<xs:element name="verso" type="xs:string“ maxOccurs="unbounded"/>
</xs:sequence></xs:choice>
</xs:sequence></xs:complexType>
![Page 11: Gli schema W3C Estensione di tipi semplici, scelte fra più elementi, application profiles.](https://reader036.fdocuments.net/reader036/viewer/2022081908/5542eb4c497959361e8b99b8/html5/thumbnails/11.jpg)
Mixed content Model 3: finalmente!<xs:complexType name="STANZE“ mixed=“true”><xs:sequence>
<xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:element name="verso" type="xs:string“ maxOccurs="unbounded"/>
<xs:element name=“versetto” type="xs:string“ maxOccurs="unbounded"/>
</xs:choice></xs:sequence></xs:complexType>
Equivale a
(#PCDATA|verso|versetto)*
![Page 12: Gli schema W3C Estensione di tipi semplici, scelte fra più elementi, application profiles.](https://reader036.fdocuments.net/reader036/viewer/2022081908/5542eb4c497959361e8b99b8/html5/thumbnails/12.jpg)
L’ordine degli elementi sequence: ordine obbligatorio choice: scelta fra più elementi all: un qualsiasi ordine NOVITA!
<xsd:complexType name="NTypo"> <xsd:all>
<xsd:element name="luogoEd" type="xsd:string"/><xsd:element name="editore" type="xsd:string"/><xsd:element name="annoEd" type="xsd:gYear"/>
</xsd:all></xsd:complexType>
![Page 13: Gli schema W3C Estensione di tipi semplici, scelte fra più elementi, application profiles.](https://reader036.fdocuments.net/reader036/viewer/2022081908/5542eb4c497959361e8b99b8/html5/thumbnails/13.jpg)
Elementi e attributi qualificati L’elemento root dello schema
<xs:schema xmlns:xs=http://www.w3.org/2001/XMLSchema
elementFormDefault="qualified" attributeFormDefault="unqualified" >
Gli attributi no!
Gli elementi dovranno essere preceduti
da xs:
![Page 14: Gli schema W3C Estensione di tipi semplici, scelte fra più elementi, application profiles.](https://reader036.fdocuments.net/reader036/viewer/2022081908/5542eb4c497959361e8b99b8/html5/thumbnails/14.jpg)
Target namespace Nell’elemento root si può anche:
definire qual’è il namespace principale definire se elementi e attributi dovranno esplicitare o no
il namespace
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"xmlns="http://www.iccu.sbn.it/biblio.xsl"targetNamespace="http://www.sito.it/biblio.xsd"elementFormDefault="unqualified"attributeFormDefault="unqualified">
Se c’è si riferiscono al target namespace
![Page 15: Gli schema W3C Estensione di tipi semplici, scelte fra più elementi, application profiles.](https://reader036.fdocuments.net/reader036/viewer/2022081908/5542eb4c497959361e8b99b8/html5/thumbnails/15.jpg)
Il file1. Non qualificato<bibliografia xmlns="http://www.sito.it/biblio.xsd"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.iccu.sbn.it/biblio.xsd"> <!-- qui il documento --></bibliografia>
2. Qualificato<bib:bibliografia xmlns:bib="http://www.sito.it/biblio.xsd"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.iccu.sbn.it/biblio.xsd"> <!-- qui il documento --></bib:bibliografia>
![Page 16: Gli schema W3C Estensione di tipi semplici, scelte fra più elementi, application profiles.](https://reader036.fdocuments.net/reader036/viewer/2022081908/5542eb4c497959361e8b99b8/html5/thumbnails/16.jpg)
Includere frammenti di schemaQuando lo schema è grosso o si occupa di
più argomenti si può spezzare in più file:
<xs:include schemaLocation="biblio2.xsd"/>
![Page 17: Gli schema W3C Estensione di tipi semplici, scelte fra più elementi, application profiles.](https://reader036.fdocuments.net/reader036/viewer/2022081908/5542eb4c497959361e8b99b8/html5/thumbnails/17.jpg)
Importare altri namespace<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"xmlns="http://www.sito.it/biblio.xsd"targetNamespace="http://www.sito.it/biblio.xsd"xmlns:dc="http://purl.org/dc/elements/1.1/"elementFormDefault="qualified"attributeFormDefault="unqualified" >
<!-- ecc. -->
<xsd:import namespace="http://purl.org/dc/elements/1.1/"schemaLocation="simpledc20020312.xsd"/>
<xs:complexType name="VERSI"><xs:sequence>
<xs:element ref="dc:title"/><xs:element name="stanza" type="STANZE" maxOccurs="unbounded"/></xs:sequence>
</xs:complexType>
<xsd:schema>
ref e non name
![Page 18: Gli schema W3C Estensione di tipi semplici, scelte fra più elementi, application profiles.](https://reader036.fdocuments.net/reader036/viewer/2022081908/5542eb4c497959361e8b99b8/html5/thumbnails/18.jpg)
Dublin Core Schema di metadati descrittivi per
identificare una risorsa. Comprende:
title creator publisher date
![Page 19: Gli schema W3C Estensione di tipi semplici, scelte fra più elementi, application profiles.](https://reader036.fdocuments.net/reader036/viewer/2022081908/5542eb4c497959361e8b99b8/html5/thumbnails/19.jpg)
Application profiles schema costituito da elementi recuperati
da uno o più namespace combinati insieme dagli implementatori e ottimizzati per un particolare applicazione Si possono combinare uno o più namespace Non si possono introdurre nuovi elementi Si possono specificare i valori degli elementi Si possono raffinare le definizioni standard
Esercizio 21
![Page 20: Gli schema W3C Estensione di tipi semplici, scelte fra più elementi, application profiles.](https://reader036.fdocuments.net/reader036/viewer/2022081908/5542eb4c497959361e8b99b8/html5/thumbnails/20.jpg)
Annotazioni <xsd:annotation> si usa per documentare gli
schema, sia per gli umonai che per le macchine <xsd:documentation> documentazione per gli umani <xsd:appinfo> documentazione per le applicazioni
<xsd:annotation> <xsd:documentation xml:lang="it"> Schema per la creazione di bibliografie<!-- ricordarsi di spiegare meglio questo punto --></xsd:documentation>
</xsd:annotation>