Интерфейс 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 могут не предоставлять информацию о типе, если действительность не является действительной.
- Если свойство [действительность] существует и является "действительным":
- Если существует [определение типа члена]:
- Если {имя} не отсутствует, то экспонируются свойства {имя} и {пространство имен цели} свойства [определение типа члена];
- В противном случае экспонируются пространство имен и локальное имя соответствующего анонимного имени типа.
- Если существует свойство [определение типа]:
- Если {имя} не отсутствует, то экспонируются свойства {имя} и {пространство имен цели} свойства [определение типа];
- В противном случае экспонируются пространство имен и локальное имя соответствующего анонимного имени типа.
- Если существует свойство [анонимное определение типа члена]:
- Если оно ложно, то экспонируются свойства [имя определения типа члена] и [пространство имен определения типа члена];
- В противном случае экспонируются пространство имен и локальное имя соответствующего анонимного имени типа.
- Если существует свойство [анонимное определение типа]:
- Если оно ложно, то экспонируются свойства [имя определения типа] и [пространство имен определения типа];
- В противном случае экспонируются пространство имен и локальное имя соответствующего анонимного имени типа.
- Если существует [определение типа члена]:
Примечание: Другие языки схем находятся вне сферы действия 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 |
Этот метод возвращает, есть ли производная между определением типа ссылки, т.е. TypeInfo, к которому применяется метод, и другим определением типа, т.е. тем, который передан в качестве параметров. |
Подробное описание полей
DERIVATION_RESTRICTION
static final int DERIVATION_RESTRICTION
Определение типа ссылки выводится по ограничению из другого определения типа, если другое определение типа такое же, как и определение типа ссылки, или если другое определение типа может быть достигнуто рекурсивно, следуя свойству {определение базового типа} от определения типа ссылки, и все используемые методы вывода являются ограничениями.
- См. также:
DERIVATION_EXTENSION
static final int DERIVATION_EXTENSION
Определение типа ссылки выводится по расширению из другого определения типа, если другое определение типа может быть достигнуто рекурсивно, следуя свойству {определение базового типа} от определения типа ссылки, и по меньшей мере один из используемых методов вывода является расширением.
- См. также:
DERIVATION_UNION
static final int DERIVATION_UNION
Определение типа ссылки выводится по объединению из другого определения типа, если существуют два определения типов T1 и T2, такие как определение типа ссылки выводится из T1 по
DERIVATION_RESTRICTION или DERIVATION_EXTENSION, T2 выводится из другого определения типа по DERIVATION_RESTRICTION, T1 имеет {разновидность} объединение, а одним из {определений типов членов} является T2. Обратите внимание, что T1 может быть таким же, как и определение типа ссылки, а T2 может быть таким же, как и другое определение типа.- См. также:
DERIVATION_LIST
static final int DERIVATION_LIST
Определение типа ссылки выводится по списку из другого определения типа, если существуют два определения типов 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