-
@Retention(value=RUNTIME) @Target(value=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. JAXB 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.
@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">
- Since:
- JAXB2.0
-
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element and Description XmlNsForm
attributeFormDefault
Namespace qualification for attributes.XmlNsForm
elementFormDefault
Namespace qualification for elements.String
location
Indicates that this namespace (specified bynamespace()
) has a schema already available exeternally, available at this location.String
namespace
Name of the XML namespace.XmlNs[]
xmlns
Customize the namespace URI, prefix associations.
-
-
-
Element Detail
-
xmlns
public abstract 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.- Default:
- {}
-
namespace
public abstract String namespace
Name of the XML namespace.- Default:
- ""
-
elementFormDefault
public abstract XmlNsForm elementFormDefault
Namespace qualification for elements. By default, element default attribute will be absent from the XML Schema fragment.- Default:
- javax.xml.bind.annotation.XmlNsForm.UNSET
-
attributeFormDefault
public abstract XmlNsForm attributeFormDefault
Namespace qualification for attributes. By default, attributesFormDefault will be absent from the XML Schema fragment.- Default:
- javax.xml.bind.annotation.XmlNsForm.UNSET
-
location
public abstract String location
Indicates that this namespace (specified bynamespace()
) 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
XmlSchema
annotations on multiple packages are allowed to govern the samenamespace()
. In such case, all of them must have the samelocation()
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.
- Since:
- JAXB2.1
- Default:
- "##generate"
-
-
Nederlandse vertaling
U hebt gevraagd om deze site in het Nederlands te bezoeken. Voor nu wordt alleen de interface vertaald, maar nog niet alle inhoud.Als je me wilt helpen met vertalingen, is je bijdrage welkom. Het enige dat u hoeft te doen, is u op de site registreren en mij een bericht sturen waarin u wordt gevraagd om u toe te voegen aan de groep vertalers, zodat u de gewenste pagina's kunt vertalen. Een link onderaan elke vertaalde pagina geeft aan dat u de vertaler bent en heeft een link naar uw profiel.
Bij voorbaat dank.
Document heeft de 11/06/2005 gemaakt, de laatste keer de 04/03/2020 gewijzigd
Bron van het afgedrukte document:https://www.gaudry.be/nl/java-api-rf-javax/xml/bind/annotation/xmlschema.html
De infobrol is een persoonlijke site waarvan de inhoud uitsluitend mijn verantwoordelijkheid is. De tekst is beschikbaar onder CreativeCommons-licentie (BY-NC-SA). Meer info op de gebruiksvoorwaarden en de auteur.
Referenties
Deze verwijzingen en links verwijzen naar documenten die geraadpleegd zijn tijdens het schrijven van deze pagina, of die aanvullende informatie kunnen geven, maar de auteurs van deze bronnen kunnen niet verantwoordelijk worden gehouden voor de inhoud van deze pagina.
De auteur Deze site is als enige verantwoordelijk voor de manier waarop de verschillende concepten, en de vrijheden die met de referentiewerken worden genomen, hier worden gepresenteerd. Vergeet niet dat u meerdere broninformatie moet doorgeven om het risico op fouten te verkleinen.