Salta al contenuto

Archivi

  • Gennaio 2022
  • Dicembre 2021
  • Novembre 2021
  • Ottobre 2021
  • Settembre 2021

Categorie

  • Nessuna categoria
Trend RepositoryArticles and guides
Articles

Un esempio XSD

Il Settembre 29, 2021 da admin

Questo capitolo dimostra come scrivere uno schema XML. Imparerai anche che uno schema può essere scritto in diversi modi.

  • Un documento XML
  • Creare uno schema XML
  • Dividere lo schema
  • Using Named Types

Un documento XML

Diamo un’occhiata a questo documento XML chiamato “shiporder.xml”:

Creare uno schema XML

Ora vogliamo creare uno schema per il documento XML di cui sopra.

Cominciamo aprendo un nuovo file che chiameremo “shiporder.xsd”. Per creare lo schema potremmo semplicemente seguire la struttura del documento XML e definire ogni elemento come lo troviamo. Inizieremo con la dichiarazione XML standard seguita dall’elemento xs:schema che definisce uno schema:

<?xml version=”1.0″ encoding=”UTF-8″ ?>
<xs:schema xmlns:xs=”http://www.w3.org/2001/XMLSchema”>
…
</xs:schema>

Nello schema qui sopra usiamo il namespace standard (xs), e l’URI associato a questo namespace è la definizione del linguaggio Schema, che ha il valore standard di http://www.w3.org/2001/XMLSchema.

Poi dobbiamo definire l’elemento “shiporder”. Questo elemento ha un attributo e contiene altri elementi, quindi lo consideriamo come un tipo complesso. Gli elementi figli dell’elemento “shiporder” sono circondati da un elemento xs:sequence che definisce una sequenza ordinata di sotto elementi:

<xs:element name=”shiporder”>
<xs:complexType>
<xs:sequence>
…
</xs:sequence>
</xs:complexType>
</xs:element>

Allora dobbiamo definire l’elemento “orderperson” come un tipo semplice (perché non contiene attributi o altri elementi). Il tipo (xs:string) è preceduto dal prefisso dello spazio dei nomi associato a XML Schema che indica un tipo di dati schema predefinito:

<xs:element name=”orderperson” type=”xs:string”/>

Poi, dobbiamo definire due elementi che sono di tipo complesso: “shipto” e “item”. Iniziamo definendo l’elemento “shipto”:

Con gli schemi possiamo definire il numero di occorrenze possibili per un elemento con gli attributi maxOccurs e minOccurs. maxOccurs specifica il numero massimo di occorrenze per un elemento e minOccurs specifica il numero minimo di occorrenze per un elemento. Il valore predefinito per entrambi maxOccurs e minOccurs è 1!

Ora possiamo definire l’elemento “item”. Questo elemento può apparire più volte all’interno di un elemento “shiporder”. Questo è specificato impostando l’attributo maxOccurs dell’elemento “item” a “unbounded” che significa che ci possono essere tante occorrenze dell’elemento “item” quante ne vuole l’autore. Notate che l’elemento “note” è opzionale. Lo abbiamo specificato impostando l’attributo minOccurs a zero:

Possiamo ora dichiarare l’attributo dell’elemento “shiporder”. Poiché questo è un attributo richiesto, specifichiamo use=”required”.

Nota: Le dichiarazioni degli attributi devono sempre venire per ultime:

<xs:attribute name=”orderid” type=”xs:string” use=”required”/>

Ecco la lista completa del file dello schema chiamato “shiporder.xsd”:

Dividere lo schema

Il metodo di progettazione precedente è molto semplice, ma può essere difficile da leggere e mantenere quando i documenti sono complessi.

Il prossimo metodo di progettazione si basa sul definire prima tutti gli elementi e gli attributi, e poi riferirsi ad essi usando l’attributo ref.

Ecco il nuovo design del file schema (“shiporder.xsd”):

Using Named Types

Il terzo metodo di progettazione definisce classi o tipi, che ci permettono di riutilizzare le definizioni degli elementi. Questo viene fatto nominando gli elementi simpleTypes e complexTypes, e poi puntando ad essi attraverso l’attributo type dell’elemento.

Ecco il terzo disegno del file schema (“shiporder.xsd”):

L’elemento restriction indica che il datatype è derivato da un datatype del W3C XML Schema namespace. Così, il seguente frammento significa che il valore dell’elemento o dell’attributo deve essere un valore stringa:

<xs:restriction base=”xs:string”>

L’elemento restriction è più spesso usato per applicare restrizioni agli elementi. Guarda le seguenti righe dello schema sopra:

<xs:simpleType name=”orderidtype”>
<xs:restriction base=”xs:string”>
<xs:pattern value=”{6}”/>
</xs:restriction>
</xs:simpleType>

Questo indica che il valore dell’elemento o dell’attributo deve essere una stringa, deve avere esattamente sei caratteri in fila, e questi caratteri devono essere un numero da 0 a 9.

Lascia un commento Annulla risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Archivi

  • Gennaio 2022
  • Dicembre 2021
  • Novembre 2021
  • Ottobre 2021
  • Settembre 2021

Meta

  • Accedi
  • Feed dei contenuti
  • Feed dei commenti
  • WordPress.org
  • DeutschDeutsch
  • NederlandsNederlands
  • SvenskaSvenska
  • DanskDansk
  • EspañolEspañol
  • FrançaisFrançais
  • PortuguêsPortuguês
  • ItalianoItaliano
  • RomânăRomână
  • PolskiPolski
  • ČeštinaČeština
  • MagyarMagyar
  • SuomiSuomi
  • 日本語日本語

Copyright Trend Repository 2022 | Tema da ThemeinProgress | Offerto orgogliosamente da WordPress