Spec-Zone.ru › OpenJDK 17

Интерфейс TypeInfo

public interface TypeInfo
Интерфейс TypeInfo представляет собой тип, на который ссылаются узлы Element или Attr, указанные в схемах, связанных с документом. Тип представляет собой пару свойств: URI пространства имен и имя, и зависит от схемы документа.

Если схемой документа является XML DTD [XML 1.0], значения вычисляются следующим образом:

  • Если на этот тип ссылается узел Attr, typeNamespace равно "http://www.w3.org/TR/REC-xml", а typeName представляет собой свойство [тип атрибута] в [XML Information Set]. Если для атрибута нет объявления, typeNamespace и typeName равны null.
  • Если на этот тип ссылается узел Element, typeNamespace и typeName равны null.

Если схемой документа является XML Schema [XML Schema Part 1], значения вычисляются следующим образом с использованием вкладов PSVI (пост-схемовалидационные вклады):

  • Если свойство [действительность] существует И равно "недействительно" или "неизвестно": свойства {пространство имен целевого объекта} и {имя} объявленного типа, если доступны, в противном случае null.

    Примечание: На момент написания спецификация XML Schema не требует экспонирования объявленного типа. Таким образом, реализации DOM могут выбрать не предоставлять информацию о типе, если действительность не является действительной.

  • Если свойство [действительность] существует и равно "действительно":
    1. Если свойство [определение типа члена] существует:
      1. Если {имя} не отсутствует, то экспонируются свойства {имя} и {пространство имен} свойства [определение типа члена];
      2. В противном случае экспонируются пространство имен и локальное имя соответствующего анонимного имени типа.
    2. Если свойство [определение типа] существует:
      1. Если {имя} не отсутствует, то экспонируются свойства {имя} и {пространство имен} свойства [определение типа];
      2. В противном случае экспонируются пространство имен и локальное имя соответствующего анонимного имени типа.
    3. Если свойство [анонимное определение типа члена] существует:
      1. Если оно ложно, то экспонируются свойства [имя определения типа члена] и [пространство имен определения типа члена];
      2. В противном случае экспонируются пространство имен и локальное имя соответствующего анонимного имени типа.
    4. Если свойство [анонимное определение типа] существует:
      1. Если оно ложно, то экспонируются свойства [имя определения типа] и [пространство имен определения типа];
      2. В противном случае экспонируются пространство имен и локальное имя соответствующего анонимного имени типа.

Примечание: Другие языки схем находятся вне сферы действия W3C и поэтому должны определять, как представлять свои типы с использованием TypeInfo.

См. также Спецификацию Document Object Model (DOM) Level 3 Core.

С:
1.5, DOM Level 3

Краткое описание полей

Модификатор и тип Поле Описание
static final int DERIVATION_EXTENSION
Если схемой документа является XML Schema [XML Schema Part 1], эта константа представляет собой вывод по расширению.
static final int DERIVATION_LIST
Если схемой документа является XML Schema [XML Schema Part 1], эта константа представляет собой список.
static final int DERIVATION_RESTRICTION
Если схемой документа является XML Schema [XML Schema Part 1], эта константа представляет собой вывод по ограничению, если речь идёт о сложных типах, или ограничение, если речь идёт о простых типах.
static final int DERIVATION_UNION
Если схемой документа является XML Schema [XML Schema Part 1], эта константа представляет собой объединение, если речь идёт о простых типах.

Краткое описание методов

Модификатор и тип Метод Описание
String getTypeName()
Имя типа, объявленного для связанного элемента или атрибута, или null если неизвестно.
String getTypeNamespace()
Пространство имен типа, объявленного для связанного элемента или атрибута, или null если у элемента нет объявления или нет информации о пространстве имен.
boolean isDerivedFrom(String typeNamespaceArg, String typeNameArg, int derivationMethod)
Этот метод возвращает, существует ли вывод между определением типа ссылки, т.е. TypeInfo, на котором вызывается метод, и другим определением типа, т.е. тем, которое передано в качестве параметров.

