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 d12eb23

Browse files
Video 4 h 1.05
1 parent 7fa6436 commit d12eb23

File tree

1 file changed

+30
-20
lines changed

1 file changed

+30
-20
lines changed

‎03 - XML Schema.md

Lines changed: 30 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -644,7 +644,11 @@ La *derivazione* viene specificata introducendo un elemento **complexType** (opp
644644
645645
<???>
646646
647+
E' il diagramma di classe che corrisponde a che cosa si può fare con le restrizioni. Il quale parte da `complexType` e si mette dentro ad esso `complexContent` o `simpleContent` . Il primo (`complexContent`) se si vuole partire dal `complexType`. Idemo per il `simpleContent`se si vuole partire dal `simpletype`.
647648
649+
La `restriction` è possibile solo nel `simpleContent` e solo da li si può aggiungere un `facet`.
650+
651+
648652
649653
#### Esempio: l'estensione di un tipo semplice
650654
@@ -664,6 +668,12 @@ Si consideri il seguente tipo:
664668
665669
<???>
666670
671+
`simpleContent` il quale estende `simpleType`. Inoltre `base` è un decimale.
672+
673+
Si va a estendere ` <xsd:attribute name="currency" type="xsd:string"/>`
674+
675+
Una possibile vista è:
676+
667677
```xml
668678
<internationalPrice currency="EUR">423.46</internationalPrice>
669679
```
@@ -673,27 +683,27 @@ Si consideri il seguente tipo:
673683
#### Esempio: estensione di un tipo complesso
674684
675685
```xml
676-
<xsd:complexType name="Address">
677-
<xsd:sequence>
678-
<xsd:element name="name" type="xsd:string"/>
679-
<xsd:element name="street" type="xsd:string"/>
680-
<xsd:element name="city" type="xsd:string"/>
681-
</xsd:sequence>
682-
</complexType>
683-
684-
<xsd:complexType name="USAddress">
685-
<xsd_complexContent>
686-
<xsd:extension base="Address">
687-
<xsd:sequence>
688-
<xsd:element name="state" type="USState"/>
689-
<xsd:element name="zip" type="xsd:positiveInteger"/>
690-
</xsd:sequence>
691-
</xsd:extension>
692-
</xsd:complexContent>
693-
</xsd:complexType>
686+
01 <xsd:complexType name="Address">
687+
02 <xsd:sequence>
688+
03 <xsd:element name="name" type="xsd:string"/>
689+
04 <xsd:element name="street" type="xsd:string"/>
690+
05 <xsd:element name="city" type="xsd:string"/>
691+
06 </xsd:sequence>
692+
07 </complexType>
693+
08
694+
09 <xsd:complexType name="USAddress">
695+
10 <xsd_complexContent>
696+
11 <xsd:extension base="Address">
697+
12 <xsd:sequence>
698+
13 <xsd:element name="state" type="USState"/>
699+
14 <xsd:element name="zip" type="xsd:positiveInteger"/>
700+
15 </xsd:sequence>
701+
16 </xsd:extension>
702+
17 </xsd:complexContent>
703+
19 </xsd:complexType>
694704
```
695705
696-
706+
Dalla riga 01 alla riga 07 (comprese) è la definizione originale. In qui si ha l'indirizzo che è una sequenza di nomi: `name`, `street`, `city`. La riga 09 viene definito un complexType di nome `USAaddress` la quale estende la definizione di prima.
697707
698708
#### Esempio: tipo equivalente definito da
699709
@@ -717,7 +727,7 @@ Si consideri il seguente tipo:
717727
718728
719729
720-
730+
Il meccanismo di restrizione è molto simile alla programmazione ad oggetti quando si derivavano una nuova classe con "l'overwritting". Mentre l'estensione è simile a quando si ha l' estensione e quando si aggiunge un nuovo attributo.
721731
722732
#### Esempio di uno schema completo (The Purchase Order)
723733

0 commit comments

Comments
(0)

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