The following list summarizes significant changes made to the JAXB Reference Implementation since the JAXB version 1.0 FCS release.
$JWSDP_HOME/jaxb/libs/jaxb-ri.jar Renamed $JWSDP_HOME/jaxb/libs/jaxb-impl.jar $JWSDP_HOME/jwsdp-shared/lib/relaxngDatatype.jar New JAR file* $JWSDP_HOME/jwsdp-shared/lib/xsdlib.jar New JAR file* * The contents of the relaxngDatatype.jar and xsdlib.jar files used to be contained within the $JWSDP_HOME/jaxb/libs/jaxb-libs.jar file, but were broken out so they could be shared with other Java WSDP component technologies.
parsing a schema... compiling a schema... primer\po\impl\CommentImpl.java primer\po\impl\ItemsImpl.java primer\po\impl\JAXBVersion.java primer\po\impl\PurchaseOrderImpl.java primer\po\impl\PurchaseOrderTypeImpl.java primer\po\impl\USAddressImpl.java primer\po\impl\runtime\Discarder.java primer\po\impl\runtime\AbstractUnmarshallingEventHandlerImpl.java primer\po\impl\runtime\XMLSerializable.java primer\po\impl\runtime\AbstractGrammarInfoImpl.java primer\po\impl\runtime\MarshallerImpl.java primer\po\impl\runtime\ContentHandlerAdaptor.java primer\po\impl\runtime\ValidatableObject.java primer\po\impl\runtime\DefaultJAXBContextImpl.java primer\po\impl\runtime\ErrorHandlerAdaptor.java primer\po\impl\runtime\ValidatingUnmarshaller.java primer\po\impl\runtime\GrammarInfoFacade.java primer\po\impl\runtime\XMLSerializer.java primer\po\impl\runtime\ValidationContext.java primer\po\impl\runtime\Util.java primer\po\impl\runtime\UnmarshallingEventHandler.java primer\po\impl\runtime\UnmarshallingContext.java primer\po\impl\runtime\UnmarshallableObject.java primer\po\impl\runtime\NamespaceContext2.java primer\po\impl\runtime\NamespaceContextImpl.java primer\po\impl\runtime\MSVValidator.java primer\po\impl\runtime\ValidatorImpl.java primer\po\impl\runtime\UnmarshallingEventHandlerAdaptor.java primer\po\impl\runtime\SAXMarshaller.java primer\po\impl\runtime\UnmarshallerImpl.java primer\po\impl\runtime\SAXUnmarshallerHandlerImpl.java primer\po\impl\runtime\GrammarInfo.java primer\po\impl\runtime\PrefixCallback.java primer\po\impl\runtime\SAXUnmarshallerHandler.java primer\po\Comment.java primer\po\Items.java primer\po\ObjectFactory.java primer\po\PurchaseOrder.java primer\po\PurchaseOrderType.java primer\po\USAddress.java primer\po\bgm.ser primer\po\jaxb.properties
If you are compiling multiple schemas and would like to share the generated runtime classes across all of the packages, use the "-use-runtime" compiler switch.
The following list summarizes significant changes made to the JAXB Reference Implementation since the beta release.
Factory methods in schema-derived ObjectFactory classes were static in Beta and are now instance methods in JAXB v1.0.
Class ObjectFactory is specified in section 4.2 of JAXB v1.0 specification. The rationale for this change was to enable associating implementation specific property/value pairs with object creation.
Illustration of change:
Object Factory Creation fragment in Beta:
Comment comment = ObjectFactory.createComment("foo");
Object Factory Creation in FCS:
ObjectFactory of = new ObjectFactory(); Comment comment = of.createComment("foo");
A JAXB property representing an XML Schema element reference was not bound to Java accessor methods as specified. The basetype of the JAXB property was the referenced element's Java element interface in the Beta release, when it should have been the Java type representing the XML element's datatype. The rationale for this change is that the Java method signatures should not be impacted by whether XML element content is represented as a local element declaration or an element reference.
This change manifests itself as a compilation error when a JAXB property should be passing in an instance of a builtin Java datatype, the XML element's type, rather than its element instance. All global element's with XML complex types are not impacted by this change, only references to global elements where the XML global element's type is an XML Schema builtin datatype that is bound to a Java builtin type require any change.
Illustration of change:
For example, given schema fragments:
<xs:complexType name="AComplexType"/> <xs:element name="GlobalElement" type="AComplexType"/> <xs:element name="Comment" type="xs:string"/> <xs:complexType name="refCommentExample"> <xs:sequence> <xs:element ref="Comment"/> <xs:element ref="GlobalElement"/> </xs:sequence> </xs:complexType>
Beta generated accessors for JAXB properties, Comment and GlobalElement, with the base type corresponding to the Java element interface, not the Java datatype for the XML element's type.
The following methods were generated with the Beta version:
interface AClass { Comment getComment(); void setComment(Comment value); GlobalElement getGlobalElement(); void setGlobalElement(GlobalElement value); }
The following methods were generated with the FCS version:
interface AClass { String getComment(); void setComment(String value); AComplexType getGlobalElement(); // Parameter "value" can be an instance of an XML element's type Or // an instance of an XML element's interface. // Thus, one can pass an instanceof GlobalElement interface OR an // instance of AComplexType to setGlobalElement. void setGlobalElement(AComplexType value); }