Computer finestre Internet

XML Schema è una descrizione della struttura dei documenti XML. Creare un file XML Esempio di schema XML semplice

A volte comprensione File XML, inviato alla camera catastale è semplicemente necessario quando si sente che è necessario, da qualche parte, che qualcosa da sistemare, e la naturale curiosità di molti si sviluppa. Ma... Importante. Ricorda che dopo aver firmato il file EDS, non puoi modificare il file XML! Ad esempio, durante la divisione di una trama di 300 memoria, la ragazza ha cancellato accidentalmente solo una riga nell'indirizzo da una delle trame. E questo è tutto .. Il file XML non ha superato la convalida. La ricerca nel programma tra tutti i record mi sembrava noiosa, più sapevo cosa cercare. Dopo aver aperto il file XLM nell'editor di test con una ricerca, ho trovato la riga richiesta e ho apportato le modifiche. Ma ancora una volta lo ripeto: se hai modificato il file, devi firmarlo nuovamente con l'EDS. Quindi iniziamo. Presenterò i disegni e li descriverò.

E un altro ritiro, per la modifica e la comoda visualizzazione di file XML Consiglio di utilizzare il programma. Ti permetterà di vedere la struttura del file e colorarlo comodamente in base ai valori. Ad esempio, prenderò uno scaldasalviette elettrico per un bagno, beh, certo non il suo -), ma un file XML di formazione di 2 magazzini destinando una quota nella proprietà comune di un magazzino con numero catastale… .
Ad esempio, mostrerò prima l'immagine di un file XML compresso con un blocco compresso.

Quindi, a giudicare dal contatore di righe a sinistra, abbiamo un file con 336 righe. Come puoi vedere dalla figura, il blocco Crollato, segno più a destra. Pertanto, descriverò prima riga per riga ciò che si può vedere da questa figura, quindi analizzeremo i blocchi inclusi nel blocco Dal momento che è il più voluminoso.

Non prenderemo in considerazione l'intero file riga per riga, ma considereremo solo quelle righe in cui vengono inseriti i nostri dati.

3 linee : CodeType = "014" - tipo di lavoro, ce ne sono solo due, come nel nostro caso - istruzione e "015" - chiarimento. Versione = "03" - Versione XML file. GUID (Globally Unique Identifier) ​​​​è un identificatore statisticamente univoco a 128 bit, nel nostro caso il nome del file deve corrispondere a questo indicatore.
4 linee : I dati dell'organizzazione in cui lavora l'ingegnere catastale oi dati dell'ingegnere catastale stesso.
5 linee : Codice dell'organizzazione beneficiaria, in questo caso Management Servizio federale registrazione statale, catasto e cartografia nella Repubblica del Tatarstan.

Ora scendiamo subito alla fine del file, in base alla figura presentata e consideriamo il blocco ... Questo blocco contiene informazioni su ingegnere catastale chi ha eseguito il lavoro. Poi viene il blocco in cui si inserisce il sistema di coordinate. a proposito & citazionenei valori dei file di testo, denotare le virgolette.

In linea di principio, aprendo il file in Notepad ++, l'intera struttura del file XML diventa chiara. - Posizione - contiene l'indirizzo. Valore in scritto quando non c'è parte dell'indirizzo a KLADR.

Un esempio di file XML della mappa del piano generato in prodotto software Planimetria poligonale

Per la visualizzazione più visiva di questo frammento, copialo e visualizzalo nell'editor di test Notepad ++, che puoi scaricare dalla sezione

Prendendo i mezzi per il fine, le persone rimangono deluse da se stesse e dagli altri, a causa delle quali nulla viene fuori da tutte le loro attività, o l'opposto di ciò per cui stavano lottando.I. Goethe

Il formato XML è progettato per archiviare dati che possono essere utili nel lavoro di alcuni programmi, siti e supporto per determinati linguaggi di markup. Non è difficile creare e aprire un file con questo formato. Questa operazione può essere eseguita anche se sul computer non è installato alcun software specializzato.

