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
+13-4Lines changed: 13 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -244,22 +244,29 @@ Si da ad un tipo un nome e un valore (stringa di caratteri).
244
244
I tipi semplici contengono un markup mentre quelli complicati non lo contengono.
245
245
246
246
I tipi complessi descrivono il tipo degli elementi. Più in dettaglio dentro i tipi complessi si hanno gli atributi degli elementi e il contenuto dell'elemento.
247
-
Ad esempio un elemento può essere (come visto prima )
247
+
Ad esempio un elemento può essere (come visto prima):
Il quale ha sia il suo nome `purchaseOrder` e il suo tipo `PurchaserOrderType`. Esso quindi contiene il suo "content model" e possibilmente il suo attributo.
250
+
251
+
Il "complex type" o tipi complessi sono più generali rispetto al tipo semplice. Ossia il tipo semplice è un caso particolare del tipo complesso.
249
252
250
253
Le seguenti sono regole formali che definiscono i cosiddetti **tipi** di un XML Schema:
251
254
252
255
253
256
254
-
> I tipi sono strutturati secondo uno schema gerarchico.
257
+
> I tipi sono strutturati secondo uno schema gerarchico simile a quello che si ha nei programmi ad oggetti. Tuttavia invece di avere il concetto dell'eredità, si hanno altri concetti. I quali sono chiamati **restriction** e **extension**.
258
+
259
+
260
+
261
+
**Restriction** è una stringa (visto che i tipi sono stringhe alla fine) che è più "ristretta" rispetto all'originale. Ossia la stringa amessa è un sotto-insieme della stringa-originale. Come si vede dalla freccia blu in cui sia ha un riferimento gerarchico in blu.
255
262
256
263
257
264
258
-
> Il tipo radice viene chiamato `anyType`.
265
+
> Il tipo radice viene chiamato `anyType`. Corrisponde al DTD al `any`. Ossia ogni stringa combacia con `anyType`. Ogni altra stringa è un sottoinsieme del `anyType` .
259
266
260
267
261
268
262
-
> La sotto gerarchia di un *tipo semplice* ha sempre come radice il tipo `anySimpleType`.
269
+
> La sotto gerarchia di un *tipo semplice* ha sempre come radice il tipo `anySimpleType`. Sarebbe la radice degli elementi semplici. Quindi si potrebbe dire che il graffo è diviso in due parti: a destra ci sono gli elementi semplici mentre a sinistra ci sono gli elementi complicati.
263
270
264
271
265
272
@@ -372,7 +379,9 @@ Esempio:
372
379
373
380
**Sinossi**: qui è stato definito un nuovo tipo di nome **IntegerAndDates** il quale è una sequenza di due semplici valori, nell'ordine: un **myInteger** e un **date**.
374
381
382
+
#### 3. Extension
375
383
384
+
E' per definire un nuovo tipo partendo da un'altro che esiste già. Ad esempio si può partire da un semplice elemento per definire un altro elemento (freccia verda). 
0 commit comments