Spec-Zone.ru › OpenJDK 25

Интерфейс 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):

  • Если свойство [validity] существует И имеет значение "invalid" или "notKnown": свойства {target namespace} и {name} объявленного типа, если они доступны, в противном случае null.

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

  • Если свойство [validity] существует и имеет значение "valid":
    1. Если существует свойство [member type definition]:
      1. Если {name} не отсутствует, раскрываются свойства {name} и {target namespace} свойства [member type definition];
      2. В противном случае раскрываются пространство имён и локальное имя соответствующего имени анонимного типа.
    2. Если существует свойство [type definition]:
      1. Если {name} не отсутствует, раскрываются свойства {name} и {target namespace} свойства [type definition];
      2. В противном случае раскрываются пространство имён и локальное имя соответствующего имени анонимного типа.
    3. Если существует свойство [member type definition anonymous]:
      1. Если оно имеет значение false, раскрываются свойства [member type definition name] и [member type definition namespace];
      2. В противном случае раскрываются пространство имён и локальное имя соответствующего имени анонимного типа.
    4. Если существует свойство [type definition anonymous]:
      1. Если оно имеет значение false, раскрываются свойства [type definition name] и [type definition namespace];
      2. В противном случае раскрываются пространство имён и локальное имя соответствующего имени анонимного типа.

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

См. также Спецификацию объектной модели документа (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 Schema [XML Schema Part 1] , эта константа представляет производный тип, полученный посредством ограничения, если речь идёт о сложных типах, или ограничение, если речь идёт о простых типах.
Определение типа ссылки является производным от другого определения типа посредством ограничения, если другое определение типа совпадает с определением типа ссылки или если до другого определения типа можно рекурсивно добраться, следуя свойству {base type definition} от определения типа ссылки, и все задействованные методы вывода являются ограничениями.
См. также:
  • Значения константных полей

DERIVATION_EXTENSION

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

DERIVATION_UNION

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

DERIVATION_LIST

static final int DERIVATION_LIST
Если схема документа — XML Schema [XML Schema Part 1] , эта константа представляет список.
Определение типа ссылки является производным от другого определения типа посредством списка, если существуют два определения типов T1 и T2, такие что определение типа ссылки является производным от T1 посредством DERIVATION_RESTRICTION или DERIVATION_EXTENSION, T2 является производным от другого определения типа посредством DERIVATION_RESTRICTION, T1 имеет {variety} list, а T2 является {item type definition}. Обратите внимание, что 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 Schema, метод возвращает true, если определение типа ссылки является производным от другого определения типа согласно параметру вывода. Если значение параметра равно 0 (ни один бит не установлен в 1 для параметра derivationMethod), метод возвращает true, если до другого определения типа можно добраться из определения типа ссылки, рекурсивно переходя по любой комбинации свойств {base type definition}, {item type definition} или {member type definitions}.

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её дочерних компаний в США и других странах.
Авторское право © 1993, 2025, Oracle и/или её дочерние компании, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/java.xml/org/w3c/dom/TypeInfo.html

Spec-Zone.ru

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