Serializzazione XML degli XOM della serie di regole
I parametri della serie di regole vengono gestiti in modo diverso a seconda che siano espressi come elementi XML o come tipi Java.
Tipi primitivi
I tipi primitivi sono classi e tipi Java che possono essere scritti come stringhe in linea. L'elemento XML utilizzato per serializzare un tipo primitivo come parametro della serie di regole è il nome del parametro della serie di regole nello spazio dei nomi del parametro.
- In Modifica degli spazi dei nomi di destinazione viene spiegato come personalizzare lo spazio dei nomi dei parametri dalla vista del set di regole nella console del Rule Execution Server.
- La serializzazione XML di tipi Java mostra i tipi XML e le annotazioni JAXB (Java Architecture for XML Binding) per i tipi primitivi e semplici Java.
XOM dinamico
Per gli XOM dinamici, l'elemento root dipende dalla modalità di definizione dei parametri della serie di regole. La descrizione XML viene serializzata dal codice XSD originale dello XOM dinamico sul quale si basa la serie di regole.
- Nome dell'elemento root
- Per le serie di regole che si basano su uno XOM dinamico, il nome dell'elemento root viene determinato come segue:
- Se il parametro è un elemento XML nella firma della serie di regole, tale elemento viene utilizzato come nome elemento root del parametro nelle richieste e nelle risposte.
- Se il parametro è un tipo Java complesso o primitivo, il nome del parametro viene utilizzato come nome dell'elemento root del parametro nelle richieste e nelle risposte, all'interno dello spazio dei nomi
paramconfigurato.Nota: un parametro della serie di regole viene dichiarato da un elemento XML se soddisfa la seguente condizione: tale parametro utilizza un tipo complesso XML per cui un elemento XML è stato dichiarato da tale tipo complesso nel file XSD importato originale. Ad esempio, a partire dalla seguente definizione XSD:
il parametro ruleset è dichiarato dall'elemento XML<xsd:element name="MyConference"> <xsd:complexType> <xsd:sequence> <xsd:element name="session" type="session" maxOccurs="unbounded"/> <xsd:element name="participant" type="participant" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element>MyConference:<par:Request xmlns:par="http://www.ibm.com/rules/decisionservice/myruleapp/myruleset/param" xmlns:jav="http://www.acme.com/myconference"> <jav:MyConference> <jav:session> […] <jav:session> <jav:MyConference> </par:Request>
- Serializzazione
- L'elemento root dipende dai propri tipi XML.
- Per i tipi complessi XML, la dichiarazione del parametro utilizza il nome del parametro (nello spazio dei nomi del parametro) come elemento root.
- Per gli elemento XML, la dichiarazione del parametro utilizza l'elemento XML definito come elemento root nello spazio dei nomi originale. In tal caso, il nome del parametro allegato a ciascun nodo viene fornito nel codice WSDL come messaggio di commento.
XOM Java
- Nome dell'elemento root
Per le serie di regole basate su uno XOM Java, la dichiarazione del parametro utilizza il nome parametro (nello spazio dei nomi del parametro) come elemento root.
- Serializzazione
- La struttura XML delle classi Java XOM viene serializzata tramite il processo JAXB standard. Se la serializzazione predefinita non fornisce i risultati previsti per le proprie classi, è possibile personalizzare il processo di serializzazione utilizzando le annotazioni JAXB.Nota: un parametro è visibile come elemento XML solo se lo si specifica con un'annotazione
XmlElemento se al parametro si applicano i metodi getXXX e setXXX validi. - Array come parametri della serie di regole
- In Java XOM, è possibile specificare i parametri della serie di regole come array semplici o multidimensionali. La serializzazione XML viene elaborata in modo diverso per ciascun tipo di array:
- Se il parametro della serie di regole è un array semplice, il nome del parametro si ripete come un array standard in XML.
- Se il parametro della serie di regole è un array multidimensionale, il nome del parametro si ripete come un tipo di array standard in XML per la prima dimensione e utilizza quindi gli elementi
itemper le dimensioni successive. Ad esempio:<myMultiDimArrayParam> <item>1</item> <item>2</item> </myMultiDimArrayParam> <myMultiDimArrayParam> <item>3</item> <item>4</item> <item>5</item> </myMultiDimArrayParam>