Lo stesso XML è un linguaggio di markup, in qualche modo simile all'HTML, utilizzato nelle pagine web. Ma se quest'ultimo viene utilizzato solo per visualizzare le informazioni e il relativo markup corretto, XML consente di strutturarlo in un certo modo, il che rende questo linguaggio simile a un analogo di un database che non richiede un DBMS.

Puoi creare file XML sia utilizzando programmi specializzati che integrati Testo di Windows editore. La comodità di scrivere il codice e il livello delle sue funzionalità dipendono dal tipo di software utilizzato.

Metodo 1: Visual Studio

Invece di questo editor di codice Microsoft, puoi utilizzare una qualsiasi delle sue controparti di altri sviluppatori. In effetti, Visual Studio è una versione più avanzata del normale "Bloc notes"... Il codice ora ha un'evidenziazione speciale, gli errori vengono evidenziati o corretti automaticamente e nel programma sono già caricati modelli speciali, che consentono di semplificare la creazione di file XML di grandi dimensioni.

Per iniziare, devi creare un file. Fare clic sull'elemento "File" nella barra in alto e dal menu a tendina seleziona "Creare…"... Si aprirà un elenco in cui è indicato l'elemento "File".

  • Verrai trasferito alla finestra con la scelta dell'estensione del file, rispettivamente, seleziona la voce "File XML".
  • Il file appena creato avrà già la prima riga con la codifica e la versione. L'impostazione predefinita è la prima versione e codifica UTF-8 che puoi modificare in qualsiasi momento. Successivamente, per creare un file XML completo, è necessario registrare tutto ciò che era nell'istruzione precedente.

    Al termine, seleziona di nuovo dalla barra in alto "File", e lì dalla voce del menu a discesa "Salva tutto".

    Metodo 2: Microsoft Excel

    Puoi creare un file XML senza scrivere alcun codice, ad esempio utilizzando le versioni moderne di Microsoft Excel, che ti consente di salvare le tabelle con questa estensione. Tuttavia, devi capire che in questo caso non sarai in grado di creare qualcosa di più funzionale di un normale tavolo.

    Questo metodo è più adatto a coloro che non vogliono o non sanno come lavorare con il codice. Tuttavia, in questo caso, l'utente potrebbe riscontrare alcuni problemi durante la riscrittura del file in formato XML. Sfortunatamente, è possibile eseguire l'operazione di conversione di una tabella normale in XML solo sulle versioni più recenti di MS Excel. Per fare ciò, utilizzare le seguenti istruzioni dettagliate:


    Metodo 3: Blocco note

    Anche il solito va bene per lavorare con XML. "Taccuino", tuttavia, un utente che non ha familiarità con la sintassi del linguaggio avrà difficoltà, poiché in esso devono essere scritti vari comandi e tag. Il processo sarà in qualche modo più semplice e molto più produttivo in programmi di modifica del codice specializzati, ad esempio in Microsoft Visual Studio. Hanno speciali evidenziazioni di tag e suggerimenti, che semplificano notevolmente il lavoro di una persona che non conosce la sintassi di questa lingua.

    Per questo metodo, non è necessario scaricare nulla, poiché in sistema operativo già integrato "Taccuino"... Proviamo a creare una semplice tabella XML in base alle istruzioni fornite:


    Il risultato finale dovrebbe essere simile a questo:




    25
    Vero


    I compilatori XML devono elaborare questo codice sotto forma di una tabella con una colonna, che contiene dati su un certo Ivan Ivanov.

    V "Bloc notes"è del tutto possibile creare tabelle semplici come questa, ma quando si creano array di dati più voluminosi, possono sorgere difficoltà, poiché nel solito "Bloc notes" non ci sono funzioni per correggere errori nel codice o evidenziarli.

    Come puoi vedere, non c'è niente di difficile nella creazione di un file XML. Se lo si desidera, può essere creato da qualsiasi utente che sappia più o meno come lavorare su un computer. Tuttavia, per creare un file XML completo, si consiglia di apprendere questo linguaggio di markup, almeno a un livello primitivo.

    Questo capitolo ti mostrerà come scrivere schemi XML. Imparerai anche che i diagrammi possono essere scritti in molti modi diversi.

    Documento XML

    Diamo un'occhiata al seguente documento XML chiamato "shiporder.xml":

    John Smith Ola Nordmann

    Lunghezza 23
    4000 Stavanger Norvegia Burlesque impero Edizione speciale 1 10.90 Nascondi il tuo cuore 1 9.90

    Il documento XML sopra è costituito da un elemento radice ordine di spedizione con attributo richiesto ID ordine ... Elemento ordine di spedizione contiene tre bambini: addetto all'ordine, spedire a e articolo... Elemento articoloè usato due volte e contiene l'elemento titolo, elemento opzionale Nota così come gli elementi quantità e prezzo.

    Linea xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" dice al parser XML che questo documento deve essere convalidato rispetto allo schema. Linea xsi: noNamespaceSchemaLocation = "shiporder.xsd" specifica dove si trova lo schema (in questo caso, si trova nella stessa cartella del file "shiporder.xml").

    Creazione di schemi XML

    Ora creiamo uno schema XML per il documento XML di cui sopra.

    Creiamo nuovo file che chiameremo "shiporder.xsd". Per creare uno schema XML, seguiremo semplicemente la struttura del documento XML e definiremo ogni elemento che incontra. Iniziamo con una dichiarazione XML standard seguita da un elemento xs: schema , che definisce lo schema stesso:

    ...

    Qui stiamo usando lo spazio dei nomi standard ( xs ) e l'URI associato a quello spazio dei nomi, che ha un valore predefinito http://www.w3.org/2001/XMLSchema .

    Ora dobbiamo definire l'elemento ordine di spedizione... Questo elemento ha un attributo e contiene altri elementi, quindi lo trattiamo come un elemento di tipo composito. Definizioni elemento figlio ordine di spedizione mettere nella dichiarazione xs: sequenza , che definisce una rigida sequenza di sottoelementi:

    ...

    Ora definiamo l'elemento addetto all'ordine che sarà di tipo semplice (poiché non contiene attributi o altri elementi). Il suo tipo ( xs: stringa ) è preceduto dallo spazio dei nomi associato allo schema XML, che indica l'utilizzo di un tipo di dati predefinito:

    Ora dobbiamo definire: spedire a e articolo... Iniziamo definendo l'elemento spedire a:

    Con l'aiuto dei diagrammi, possiamo definire qualsiasi elemento. Gli attributi ci aiuteranno in questo. maxSi verifica e minSi verifica ... Attributo maxSi verifica specifica il numero massimo di occorrenze di un elemento e l'attributo minSi verifica specifica il numero minimo di occorrenze. Per impostazione predefinita, il valore di entrambi gli attributi è 1.

    Ora definiamo l'elemento articolo... Questo elemento può essere utilizzato un numero illimitato di volte all'interno di un elemento. ordine di spedizione... Determina una tale caratteristica di un elemento articolo consente l'assegnazione all'attributo maxSi verifica significato "illimitato" ... Ciò significa che l'elemento articolo può essere utilizzato tutte le volte necessarie dall'autore del documento. Nota che l'elemento Nota opzionale. Definiamo questo impostando l'attributo minSi verifica a zero:

    Ora possiamo dichiarare l'attributo dell'elemento ordine di spedizione... Poiché questo è un attributo obbligatorio, usiamo la definizione usa = "richiesto" .

    Nota: gli attributi devono essere sempre dichiarati per ultimi:

    Ecco il codice completo per il file di schema "shiporder.xsd":

    Dividere uno schema

    Il precedente metodo di layout dello schema è abbastanza semplice, tuttavia, quando il documento è piuttosto complesso, questo metodo può rendere lo schema corrispondente piuttosto ingombrante, il che influenzerà notevolmente la sua leggibilità e manutenibilità.

    Il prossimo modo per strutturare lo schema è definire prima tutti gli elementi e gli attributi, quindi fare riferimento a queste definizioni utilizzando l'attributo rif .

    Di seguito è riportato il nuovo layout del file schema ("shiporder.xsd"):

    Utilizzo di tipi con nome

    Il terzo modo per strutturare uno schema prevede la definizione di classi o tipi che consentono il riutilizzo delle definizioni dei membri. Questo diventa possibile dando nomi agli elementi tipi semplici e tipi complessi e poi indicarli usando l'attributo genere .

    Il terzo modo per collegare il file schema ("shiporder.xsd"):

    Elemento restrizione indica che il tipo di dati è derivato dai tipi di dati nello spazio dei nomi dello schema XML W3C. Pertanto, la seguente parte di codice significa che il valore di un elemento o di un attributo deve essere una stringa:

    Tuttavia, molto più spesso l'elemento restrizione utilizzato per imporre vincoli agli elementi. Dai un'occhiata alle seguenti righe del diagramma sopra:

    Questo frammento di codice specifica che il valore di un elemento o attributo deve essere una stringa, lunga esattamente sei caratteri, e che quei caratteri devono essere numeri da 0 a 9.

    Per tutti gli esempi seguenti, viene utilizzato lo standard del linguaggio XSL. Anche una modifica più moderna di questo standard, il linguaggio XSL, è ampiamente utilizzata. T, maggiori dettagli su cui puoi leggere in \ xml \ XSLTutorial o MSDN.

    Diamo un'occhiata a un semplice file XML di esempio (ex01.xml). Questo e altri esempi possono essere trovati nella cartella \ xml \ XSLTForBeginers su disco.



    Note XSL

    Se apriamo questo file in browser Internet Explorer, vedremo lo stesso testo mostrato sopra, insieme a tutti i tag e le informazioni sul servizio. Ma non abbiamo bisogno di tag e informazioni di servizio! Vogliamo vedere solo le informazioni rilevanti per il caso e con l'aiuto dei tag - per gestire aspetto esteriore questa informazione. Questo compito può essere risolto facilmente e semplicemente: è necessario aggiungere un modello di trasformazione - un file XSL - al file XML.

    Riscriviamo il nostro file XML come segue (ex01-1.xml).




    Note XSL

    E crea un file XSL ex01-1.xsl. Il testo del file è mostrato di seguito.






    Se ora apriamo il file ex01-1.xsl nel browser Internet Explorer, quindi vedremo che il nostro compito è stato risolto: solo le informazioni di cui abbiamo bisogno rimangono sullo schermo, tutti i tag sono scomparsi. Il risultato che ottieni nella schermata del browser è mostrato di seguito.

    Note XSL

    È anche facile vedere che l'ordine in cui vengono emesse le righe è determinato solo dal contenuto del modello di trasformazione, il file XSL. Se necessario, il modello può essere facilmente modificato senza modificare affatto il nostro file XML principale.

    Riscriviamo il file XML. Non cambieremo la parte informativa, ma specificheremo un altro modello ex01-2.xml.




    Note XSL

    Creiamo un file XSL ex01-2.xsl. Il testo del file è mostrato di seguito.






    Se ora apriamo il file ex01-2.xsl in Internet Explorer, il risultato sarà diverso.

    Note XSL

    Segnaliamo ora un momento chiave per gli sviluppatori di database. Le informazioni in una pagina XML di solito vengono visualizzate come risultato di una query del database. L'interrogazione di un database in un ambiente multiutente è molto costosa. Supponiamo ora di non avere XML e di generare pagine HTML statiche standard. In questo caso, per risolvere il problema della semplice trasformazione della rappresentazione esterna delle informazioni, ad esempio per cambiare l'ordinamento, abbiamo due modi per risolvere il problema: eseguire la query e memorizzare i risultati in un buffer temporaneo sul server, oppure ogni volta che la rappresentazione esterna cambia, eseguire una nuova query e rigenerare la pagina HTML.

    Il primo metodo richiede una programmazione laboriosa, il secondo metodo aumenta significativamente il carico sul server del database, le cui prestazioni sono spesso il collo di bottiglia del sistema: l'utente vuole sempre ottenere risultati più velocemente.

    XML e XSL forniscono una soluzione completa al problema sopra descritto. In effetti, una pagina XML è un buffer temporaneo per i risultati della query. Solo invece della programmazione non standard e dispendiosa in termini di tempo, ora utilizziamo il meccanismo XSL standard.

    C'è un'altra considerazione che può essere significativa per gli sviluppatori di database. La maggior parte dei DBMS moderni può formattare i risultati di una query di database come file XML. Cioè, quando si costruisce un'interfaccia utente nell'ambito della tecnologia XML e XSL, si ottiene una certa indipendenza dal fornitore del DBMS. In termini di organizzazione del ritiro - quasi completa indipendenza. E questa parte è abbastanza grande nella maggior parte delle applicazioni orientate al database. Ovviamente, oltre all'output, c'è anche l'input e l'elaborazione del server della logica aziendale, ma qui dovrai cercare altre soluzioni.

    I primi passi

    Esaminiamo ora più in dettaglio il primo esempio. Ricordiamo il suo testo.



    Note XSL

    La prima riga informa il browser che il file è in formato XML. L'attributo version è obbligatorio. L'attributo di codifica è facoltativo, ma se nel testo sono presenti lettere russe, è necessario inserire questo attributo, altrimenti il ​​file XML semplicemente non verrà elaborato: riceverai un messaggio di errore.

    Le righe seguenti sono il corpo del file XML. Consiste di elementi che insieme formano una struttura ad albero. Gli elementi sono identificati da tag e possono essere annidati l'uno nell'altro.

    Gli elementi possono avere attributi i cui valori possono essere elaborati anche secondo il template.

    C'è sempre un elemento al livello più alto di un file XML. Cioè, un file della forma



    Note XSL



    "Introduzione al CSP"

    non verranno elaborati dal browser. Per convertire in un file XML valido, devi aggiungere i tag degli elementi livello superiore, Per esempio




    Note XSL



    "Introduzione al CSP"


    Nota che i nomi dei tag fanno distinzione tra maiuscole e minuscole. Puoi leggere di più su questo in qualsiasi libro sugli elementi e gli attributi XML; questi libri prestano molta attenzione.

    Passiamo al modello di trasformazione: il file XSL. Il compito del file XSL è trasformare l'albero del file XML in un altro albero, che, ad esempio, sarà conforme al formato HTML e potrà essere visualizzato nella schermata del browser, tenendo conto della formattazione, della scelta dei caratteri, ecc.

    Affinché il browser esegua la trasformazione necessaria, è necessario specificare un collegamento al file XSL nel file XML


    Ora diamo un'occhiata al testo del file XSL






    La prima riga del file contiene il tag xsl: stylesheet element. Gli attributi dell'elemento sono il numero di versione e il riferimento allo spazio dei nomi. Questi attributi dell'elemento xsl: stylesheet sono obbligatori. Nel nostro caso, lo spazio dei nomi sono tutti i nomi degli elementi e i loro attributi che possono essere utilizzati nel file XSL. Per i file XSL, il riferimento allo spazio dei nomi è standard.

    Si noti che il file XSL è un tipo di file XML. Non contiene dati utente, ma il formato è lo stesso. Il file contiene l'elemento di primo livello xsl: stylesheet, seguito da un albero di regole di trasformazione.

    In questo documento, non spiegheremo in dettaglio cosa significa ogni elemento di un file XSL. Daremo vari esempi e mostreremo il risultato in ogni esempio, il che consentirà di mappare indipendentemente vari elementi del file XSL e le trasformazioni del file XML originale con le informazioni dell'utente avviate da questi elementi. Si noti inoltre che il valore dell'attributo Selezionare e quelli simili con il significato "scegli" sono scritti in una lingua speciale XPath, di cui puoi leggere brevemente sul disco \ xml \ XPathTutorial e più in dettaglio in MSDN.

    In quanto segue, presenteremo i testi dei file XML e XSL in bianco e nero. Puoi sempre aprire un file reale e vedere tutto a colori. Se necessario, commentare il collegamento al file XSL. La sintassi del commento è la seguente:... Non è possibile inserire simboli - nel testo del commento.

    Nel primo esempio abbiamo visto come l'elemento xsl: value-of può essere utilizzato per visualizzare il contenuto di un elemento (testo racchiuso tra tag) in formato HTML. Ora vedremo come lo stesso elemento può essere utilizzato per visualizzare il valore dell'attributo di un elemento.

    Considera il seguente file XML ex02-1.xml

    Nel precedente articolo su XML, abbiamo esaminato un modo così obsoleto di convalidare documenti XML, l'XML DTD. Questo metodoè ancora utilizzato per convalidare i dati XML, ma viene sostituito sempre di più di giorno in giorno nuova tecnologia chiamato schema XML. Sono state risolte molte carenze negli schemi XML, che erano nella DTD XML, e così via questo momento tutti i principali sviluppatori utilizzano solo schemi XML per la convalida dei documenti.

    Per apprezzare i vantaggi di XML Schema rispetto ai DTD, diamo un'occhiata più da vicino ai principali punti deboli dei DTD che sono stati corretti con successo negli XML Schema. Li ho già menzionati nell'articolo "", ma per una migliore comprensione, ripetiamo.

    Svantaggi dei DTD XML rispetto allo schema XML

    1. Sintassi della lingua diversa da XML. Cioè, il DTD non è XML. Questo può portare a una serie di problemi con la codifica e la verifica dei documenti XML.
    2. Nessun controllo del tipo di dati. C'è solo un tipo di dati nei DTD XML: stringa. A tal proposito, ad esempio, se è presente del testo in un campo numerico, il documento verrà comunque verificato, poiché il DTD XML non può verificare il tipo di dati.
    3. Non è possibile associare più di un DTD di descrizione a un singolo documento XML. Cioè, un documento può essere verificato con una sola descrizione DTD. Se ce ne sono molti, dovrai rifare le descrizioni e combinare tutto in un unico file, il che è molto scomodo.

    Queste erano le principali carenze dell'XML DTD, che sono state corrette con successo nello standard industriale per la descrizione dei documenti XML, XML Schema.

    XML Schema - lo standard del settore per la descrizione dei documenti XML

    In breve, XML Schema fa quanto segue:

    1. Descrive i nomi degli elementi e degli attributi (dizionario).
    2. Descrive la relazione tra elementi e attributi e la loro struttura (modello di contenuto).
    3. Descrive i tipi di dati.

    Voglio anche notare che al momento, usando i diagrammi, puoi descrivere quasi tutto. Cioè, uno schema è un modo universale di descrivere una grammatica dei dati che può essere utilizzata non solo per verificare documenti XML, ma anche per descrivere database, ecc. Pertanto, l'ambito di applicazione dei regimi è attualmente molto ampio.

    Esempio di schema XML per la convalida del documento XML

    Come dimostra la pratica, il materiale viene assimilato molto meglio se inizi immediatamente a studiare con esempi. Devo dire subito che non approfondiremo tutte le sottigliezze, poiché il materiale è molto complesso, soprattutto se lo studi in forma di testo.

    Esempio di schema XML semplice

    Utilizzando questo schema, puoi convalidare un documento XML con il seguente contenuto.

    <книга xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation = "book.xsd"> <название>Nozioni di base sull'XML <цена>300

    Quindi, torniamo al nostro schema XML. Come avrai già notato, XML a noi già noto viene utilizzato per creare schemi XML. L'unica differenza qui è che XML Schema definisce già gli elementi, a differenza del normale XML. Per questo motivo vengono utilizzati gli spazi dei nomi. In questo caso, lo spazio dei nomi richiesto è "http://www.w3.org/2001/XMLSchema", che sarà preceduto da "xs".

    Voglio notare subito che puoi usare entrambi i prefissi dello spazio dei nomi e impostare lo spazio dei nomi per l'elemento radice. In quanto tale, non c'è differenza qui. Ognuno decide da solo come agire in una data situazione. Dirò solo che di solito vengono utilizzati i prefissi "xs" o "xsd".

    Bene, ora scopriamo come decifrare lo schema sopra. Come accennato in precedenza, XML Schema è una descrizione di un dizionario e dei tipi di dati. Sulla base di questo, decifreremo ogni elemento.

    • - dichiariamo l'elemento "book" con il tipo "Book".
    • - dichiariamo un tipo complesso chiamato "Book" (xs: complexType - può contenere elementi annidati).
    • - dichiarazione di nidificazione. Cioè, il tipo conterrà elementi nidificati.
    • - dichiariamo un elemento con il nome "name" (del tipo standard "string" - xs: string).
    • - dichiariamo un elemento denominato “prezzo” (del tipo standard “numero” - xs: decimale).

    Come puoi vedere, non c'è nulla di super complicato qui. Se ci pensi, è tutto molto semplice.

    Elementi dello schema XML di base

    In breve, lo schema XML può essere descritto come segue.

    Il tuo circuito

    Come puoi vedere dall'esempio, ogni schema XML è costituito dall'elemento radice "schema" e dallo spazio dei nomi richiesto "http://www.w3.org/2001/XMLSchema". Quella che segue è una descrizione del circuito e del circuito stesso. Allo stesso tempo, molto spesso in schemi di altissima qualità, la descrizione è molto più grande dello stesso schema XML.

    Descrizione degli elementi in XML Schema

    All'inizio dell'articolo, abbiamo già visto un esempio dello schema XML più semplice. In esso, abbiamo descritto separatamente elementi e tipi. Allo stesso tempo, voglio notare subito che la sequenza non ha un ruolo qui. Il circuito funzionerà comunque.

    Ora diamo un'occhiata al secondo modo di scrivere XML Schema, che si basa sulla descrizione del tipo immediatamente all'interno dell'elemento. Il il metodo andrà bene nel caso in cui non si preveda di utilizzare la stessa descrizione per elementi diversi. Per chiarezza, considera un esempio.

    Come si può vedere dall'esempio, l'elemento viene dichiarato utilizzando la speciale costruzione "elemento" utilizzando l'apposito prefisso. In questo caso, definiamo un elemento chiamato "root" senza specificare un tipo (tipo), poiché verrà descritto all'interno dell'elemento. Cioè, ci sono due modi per descrivere gli elementi.

    1 modo

    Tipo Descrizione

    2 vie

    Descrizione del tipo di articolo

    Puoi usare sia il primo metodo che il secondo. Funzionano tutti allo stesso modo. L'unica domanda è la convenienza in questo caso particolare.

    Inoltre, dopo aver dichiarato l'elemento, indichiamo che è di tipo complesso ( ) ed enumerare ( ) elementi annidati. In questo caso, si tratta di elementi name ed age di tipo "xs: string" e "xs: integer". Il prefisso xs indica che si tratta di un tipo di base già descritto nello standard XML Schema.

    Come puoi vedere, tutto è abbastanza semplice finora. Ancora una volta, non entreremo in tutti i dettagli, poiché questo articolo ha lo scopo di familiarizzare con XML Schema e non di studiarlo in dettaglio.

    Come lo schema XML e la mappatura dei documenti

    La particolarità di XML Schema è che non descrive il documento in sé, ma lo spazio dei nomi. A questo proposito, molto spesso non si fa menzione di lei nel documento. Il gestore stesso mappa lo schema necessario senza utilizzare alcuna istruzione nel documento XML.

    Nel caso in cui il gestore non sappia dove si trova lo schema, possiamo indicare dove cercarlo. Questo viene fatto usando lo speciale attributo "schemaLocation". Poiché questo attributo appartiene a uno spazio dei nomi diverso, è necessario specificare anche lo spazio prima di utilizzare l'attributo. Per chiarezza, considera un esempio.

    Schema XML

    Documento XML

    Ora diamo un'occhiata più da vicino a ciascuna riga.

    • targetNamespace = "http://www.site.com" - indica per quale spazio dei nomi questo schema XML.
    • xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" - colleghiamo lo spazio dei nomi in cui è descritto l'attributo "schemaLocation".
    • xsi: schemaLocation = "http://www.site.com/product.xsd" - indica dove si trova lo schema nel caso in cui il parser non sappia dove si trova. Se il documento XML non appartiene ad alcun namespace, e quindi non vi è alcun riferimento ad esso nello schema, l'attributo "schemaLocation" viene sostituito con "noNamespaceSchemaLocation" (riferimento allo schema senza definire namespace).

    È tutto. Buona fortuna e successo nell'apprendimento di XML!