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.
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.
<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>
<element name="xmlNameOfMessage"> <complexType> <sequence maxOccurs="unbounded" minOccurs= "(minOccurs della sequenza originale) * (elementi nella sequenza originale)"> <choice> .. sequence contents .. </choice> </sequence> </complexType> </element>
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.
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>
La rappresentazione xsd:Attributes non è supportata. È consentito solo modificare il nome dell'attributo.
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"/>