| // |
| // Copyright (c) 2020 Contributors to the Eclipse Foundation |
| // |
| |
| == Compatibility |
| |
| This section describes conformance |
| requirements for an implementor of this specification. A JAXB |
| implementation must implement these constraints, without exception, to |
| provide a predictable environment for application development and |
| deployment. |
| |
| This section explicitly lists the high level |
| requirements of this specification. Additional requirements can be found |
| in other sections of this specification and the associated javadoc for |
| package `jakarta.xml.bind` and its subpackages. If any requirements listed |
| here conflict with requirements listed elsewhere in the specification, |
| the requirements here take precedence and replace the conflicting |
| requirements. |
| |
| A JAXB implementation must implement the |
| processing model specified in Appendix B, |
| link:jaxb.html#a3856[See Runtime Processing]”. |
| |
| A JAXB implementation included in a product |
| that supports software development must support a schema generator. A |
| schema generator must support all the Java Types to XML Schema mapping |
| specified in Section 8, link:jaxb.html#a2236[See Java Types To |
| XML]”. |
| |
| A JAXB implementation included in a product |
| that supports software development must support a schema compiler. All |
| operating modes of a schema compiler must support all the XML |
| Schema-to-Java bindings described in this specification. Additionally, |
| any operating mode must not implement a default binding for XML |
| Schema-to-Java bindings as an alternative to those specified in Section |
| 6, link:jaxb.html#a694[See Binding XML Schema to Java |
| Representations]” nor alternative interpretations for the standard |
| customizations described in Section 7, link:jaxb.html#a1498[See |
| Customizing XML Schema to Java Representation Binding].” |
| |
| The default operating mode for a schema |
| compiler MUST report an error when extension binding declaration is |
| encountered. All operating modes for a schema compiler MUST report an |
| error if an invalid binding customization is detected as defined in |
| Section 7. An extension binding declaration must be introduced in the |
| following cases: |
| |
| . to alter a binding customization that is |
| allowed to be associated with a schema element as specified in Section |
| 7, link:jaxb.html#a1498[See Customizing XML Schema to Java |
| Representation Binding].” |
| . to associate a binding customization with a |
| schema element where it is disallowed as specified in Section 7, |
| link:jaxb.html#a1498[See Customizing XML Schema to Java |
| Representation Binding].” |
| |
| The default operating mode for a schema |
| compiler MUST report an error when processing a schema that does not |
| comply with the 2001 W3C Recommendation for XML Schema, [XSD Part 1] and |
| [XSD Part 2]. |
| |
| A schema compiler MAY support non-default |
| operating modes for binding schema languages other than XML Schema. |
| |
| A schema compiler MUST be able to generate |
| Java classes that are able to run on at least one Sun's Reference |
| Implementation of the J2SE Java Runtime Environment that is Java SE 5 or |
| higher. |
| |
| A schema generator MAY support non-default |
| operating modes for mapping Java types to schema languages other than |
| XML Schema. |
| |
| A Java platform configured with any JAXB 2.0 |
| implementation MUST allow any JAXB 1.0 application, packaged as |
| specified by the JAXB 1.0 implementation used by the application, to run |
| as specified by the JAXB 1.0 specification. A JAXB 1.0 application uses |
| schema-derived classes generated by a JAXB 1.0 compliant schema compiler |
| and is distributed with the compatible JAXB 1.0 runtime implementation. |
| Unlike JAXB 2.0, JAXB 1.0 specified a tight coupling between a JAXB 1.0 |
| implementation’s schema-derived code and the JAXB 1.0 implementation of |
| package `jakarta.xml.bind`. The required processing model for a JAXB 1.0 |
| schema compiler generated package is specified in |
| `jakarta.xml.bind.JAXBContext` class javadoc under the heading *SPEC REQUIREMENT*. |