This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.


javax.xml.bind.annotation
annotation XmlSchema

java.lang.annotation.Annotation extended by javax.xml.bind.annotation.XmlSchema

public interface annotation XmlSchema
extends Annotation

Maps a package name to a XML namespace.

Usage

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

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.

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

    @javax.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
    @javax.xml.bind.annotation.XmlSchema (
      xmlns = { 
        @javax.xml.bind.annotation.XmlNs(prefix = "po", 
                   namespaceURI="http://www.example.com/myPO1"),

        @javax.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

    @javax.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">
 
 


Field Summary
static String NO_LOCATION
          The default value of the javax.xml.bind.annotation.XmlSchema.location attribute, which indicates that the schema generator will generate components in this namespace.
 
Method Summary
 XmlNsForm

          Namespace qualification for attributes.
 XmlNsForm

          Namespace qualification for elements.
 String

          Indicates that this namespace (specified by javax.xml.bind.annotation.XmlSchema.namespace) has a schema already available exeternally, available at this location.
 String

          Name of the XML namespace.
 XmlNs[]

          Customize the namespace URI, prefix associations.
 
Methods inherited from class java.lang.annotation.Annotation
annotationType, equals, hashCode, toString
 

Field Detail

NO_LOCATION

public static final String NO_LOCATION
The default value of the {@link #location()} attribute, which indicates that the schema generator will generate components in this namespace.
Method Detail

attributeFormDefault

public XmlNsForm attributeFormDefault()
Namespace qualification for attributes. By default, attributesFormDefault will be absent from the XML Schema fragment.


elementFormDefault

public XmlNsForm elementFormDefault()
Namespace qualification for elements. By default, element default attribute will be absent from the XML Schema fragment.


location

public String location()
Indicates that this namespace (specified by {@link #namespace()}) has a schema already available exeternally, available at this location.

This instructs the JAXB schema generators to simply refer to the pointed schema, as opposed to generating components into the schema. This schema is assumed to match what would be otherwise produced by the schema generator (same element names, same type names...)

This feature is intended to be used when a set of the Java classes is originally generated from an existing schema, hand-written to match externally defined schema, or the generated schema is modified manually.

Value could be any absolute URI, like http://example.org/some.xsd. It is also possible to specify the empty string, to indicate that the schema is externally available but the location is unspecified (and thus it's the responsibility of the reader of the generate schema to locate it.) Finally, the default value of this property "##generate" indicates that the schema generator is going to generate components for this namespace (as it did in JAXB 2.0.)

Multiple {@link XmlSchema} annotations on multiple packages are allowed to govern the same {@link #namespace()}. In such case, all of them must have the same {@link #location()} values.

Note to implementor

More precisely, the value must be either "", "##generate", or a valid lexical representation of xs:anyURI that begins with <scheme>:.

A schema generator is expected to generate a corresponding <xs:import namespace="..." schemaLocation="..."/> (or no schemaLocation attribute at all if the empty string is specified.) However, the schema generator is allowed to use a different value in the schemaLocation attribute (including not generating such attribute), for example so that the user can specify a local copy of the resource through the command line interface.


namespace

public String namespace()
Name of the XML namespace.


xmlns

public XmlNs[] xmlns()
Customize the namespace URI, prefix associations. By default, the namespace prefixes for a XML namespace are generated by a JAXB Provider in an implementation dependent way.



This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.
This page displays the Jadeite version of the documention, which is derived from the offical documentation that contains this copyright notice:
Copyright 2008 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.
The official Sun™ documentation can be found here at http://java.sun.com/javase/6/docs/api/.