Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Sep 5, 2019. It is now read-only.

Commit e820b35

Browse files
Vide 3 h 26
-Tipi
1 parent b39546a commit e820b35

File tree

2 files changed

+13
-4
lines changed

2 files changed

+13
-4
lines changed

‎03 - XML Schema.md

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -244,22 +244,29 @@ Si da ad un tipo un nome e un valore (stringa di caratteri).
244244
I tipi semplici contengono un markup mentre quelli complicati non lo contengono.
245245

246246
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):
248248
`<xsd:element name="purchaseOrder" type="PurchaseOrderType"/>`
249+
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.
249252

250253
Le seguenti sono regole formali che definiscono i cosiddetti **tipi** di un XML Schema:
251254

252255

253256

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.![09](immagini/lezione-03/09.png)
255262

256263

257264

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` .
259266
260267

261268

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.
263270
264271

265272

@@ -372,7 +379,9 @@ Esempio:
372379

373380
**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**.
374381

382+
#### 3. Extension
375383

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). ![09](immagini/lezione-03/09.png)
376385

377386
### Il Facet dei tipi di dati
378387

‎immagini/lezione-03/09.png

215 KB
Loading[フレーム]

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /