Next: Coming Attractions Up: XML Enhancements to Java™ Previous: XJ Language Overview

Subsections


Limitations

XJ is an evolving language and has certain limitations that we are addressing. In this section, we describe the features of XML and XML Schema that are not supported currently by XJ. XJ programs have only been tested with the standard XML encoding.

Unsupported XML Schema Features

XJ does not currently support certain XML Schema features, such as the subtyping mechanisms of type substitution and substitution groups for elements. Subtyping does work for the XML Schema built-in types. We also do not support XML Schema constructs such as import, include, and redefine. Identity constraints expressed using key and keyref and redefinition of declarations are not supported. Furthermore, XML class names with ".", "-", ":", or corresponding to a Java keyword will not be parsed appropriately. Note that the above does not apply to XML Schema primitive types expressed using the "xsd." notation.

With respect to validation, we do not currently validate XML data constructed from external XML sources. Construction from literal XML is validated with respect to XML Schema, but is not exhaustive in the checks performed. For example, the validation does not currently check facet constraints or cardinality bounds, such as, minOccurs. Also, wildcards such as anyattribute in XML Schema are not yet supported.

Coercions from primitive Schema types xsd:date, xsd:time, and xsd:dateTime (as well as the types xsd:gYear, xsd:gYearMonth, xsd:gMonth, xsd:gMonthDay, and xsd:gDay, which are essentially restrictions on xsd:date) to java.util.Date are not yet implemented. Similarly, the coercion of the primitive Schema type xsd:duration to Java's primitive type long has not yet been implemented.

With respect to output of XML data, we currently only support output using the "UTF-8" encoding.

Limitations in support of Java

Currently introspection and reflection of XML classes is not supported. Similarly, downcasts to XML classes (for example, (theyear) o, where theyear is an XML class and o is of type Object) are not supported either. The expressions involving XML classes, that is, XPath evaluation and construction, are not guaranteed to be thread safe.

Updates of XML Data

Updates of XML data are not supported currently. It will be supported shortly in a new release.



Next: Coming Attractions Up: XML Enhancements to Java™ Previous: XJ Language Overview
XJ Group 2005-09-13