Spec-Zone.ru › OpenJDK 24

Интерфейс 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 (post-schema-validation infoset):

  • Если свойство [действительность] существует И является "недействительным" или "неизвестным": используются свойства {пространство имен цели} и {имя} объявленного типа, если они доступны, иначе 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, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.xml/org/w3c/dom/TypeInfo.html

Spec-Zone.ru

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