You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Sep 5, 2019. It is now read-only.
Copy file name to clipboardExpand all lines: 03 - XML Schema.md
+55-8Lines changed: 55 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -154,7 +154,7 @@ dove:
154
154
155
155
## XML Schema
156
156
157
-
La traduzione ~~schemi XML~~ è sbagliata, poichè **XML Schema** è un nome proprio che indica un linguaggio di descrizione del contenuto di un file XML, l'unico che finora abbia raggiunto la validazione ufficiale del W3C (la 1.1).
157
+
La traduzione ~~schemi XML~~ è sbagliata, poichè **XML Schema** è un nome proprio che indica un linguaggio di descrizione del contenuto di un file XML, l'unico che finora abbia raggiunto la validazione ufficiale del W3C (la 1.1). In realtà ci sono vari linguaggio XML schema tuttavia in questo corso ne studieremmo uno solo.
158
158
159
159
Come tutti i linguaggi di descrizione del contenuto XML, il suo scopo è delineare quali elementi sono permessi, quali tipi di dati sono ad essi associati e quale relazione gerarchica hanno fra loro gli elementi contenuti in un file XML.
160
160
@@ -164,25 +164,47 @@ Lo XML Schema permette inoltre l'estrazione da un file XML, o meglio una visione
La struttura base che permette di produrre un **XML Schema** è la seguente:
170
187
171
188
```xml
172
-
<xsd:schemaName
189
+
01<xsd:schema
173
190
xmlns:xsd = "http://www.w3.org/2001/XMLSchema">
191
+
02
192
+
03 Annotazioni...
193
+
04 Elementi glocabli e dichiarazioni di attributi...
194
+
05 Tipi (dati/modelli) e definizioni di gruppi...
174
195
175
-
Annotazioni...
176
-
Elementi glocabli e dichiarazioni di attributi...
177
-
Tiupi (dati/modelli) e definizioni di gruppi...
178
-
179
-
</xsd:schemaName>
196
+
06</xsd:schema>
180
197
```
181
198
182
199
dove:
183
200
184
-
-*schemaName* è un nome scelto arbitrariamente,
201
+
-01 *schema* è per il linguaggio scelto che in questo caso è *schema*,
185
202
-*xsd* è un acronimo che sta per ***X**ml **S**chema **D**efinition*.
203
+
- xmlns:xsd = "http://www.w3.org/2001/XMLSchema" sarebbbe la dichiarazione del namespace. In questo caso il nome associato alla URL è xsd
204
+
- Dentro alla root element possiamo trovare in qualsiasi ordine:
205
+
- annotazioni (che sono delle annotazioni)
206
+
- elementi globali e dichiarazioni di attributi che sono simili agli attributi e elementi che si hanno nei DTD. Gli elementi globali sono accessibili da tutto il documento e si ha la possibilità di referenziare a questi elementi. Ad esempio si può assegnare un nome e "riprenderlo" attraverso il suo nome
207
+
- tipo (dati/modelli) e definizioni di gruppo. In questo caso è possibile creare la sua propria definizione simile a quello che si fa nei linguaggi di programmazione e di assegnare il nome a quel tipo. La defizione di gruppo possono essere considerate delle macro definizioni e definisce i gruppi di dichiarazioni o di definizione che possiamo referenziare dal documento stesso.
186
208
187
209
188
210
@@ -192,6 +214,31 @@ dove:
192
214
193
215
194
216
217
+
- Nelle annotazioni ci sono vari elementi di vario tipo che sono differenti dalla "annotation" e più in particoalre una "documentation" è qualche cosa che è leggibile da un essere umano.
218
+
219
+
-`<xsd:element name="purchaseOrder" type="PurchaseOrderType"/>` è una dichiarazione globale. Esso ha un nome `purchaseOrder`e un tipo `PurchaseOrderType` . Il type include il "content model" e l'attributo dell'elemento che ha.
220
+
221
+
- In verde si vede come `PurchaseOrderType` è collegato a`PurchaseOrderType`
222
+
223
+
224
+
225
+
226
+
227
+
228
+
229
+
230
+
231
+
232
+
233
+
234
+
235
+
236
+
237
+
238
+
239
+
240
+
241
+
195
242
### Tipi
196
243
197
244
Le seguenti sono regole formali che definiscono i cosiddetti **tipi** di un XML Schema:
0 commit comments