Funzione mappa
La funzione map
viene utilizzata per progettare un tipo dinamico quando il suo tipo di schema correlato è noto.
Se T è un tipo complesso , mappa (T) rappresenta la classe dinamica relativa a T.
Se T è un tipo semplice atomic , mappa (T) rappresenta il suo tipo dinamico mappato seguendo queste regole:
Se T è un tipo incorporato, il tipo dinamico è dato da XXX.
mappa (T) = mappa (base (T)) dove base (T) è il tipo semplice di base diretto di T.
Esempio di funzione mappa
Con un tipo semplice MyT
definito come:
<simpleType name="MyT">
<restriction base="string">
</simpleType>
Hai, map(MyT) = java.lang.String
.
La seguente espressione:
class C
{
[map(MyT)] myField;
}
Stand per:
class C
{
java.lang.String myField;
}
Traduzione dei nomi dei membri dello schema in nomi di campi dinamici della classe
I nomi dei membri dello schema si traducono in nomi di campi della classe dinamica secondo una serie di regole.
Il nome di un membro dello schema viene tradotto in un nome di campo della classe dinamica secondo le seguenti regole:
La prima lettera del tipo viene tradotta in minuscolo.
Tutti i caratteri che potrebbero essere contenuti in un identificatore Java™ vengono tradotti senza modifiche.
Gli altri caratteri vengono scartati e la lettera successiva viene tradotta in maiuscolo.
Se il nome del membro risultante è già utilizzato come identificatore del membro, a tale nome viene aggiunto un suffisso numerico. Ad esempio,
field
diventafield_0
.
Seguendo queste regole, my-address
diventa myAddress
.