Creazione schemi XML

In questo argomento viene descritto il funzionamento della creazione degli schemi XML. Ad esempio, è possibile utilizzare lo schema creato da un file di definizione dei messaggi per convalidare successivamente i documenti di istanza XML scritti da WebSphere Message Broker.

Creazione approssimativa

La creazione approssimativa influenza la rappresentazione dei tipi complessi con la proprietà Convalida del contenuto impostata su Aperto o Definito aperto oppure con la proprietà Composizione impostata suUnorderedSet nello schema creato. Un tale schema di convalida consente la convalida di un maggior numero di messaggi rispetto al programma di analisi MRM.

Convalida del contenuto impostata su Aperto o Definito aperto
Di seguito viene riportato un esempio in cui il contenuto di un tipo complesso (globale o anonimo) è sostituito da un elemento singolo di tipo anyType. Il modello di creazione seguente è utilizzato per tipi complessi in cui la proprietà Convalida del contenuto è impostata suAperto.
<element name="xmlNameOfMessage">
	<complexType>
		<sequence>
			<any processContent="lax" 
			minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
</element>

Quando la Convalida del contenuto è impostata su Definito aperto, verrà utilizzato il modello seguente (gli spazi dei nomi elencati sono quelli definiti nella serie di messaggi contenitore.

<element name="xmlNameOfMessage">
	<complexType>
		<sequence>
			<any processContent="lax" 
  			minOccurs="0" maxOccurs="unbounded"
 				namespace="http://www.ns1 http://www.ns2" />
		</sequence>
	</complexType>
</element>
Composizione impostata su UnorderedSet
Quando la proprietà Composizione è impostata su UnorderedSet per riprodurre l'aspetto non ordinato, viene inserita una scelta con la cardinalità appropriata. Questa situazione è visualizzata di seguito.
<element name="xmlNameOfMessage">
	<complexType>
		<sequence maxOccurs="unbounded" 
		 minOccurs= "(minOccurs della sequenza originale) * 
          (elementi nella sequenza originale)">
			<choice>
			      .. sequence contents ..
			</choice>
		</sequence>
	</complexType>
</element>

Creazione limitata

La creazione limitata influenza la rappresentazione dei tipi complessi con la proprietà Convalida del contenuto impostata su Aperto o Definito aperto oppure con la proprietà Composizione impostata suUnorderedSet nello schema creato. Un tale schema di convalida consente la convalida di un minor numero di messaggi rispetto al programma di analisi MRM.

La creazione limitata è l'opzione di creazione predefinita e crea uno schema che corrisponde allo schema tenuto nel file di definizione dei messaggi, senza le estensioni del modello.

Convalida del contenuto impostata su Aperto o Definito aperto
Un tipo complesso (globale o anonimo) non è più in grado di contenere elementi a definizione automatica e diventa chiuso.
Composizione impostata su UnorderedSet
Un tipo complesso (globale o anonimo) non è più in grado di essere non ordinato e diventa una sequenza.

Rappresentazione di xsd:elements

Se in fase di creazione dello schema viene specificato il formato fisico XML, al modello logico viene applicata la personalizzazione del Wire Format. Tali proprietà controllano la modalità di rappresentazione reale di un elemento nel modello quando viene visualizzato in un messaggio per un XML Wire Format. Per le differenti opzioni di rappresentazione disponibili, fare riferimento a Opzioni di rappresentazione del XML. Di seguito viene riportato un esempio di schema creato in cui vengono visualizzati gli elementi creati per le differenti opzioni di rappresentazione disponibili per gli elementi locali; in alcuni esempi non sono modificati gli spazi dei nomi di nessuna proprietà di ID nome attributo o di Valore nome attributo e si presume che tutti gli elementi specificati in complexType1 siano stringhe di tipo integrato dello schema.

    <xsd:complexType name="complexType1">
        <xsd:sequence>
        	<!-- Local element Render = 'XMLElement' -->
            <xsd:element name="localElement1" type="xsd:string"/>
        	<!-- Local element Render = 'XMLElementAttrID' 
                                         ID Attribute Name = 'id' -->
            <xsd:element name="localElement2">
                <xsd:complexType>
                    <xsd:simpleContent>
                        <xsd:extension base="xsd:string">
                            <xsd:attribute name="id" type="xsd:string"/>
                        </xsd:extension>
                    </xsd:simpleContent>
                </xsd:complexType>
            </xsd:element>
        	<!-- Local element Render = 'XMLElementAttrVal' 
                                        Val Attribute Name = 'val' -->
            <xsd:element name="localElement3">
                <xsd:complexType>
                    <xsd:simpleContent>
                        <xsd:extension base="xsd:string">
                            <xsd:attribute name="val" type="xsd:string"/>
                        </xsd:extension>
                    </xsd:simpleContent>
                </xsd:complexType>
            </xsd:element>
        	<!-- Local element Render = 'XMLElementAttrIDVal' 
        	     ID Attribute Name = 'id' Val Attribute Name = 'val' -->
            <xsd:element name="localElement4">
                <xsd:complexType>
                    <xsd:simpleContent>
                        <xsd:extension base="xsd:string">
                            <xsd:attribute name="val" type="xsd:string"/>
                            <xsd:attribute name="id" type="xsd:string"/>
                        </xsd:extension>
                    </xsd:simpleContent>
                </xsd:complexType>
            </xsd:element>
        </xsd:sequence>
        	<!-- Local element Render = 'XMLAttribute' -->
        <xsd:attribute name="localElement5" type="xsd:string"/>
    </xsd:complexType>

Rappresentazione di xsd:attributes

La rappresentazione xsd:Attributes non è supportata. È consentito solo modificare il nome dell'attributo.

Tipi semplici integrati ed elementi composti

Sono modellati nel file di definizione dei messaggi come elementi in cui le proprietà minOccurs e maxOccurs sono impostate su 0 e dispongono di uno dei tipi ComIbmMrm_xxx predefiniti. Durante la creazione dello schema, il tipo di tali elementi viene modificato nel tipo di base del tipo ComIbmMrm_xxx corrispondente.

Se sono presenti tipi semplici globali che ereditano da uno di tali tipi ComIbmMrm_xxx, questi sono modificati in modo da ereditare dal tipo di base del tipo ComIbmMrm_xxx corrispondente.

Nei file di schema creati non saranno presenti ricorrenze di tali tipi ComIbmMrm_xxx.

Ad esempio, l'elemento globale con il tipo definito di seguito:

<element name="globalElement1" type="ns1:ComIbmMrm_BaseValueBinary"/>

risulta nel file di schema creato e in un elemento globale con il tipo di base xsd corrispondente come definito di seguito:

<element name="globalElement1" type="hexBinary"/>
Concetti correlati
Creazione di modelli di messaggio
Il modello di messaggio
XML Wire Format: relazione con il modello logico
Attività correlate
Sviluppo di modelli di messaggio
Gestione di un file di definizione dei messaggi
Gestione degli oggetti del modello messaggio
Riferimenti correlati
Informazioni di riferimento del modello di messaggio
Proprietà dell'oggetto modello di messaggio
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
ad15780_