Network Deployment (Distributed operating systems), v8.0 > Develop and deploying applications > XML applications > Use the XML API to perform operations > Performing basic operations
Map XML types to Java types
We can use this mapping between XML types and Java types when using external functions and variables. They are recommended mappings only; other types might work subject to type promotion, casting rules, and the range of values representable by the target type.
Procedure
- Use this table to map between built-in types and Java types when using external functions and variables.
Built-in and Java types.
This table maps built-in types to Java types.
Built-in Types Java Types xs:anyURI java.lang.String xs:boolean boolean, java.lang.Boolean xs:base64Binary byte[] xs:hexBinary byte[] xs:date javax.xml.datatype.XMLGregorianCalendar xs:dateTime javax.xml.datatype.XMLGregorianCalendar xs:time javax.xml.datatype.XMLGregorianCalendar xs:duration javax.xml.datatype.Duration xs:dayTimeDuration javax.xml.datatype.Duration xs:yearMonthDuration javax.xml.datatype.Duration xs:gDay javax.xml.datatype.XMLGregorianCalendar xs:gMonth javax.xml.datatype.XMLGregorianCalendar xs:gMonthDay javax.xml.datatype.XMLGregorianCalendar xs:gYear javax.xml.datatype.XMLGregorianCalendar xs:gYearMonth javax.xml.datatype.XMLGregorianCalendar xs:decimal java.math.BigDecimal xs:integer java.math.BigInteger xs:nonPositiveInteger java.math.BigInteger xs:negativeInteger java.math.BigInteger xs:long long, java.lang.Long xs:int int, java.lang.Integer xs:short short, java.lang.Short xs:byte byte, java.lang.Byte xs:nonNegativeInteger java.math.BigInteger xs:unsignedLong java.math.BigInteger xs:unsignedInt long xs:unsignedShort int xs:unsignedByte short xs:positiveInteger java.math.BigInteger xs:double double, java.lang.Double xs:float float, java.lang.Float xs:QName javax.xml.namespace.QName xs:NOTATION javax.xml.namespace.QName xs:string java.lang.String xs:normalizedString java.lang.String xs:token java.lang.String xs:language java.lang.String xs:NMTOKEN java.lang.String xs:Name java.lang.String xs:NCName java.lang.String xs:ID java.lang.String xs:IDREF java.lang.String xs:ENTITY java.lang.String xs:untypedAtomic java.lang.String List com.ibm.xml.xapi.XItemView[] Union com.ibm.xml.xapi.XItemView All of the above-listed built-in types com.ibm.xml.xapi.XItemView com.ibm.xml.xapi.XSequenceCursor Complex types (types that represent nodes in the XML document) com.ibm.xml.xapi.XItemView com.ibm.xml.xapi.XSequenceCursor org.w3c.dom.Node The mapping also applies to retrieving values from an XItemView. The XItemView getDoubleValue method returns Java primitive double; the getDateValue, getTimeValue, and getDateTimeValue methods all return an XMLGregorianCalendar; and so on.
To use an external function in your XPath or XQuery expressions and it takes a built-in type as the argument, the actual Java method signature can specify any of the indicated Java types. To use an external function, my:power(arg1 as xs:int, arg2 as xs:int) for example, to calculate the value of the first argument raised to the power of the second argument, you could write a Java method taking two Java primitive int arguments that performs the calculation.
- Use this table to map between sequence types and Java types when using external functions and variables.
Sequence and Java types.
This table maps sequence types to Java types.
Sequence Types Java Types All sequence types com.ibm.xml.xapi.XSequenceCursor Sequence type known to be a singleton (a sequence containing only one item) com.ibm.xml.xapi.XItemView One of the types listed in the built-in types to Java types mapping table Sequence type known to contain only nodes and no atomic items org.w3c.dom.NodeList org.w3c.dom.traversal.NodeIterator
Precompile using the command-line tools
Precompile in Java