Подробное описание полей

DERIVATION_RESTRICTION

static final int DERIVATION_RESTRICTION
Если схема документа является схемой XML [Часть 1 схемы XML], эта константа представляет собой производную по ограничению, если участвуют сложные типы, или ограничение, если участвуют простые типы.
Определяемый тип ссылки производен от другого определения типа путем ограничения, если другое определение типа идентично определению типа ссылки или если другое определение типа может быть достигнуто рекурсивно по свойству {определение базового типа} от определения типа ссылки, и все участвующие методы вывода являются ограничениями.
См. также:
  • Значения константных полей

DERIVATION_EXTENSION

static final int DERIVATION_EXTENSION
Если схема документа является схемой XML [Часть 1 схемы XML], эта константа представляет собой вывод по расширению.
Определяемый тип ссылки производен от другого определения типа путем расширения, если другое определение типа может быть достигнуто рекурсивно по свойству {определение базового типа} от определения типа ссылки, и по крайней мере один из участвующих методов вывода является расширением.
См. также:
  • Значения константных полей

DERIVATION_UNION

static final int DERIVATION_UNION
Если схема документа является схемой XML [Часть 1 схемы XML], эта константа представляет собой объединение, если участвуют простые типы.
Определение типа ссылки производно от другого определения типа путём объединения, если существуют два определения типов T1 и T2, такие что определение типа ссылки получено от T1 с помощью DERIVATION_RESTRICTION или DERIVATION_EXTENSION, T2 получено от другого определения типа по DERIVATION_RESTRICTION, T1 имеет {разновидность} объединение, и один из {определений типов членов} является T2. Обратите внимание, что T1 может быть таким же, как определение типа ссылки, а T2 может быть таким же, как другое определение типа.
См. также:
  • Значения константных полей

DERIVATION_LIST

static final int DERIVATION_LIST
Если схема документа является схемой XML [Часть 1 схемы XML], эта константа представляет собой список.
Определение типа ссылки производно от другого определения типа путём списка, если существуют два определения типов T1 и T2, такие что определение типа ссылки получено от T1 с помощью DERIVATION_RESTRICTION или DERIVATION_EXTENSION, T2 получено от другого определения типа по DERIVATION_RESTRICTION, T1 имеет {разновидность} список, а T2 является {определением типа элемента}. Обратите внимание, что T1 может быть таким же, как определение типа ссылки, а T2 может быть таким же, как другое определение типа.
См. также:
  • Значения константных полей

Подробное описание методов

getTypeName

String getTypeName()
Имя типа, объявленного для связанного элемента или атрибута, или null если неизвестно.

getTypeNamespace

String getTypeNamespace()
Пространство имен типа, объявленного для связанного элемента или атрибута, или null если у элемента нет объявления или если информация о пространстве имен недоступна.

isDerivedFrom

boolean isDerivedFrom(String typeNamespaceArg, String typeNameArg, int derivationMethod)
Этот метод возвращает, существует ли вывод между определением типа ссылки, т.е. TypeInfo по которому вызывается метод, и другим определением типа, т.е. тем, который передаётся в качестве параметров.
Параметры:
typeNamespaceArg - пространство имен другого определения типа.
typeNameArg - имя другого определения типа.
derivationMethod - тип вывода и условия, применимые между двумя типами, как описано в списке констант в этом интерфейсе.
Возвращает:
Если схема документа является DTD или со схемой не связан документ, этот метод всегда вернёт false . Если схема документа является схемой XML, метод вернёт true , если определение типа ссылки получено от другого определения типа в соответствии с параметром вывода. Если значение параметра 0 (никакой бит не установлен на 1 для параметра derivationMethod ), метод вернёт true , если другое определение типа может быть достигнуто рекурсивно с любой комбинацией {определение базового типа}, {определение типа элемента} или {определения типов членов} от определения типа ссылки.

© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.xml/org/w3c/dom/TypeInfo.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API