|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public interface Attr extends Node
Attr интерфейс представляет атрибут в Element объект. Обычно допустимые значения для атрибута определяются в схеме, связанной с документом. Attr объекты наследовались Node интерфейс, но так как они не фактически дочерние узлы элемента, который они описывают, ДОМ, не считает их частью дерева документов. Таким образом, Node атрибуты parentNode, previousSibling, и nextSibling имейте a null значение для Attr объекты. ДОМ получает представление, что атрибуты являются свойствами элементов вместо того, чтобы иметь отдельные идентификационные данные от элементов, с которыми они связываются; это должно сделать более эффективным реализовать такие опции как атрибуты по умолчанию, связанные со всеми элементами данного типа. Кроме того, Attr узлы, возможно, не непосредственные дочерние элементы a DocumentFragment. Однако, они могут быть связаны с Element узлы содержатся в пределах a DocumentFragment. Короче говоря, пользователи и конструкторы ДОМА должны знать это Attr у узлов есть некоторые общие черты с другими объектами, наследовавшимися Node интерфейс, но они также довольно отличны.
Действующее значение атрибута определяется следующим образом: если этот атрибут был явно присвоен какое-либо значение, то значение является действующим значением атрибута; иначе, если есть объявление для этого атрибута, и то объявление включает значение по умолчанию, то то значение по умолчанию является действующим значением атрибута; иначе, атрибут не существует на этом элементе в модели структуры, пока это не было явно добавлено. Отметьте что Node.nodeValue атрибут на Attr экземпляр может также использоваться, чтобы получить строковую версию значения (й) атрибута.
Если атрибут не был явно задан значение в документе экземпляра, но обеспечил значение по умолчанию схемой, связанной с документом, узел атрибута будет создаваться с specified набор к false. Удаление узлов атрибута, для которых значение по умолчанию определяется в схеме, генерирует новый узел атрибута со значением по умолчанию и specified набор к false. Если проверка допустимости произошла, вызывая Document.normalizeDocument(), узлы атрибута с specified равняется false повторно вычисляются согласно значениям атрибута по умолчанию, обеспеченным схемой. Если никакое значение по умолчанию не является партнером с этим атрибутом в схеме, узел атрибута отбрасывается.
В XML, где значение атрибута может содержать ссылки на сущность, дочерние узлы Attr узел может быть также Text или EntityReference узлы (когда они используются; см. описание EntityReference для обсуждения).
ДОМ Кор представляет все значения атрибута как простые строки, даже если DTD или схема, связанная с документом, объявляют их некоторого определенного типа такой как маркирующийся.
Путем нормализация значения атрибута выполняется реализацией ДОМА, зависит от того, насколько реализация знает о схеме в использовании. Как правило, value и nodeValue атрибуты Attr узел первоначально возвращает нормализованное значение, данное синтаксическим анализатором. Это также имеет место после Document.normalizeDocument() вызывается (принятие, что правильные опции были установлены). Но это, возможно, не имеет место после мутации, независимо от того, выполняется ли мутация, устанавливая строковое значение непосредственно или изменяясь Attr дочерние узлы. В частности это - истина, когда включаются, учитывая, что они не представляются в ДОМЕ, и они воздействуют на нормализацию значения атрибута. С другой стороны, если реализация знает о схеме в использовании, когда значение атрибута изменяется, и это имеет различный тип чем CDATA, это может нормализовать это снова тогда. Это особенно верно, специализировал реализации ДОМА, такие как SVG реализации ДОМА, которые хранят значения атрибута во внутренней форме, отличающейся от строки.
Следующая таблица дает некоторые примеры отношений между значением атрибута в оригинале документа (проанализированный атрибут), значение как представлено в ДОМЕ, и сериализацией значения:
| Примеры | Проанализированное значение атрибута | Начальная буква Attr.value |
Сериализированное значение атрибута |
|---|---|---|---|
| Символьная ссылка |
"x²=5" |
"x²=5" |
"x²=5" |
| Встроенный символьный объект |
"y<6" |
"y<6" |
"y<6" |
| Литеральная новая строка между |
"x=5 y=6" |
"x=5 y=6" |
"x=5 y=6" |
| Нормализованная новая строка между |
"x=5 y=6" |
"x=5 y=6" |
"x=5 y=6" |
Объект e с литеральной новой строкой |
<!ENTITY e '... ...'> [...]> "x=5&e;y=6" |
Зависящий от Опций Реализации и Загрузки | Зависящий от Реализации и Загружают/Сохраняют Опции |
См. также .
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE| Модификатор и Тип | Метод и Описание |
|---|---|
Строка |
getName()
Возвращает имя этого атрибута.
|
Элемент |
getOwnerElement()
Element узел этот атрибут присоединен или null если этот атрибут не находится в использовании. |
TypeInfo |
getSchemaTypeInfo()
Информация о типе связалась с этим атрибутом.
|
boolean |
getSpecified()
True если этот атрибут был явно задан значение в документе экземпляра, false иначе. |
Строка |
getValue()
На извлечении значение атрибута возвращается как строка.
|
boolean |
isId()
Возвраты, как ли этот атрибут, известно, идентификатора типа (то есть.
|
void |
setValue(String value)
На извлечении значение атрибута возвращается как строка.
|
appendChild, cloneNode, compareDocumentPosition, getAttributes, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserDataString getName()
Node.localName отличается от null, этот атрибут является полностью определенным именем.boolean getSpecified()
True если этот атрибут был явно задан значение в документе экземпляра, false иначе. Если приложение, измененное значение этого узла атрибута (даже если это заканчивает тем, что имело то же самое значение как значение по умолчанию) тогда, это устанавливается в true. Реализация может обработать атрибуты со значениями по умолчанию из других схем так же, но приложения должны использовать Document.normalizeDocument() гарантировать эту информацию актуально.String getValue()
getAttribute на Element интерфейс. Text узел с непроанализированным содержанием строки, то есть любые символы, которые процессор XML распознал бы как разметка, вместо этого обрабатывается как обычный текст. См. также метод Element.setAttribute(). void setValue(String value) throws DOMException
getAttribute на Element интерфейс. Text узел с непроанализированным содержанием строки, то есть любые символы, которые процессор XML распознал бы как разметка, вместо этого обрабатывается как обычный текст. См. также метод Element.setAttribute(). DOMException - NO_MODIFICATION_ALLOWED_ERR: Повышенный, когда узел только для чтения.Element getOwnerElement()
Element узел этот атрибут присоединен или null если этот атрибут не находится в использовании.TypeInfo getSchemaTypeInfo()
Document.normalizeDocument(), schemaTypeInfo возможно, не надежно, если узел был перемещен.boolean isId()
ownerElement из этого атрибута может быть получен, используя метод Document.getElementById . Реализация могла использовать несколько способов определить, как ли узел атрибута, известно, содержит идентификатор: Document.normalizeDocument(), вклады набора данных, сформированный после валидации схемы (вклады PSVI) значения используются, чтобы определить, является ли этот атрибут определенным схемой атрибутом ID, используя определение в . Document.normalizeDocument(), инфонабор [определение типа] значение используется, чтобы определить, является ли этот атрибут определенным DTD атрибутом ID, используя определение в . Element.setIdAttribute(), Element.setIdAttributeNS(), или Element.setIdAttributeNode(), то есть это - определенный пользователем атрибут ID; Отметьте: платформа XPointer (см. раздел 3.2 в ) считает ДОМА определенным пользователем атрибутом ID, как являющимся частью внешне решительного определения ID XPointer.
Document.normalizeDocument(), все определенные пользователем атрибуты ID сбрасываются, и вся информация о ID узлов атрибута тогда переоцениваются в соответствии с используемой схемой. Как следствие, если Attr.schemaTypeInfo атрибут содержит тип ID, isId будет всегда возвращать true.
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
ЧЕРНОВАЯ земля-b92