Annotation Interface XmlSchema


@Retention(RUNTIME) @Target(PACKAGE) public @interface XmlSchema

Maps a package name to a XML namespace.

Usage

The XmlSchema annotation can be used with the following program elements:

  • package

This is a package level annotation and follows the recommendations and restrictions contained in JSR 175, section III, "Annotations". Thus the usage is subject to the following constraints and recommendations.

  • There can only be one package declaration as noted in JSR 175, section III, "Annotations".
  • JSR 175 recommends package-info.java for package level annotations. Jakarta XML Binding Providers that follow this recommendation will allow the package level annotations to be defined in package-info.java.

Example 1: Customize name of XML namespace to which package is mapped.

    @jakarta.xml.bind.annotation.XmlSchema (
      namespace = "http://www.example.com/MYPO1"
    )
 

    <!-- XML Schema fragment -->
    <schema
      xmlns=...
      xmlns:po=....
      targetNamespace="http://www.example.com/MYPO1"
    >
    <!-- prefixes generated by default are implementation
            depedenent -->
 

Example 2: Customize namespace prefix, namespace URI mapping

    // Package level annotation
    @jakarta.xml.bind.annotation.XmlSchema (
      xmlns = {
        @jakarta.xml.bind.annotation.XmlNs(prefix = "po",
                   namespaceURI="http://www.example.com/myPO1"),

        @jakarta.xml.bind.annotation.XmlNs(prefix="xs",
                   namespaceURI="http://www.w3.org/2001/XMLSchema")
      }
    )
 

    <!-- XML Schema fragment -->
    <schema
        xmlns:xs="http://www.w3.org/2001/XMLSchema"
        xmlns:po="http://www.example.com/PO1"
        targetNamespace="http://www.example.com/PO1">

 

Example 3: Customize elementFormDefault

    @jakarta.xml.bind.annotation.XmlSchema (
      elementFormDefault=XmlNsForm.UNQUALIFIED
      ...
    )
 

    <!-- XML Schema fragment -->
    <schema
        xmlns="http://www.w3.org/2001/XMLSchema"
        xmlns:po="http://www.example.com/PO1"
        elementFormDefault="unqualified">

 
Since:
1.6, JAXB 2.0