Spec-Zone .ru
спецификации, руководства, описания, API


javax.xml.bind.annotation
Тип аннотации XmlSchema


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

Отображает имя пакета к пространству имен XML.

Использование

Аннотация XmlSchema может использоваться со следующими элементами программы:

Это - аннотация уровня пакета и следует за рекомендациями и ограничениями, содержавшимися в JSR 175, раздел III, "Аннотации". Таким образом использование подвергается следующим ограничениям и рекомендациям.

Пример 1: Настройте имя пространства имен XML, на которое отображается пакет.

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

Пример 2: Настройте префикс пространства имен, отображение URI пространства имен

    // 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">
 
 

Пример 3: Настройте 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">
 
 

С тех пор:
JAXB2.0
Автор:
Sekhar Vajjhala, Sun Microsystems, Inc.

Дополнительная Сводка Элемента
 XmlNsForm attributeFormDefault
          Квалификация пространства имен для атрибутов.
 XmlNsForm elementFormDefault
          Квалификация пространства имен для элементов.
 java.lang.String расположение
          Указывает что это пространство имен (определенный namespace()) имеет схему, уже доступную экс-вечно, доступный в этом расположении.
 java.lang.String пространство имен
          Имя пространства имен XML.
 XmlNs[] xmlns
          Настройте URI пространства имен, снабдите префиксом ассоциации.
 

xmlns

public abstract XmlNs[] xmlns
Настройте URI пространства имен, снабдите префиксом ассоциации. По умолчанию префиксы пространства имен для пространства имен XML сгенерированы Провайдером JAXB зависящим от реализации способом.

Значение по умолчанию:
{}

пространство имен

public abstract java.lang.String namespace
Имя пространства имен XML.

Значение по умолчанию:
""

elementFormDefault

public abstract XmlNsForm elementFormDefault
Квалификация пространства имен для элементов. По умолчанию атрибут по умолчанию элемента будет отсутствовать во фрагменте XML-схемы.

Значение по умолчанию:
javax.xml.bind.annotation.XmlNsForm.UNSET

attributeFormDefault

public abstract XmlNsForm attributeFormDefault
Квалификация пространства имен для атрибутов. По умолчанию attributesFormDefault будет отсутствовать во фрагменте XML-схемы.

Значение по умолчанию:
javax.xml.bind.annotation.XmlNsForm.UNSET

расположение

public abstract java.lang.String location
Указывает что это пространство имен (определенный namespace()) имеет схему, уже доступную экс-вечно, доступный в этом расположении.

Это дает генераторам схемы JAXB команду просто ссылаться на схему, на которую указывают, в противоположность генерированию компонентов в схему. Эта схема, как предполагается, соответствует то, что было бы иначе произведено генератором схемы (те же самые имена элементов, те же самые имена типов...)

Эта функция предназначается, чтобы использоваться, когда ряд классов Java первоначально сгенерирован из существующей схемы, написанной от руки, чтобы соответствовать внешне определенную схему, или сгенерированная схема изменяется вручную.

Значение могло быть любым абсолютным URI, как http://example.org/some.xsd. Также возможно определить пустую строку, указать, что схема внешне доступна, но расположение является неуказанным (и таким образом это - ответственность читателя генерировать схемы, чтобы определить местоположение этого.) Наконец, значение по умолчанию этого свойства "##generate" указывает, что генератор схемы собирается генерировать компоненты для этого пространства имен (как это сделало в JAXB 2.0.)

Многократный XmlSchema аннотациям на многократные пакеты позволяют управлять тем же самым namespace(). В таком случае у всех их должно быть то же самое location() значения.

Отметьте конструктору

Более точно значением должен быть или "", "##generate", или допустимое лексическое представление xs:anyURI, который начинается с <scheme>:.

Генератор схемы, как ожидают, генерирует соответствующий <xs:import namespace="..." schemaLocation="..."/> (или никакой атрибут schemaLocation вообще, если пустая строка будет определена.) Однако, генератору схемы позволяют использовать различное значение в атрибуте schemaLocation (включая не генерирование такого атрибута), например так, чтобы пользователь мог определить локальную копию ресурса через интерфейс командной строки.

С тех пор:
JAXB2.1
Значение по умолчанию:
"##generate"


Представьте ошибку или функцию

Авторское право © 2009-2011, Oracle Corporation и/или его филиалы. Все права защищены. Использование подвергается срокам действия лицензии.

Сгенерированный на 10-February-2011 12:41

free hit counter