Руководство по XML
- Предыдущая страница Разное по XSD
- Следующая страница Типы узлов DOM
Руководство по XML
节点类型
下面的表格列出了不同的 W3C 节点类型,以及它们可拥有的子元素:
节点类型 | Description | 子元素 |
---|---|---|
Document | 表示整个文档(DOM 树的根节点) |
|
DocumentFragment | 表示轻量级的 Document 对象,其中容纳了一部分文档。 |
|
DocumentType | 向为文档定义的实体提供接口。 | None |
ProcessingInstruction | 表示处理指令。 | None |
EntityReference | 表示实体引用元素。 |
|
Element | 表示 element(元素)元素 |
|
Attr | 表示属性。 |
|
Text | 表示元素或属性中的文本内容。 | None |
CDATASection | 表示文档中的 CDATA 区段(文本不会被解析器解析) | None |
Comment | 表示注释。 | None |
Entity | 表示实体。 |
|
Notation | 表示在 DTD 中声明的符号。 | None |
节点类型 - 所返回的值
下面的表格列出了对每个节点类型来说,nodeName 和 nodeValue 属性可返回的值:
节点类型 | nodeName 的返回值 | nodeValue 的返回值 |
---|---|---|
Document | #document | null |
DocumentFragment | #document fragment | null |
DocumentType | doctype 名称 | null |
EntityReference | 实体引用名称 | null |
Element | element name | null |
Attr | 属性名称 | 属性值 |
ProcessingInstruction | target | 节点的内容 |
Comment | #comment | 注释文本 |
Text | #text | Содержимое узла |
CDATASection | #cdata-section | Содержимое узла |
Entity | Имя сущности | null |
Notation | Символьное имя | null |
NodeTypes - именованные константы
NodeType | Named Constant |
---|---|
1 | ELEMENT_NODE |
2 | ATTRIBUTE_NODE |
3 | TEXT_NODE |
4 | CDATA_SECTION_NODE |
5 | ENTITY_REFERENCE_NODE |
6 | ENTITY_NODE |
7 | PROCESSING_INSTRUCTION_NODE |
8 | COMMENT_NODE |
9 | DOCUMENT_NODE |
10 | DOCUMENT_TYPE_NODE |
11 | DOCUMENT_FRAGMENT_NODE |
12 | NOTATION_NODE |
Объект Node в XML DOM
Атрибуты объекта Node
Свойства | Description |
---|---|
attributes | NamedNodeMap свойств этого узла (если этот узел является элементом). |
baseURI | Возврат абсолютного базового URI узла. |
childNodes | Возврат NodeList подузлов узла. |
firstChild | Возврат первого подузла узла. |
lastChild | Возврат последнего подузла узла. |
nextSibling | Возврат следующего по порядку同级 узла после узла. |
nodeName | Вернуть имя узла, в зависимости от его типа. |
nodeType | Вернуть тип узла. |
nodeValue | Установить или вернуть значение узла, в зависимости от его типа. |
ownerDocument | Возврат корневого элемента (объекта document). |
parentNode | Возврат родительского узла. |
prefix | Установить или вернуть префикс пространства имен узла. |
previousSibling | Возврат следующего по порядку同级 узла перед узлом. |
textContent | Установить или вернуть текстовое содержимое узла и его потомков. |
Методы объекта Node
Метод | Description |
---|---|
appendChild() | Добавить новый подузел в конец списка подузлов узла. |
cloneNode() | Клонировать узел. |
compareDocumentPosition() | Сравнение положения двух узлов в DOM-структуре (документе). |
getFeature(feature,version) | Возвратить DOM-объект, который реализует专用 API для указанных свойств и версий. |
getUserData(key) |
Возврат объекта, связанного с ключом на узле. Сначала необходимо установить объект на этом узле, используя setUserData с тем же ключом. |
hasAttributes() | Возврат true, если заданный узел имеет какие-либо атрибуты, в противном случае возврат false. |
hasChildNodes() | Возврат true, если заданный узел имеет подузлы, в противном случае возврат false. |
insertBefore() | Вставить новый подузел перед заданным подузлом. |
isDefaultNamespace(URI) | Возврат того, является ли заданный URI пространства имен по умолчанию. |
isEqualNode() | Проверяет, равны ли два узла. |
isSameNode() | Проверка того, являются ли два узла одним и тем же узлом. |
lookupNamespaceURI() | Возврат URI пространства имен, связанного с заданным префиксом. |
lookupPrefix() | Возврат префикса, связанного с заданным URI пространства имен. |
normalize() | Объединить相邻шие текстовые узлы и удалить пустые текстовые узлы. |
removeChild() | Удалить (и вернуть) заданный подузел текущего узла. |
replaceChild() | Заменить подузел новым узлом. |
setUserData(key,data,handler) | Связать объект с ключом на узле. |
Объект NodeList в XML DOM
Атрибуты объекта NodeList
Свойства | Description |
---|---|
length | Возврат количества узлов в списке NodeList |
Методы объекта NodeList
Метод | Description |
---|---|
item() | Возврат узла в списке узлов по заданному индексу. |
Объект NamedNodeMap в XML DOM
Свойства объекта NamedNodeMap
Свойства | Description |
---|---|
length | Вернуть количество узлов в списке. |
Методы объекта NamedNodeMap
Метод | Description |
---|---|
getNamedItem() | Вернуть узел с указанным именем. |
getNamedItemNS() | Вернуть узел с указанным именем и пространством имен. |
item() | Вернуть узел по указанному индексу. |
removeNamedItem() | Удалить узел с указанным именем. |
removeNamedItemNS() | Удалить узел с указанным именем и пространством имен. |
setNamedItem() | Установить указанный узел (по имени). |
setNamedItemNS() | Установить указанный узел (по имени и пространству имен). |
Объект Document в XML DOM
Свойства объекта Document
Свойства | Description |
---|---|
childNodes | Вернуть NodeList подузлов документа. |
doctype | Вернуть декларацию типа документа, связанную с документом. |
documentElement | Вернуть корневой узел документа. |
documentURI | Установить или вернуть положение документа. |
domConfig | Вернуть конфигурацию, используемую при вызове normalizeDocument(). |
firstChild | Вернуть первый подузел документа. |
implementation | Вернуть объект DOMImplementation, обрабатывающий этот документ. |
inputEncoding | Вернуть способ кодирования, используемый документом (во время анализа). |
lastChild | Вернуть последний подузел документа. |
nodeName | Вернуть имя узла (в зависимости от его типа). |
nodeType | Вернуть тип узла. |
nodeValue | Установить или вернуть значение узла (в зависимости от его типа). |
xmlEncoding | Вернуть способ кодирования XML документа. |
xmlStandalone | Установить или вернуть, является ли документ независимым. |
xmlVersion | Установить или вернуть версию XML документа. |
Методы объекта Document
Метод | Description |
---|---|
adoptNode() | Принять узел из другого документа в текущий документ и вернуть принятый узел. |
createAttribute() | Создать узел атрибута с указанным именем и вернуть новый объект Attr. |
createAttributeNS() | Создать узел атрибута с указанным именем и пространством имен, и вернуть новый объект Attr. |
createCDATASection() | Создать узел раздела CDATA. |
createComment() | Создать узел комментария. |
createDocumentFragment() | Создать пустой объект DocumentFragment и вернуть его. |
createElement() | Создание элемента. |
createElementNS() | Создание элемента с указанным пространством имен. |
createEntityReference() | Создание объекта EntityReference и возврат этого объекта. |
createProcessingInstruction() | Создание объекта ProcessingInstruction и возврат этого объекта. |
createTextNode() | Создание узла текста. |
getElementById() | Возврат элемента с id-атрибутом, имеющим заданное значение. |
getElementsByTagName() | Возврат NodeList всех элементов с указанным именем. |
getElementsByTagNameNS() | Возврат NodeList всех элементов с указанным именем и пространством имен. |
importNode() | Импорт узла из другого документа в этот документ. |
normalizeDocument() | |
renameNode() | Переименовывание узла элемента или атрибута. |
Свойства объекта DocumentType
Каждый документ имеет атрибут DOCTYPE, значение которого равно null или объекту DocumentType.
Объект DocumentType предоставляет интерфейс для определённых сущностей XML-документа.
Свойства | Description |
---|---|
name | Возврат названия DTD. |
publicId | Возврат общественного идентификатора DTD. |
systemId | Возврат системного идентификатора внешнего DTD. |
Методы объекта DocumentImplementation
Объект DOMImplementation выполняет операции, независимые от модели документа.
Метод | Description |
---|---|
createDocument() | Создание нового DOM Document объекта с указанным типом документа. |
createDocumentType() | Создание пустого узла DocumentType. |
getFeature() | Возврат объекта API, реализующего указанные характеристики и версии (если он существует). |
hasFeature() | Проверка того, реализует ли DOM-реализация определенные характеристики и версии. |
Свойства объекта ProcessingInstruction
Объект ProcessingInstruction представляет обработчик.
Обработчик используется в качестве метода для сохранения информации, специфичной для обработчика, в тексте XML-документа.
Свойства | Description |
---|---|
data | Установка или возврат содержимого обработчика. |
target | Возврат цели обработчика. |
Объект Element в XML DOM
Свойства объекта Element
Свойства | Description |
---|---|
attributes | Возврат свойств элемента в виде NamedNodeMap. |
baseURI | Возвратить абсолютный базовый URI элемента. |
childNodes | Возвратить NodeList подузлов элемента. |
firstChild | Возвратить первый подэлемент элемента. |
lastChild | Возвратить последний подэлемент элемента. |
localName | Возвратить локальную часть имени элемента. |
namespaceURI | Возвратить URI пространства имен элемента. |
nextSibling | Возвратить узел, который непосредственно следует данному элементу. |
nodeName | Возвратить имя узла, в зависимости от его типа. |
nodeType | Вернуть тип узла. |
ownerDocument | Возвратить корневой элемент (документ) элемента. |
parentNode | Возвратить родительский узел элемента. |
prefix | Установить или вернуть префикс пространства имен элемента. |
previousSibling | Возвратить узел, который непосредственно предшествует данному элементу. |
schemaTypeInfo | Возвратить тип информации, связанной с элементом. |
tagName | Возвратить имя элемента. |
textContent | Установить или вернуть текстовое содержимое элемента и всех его потомков. |
Методы объекта Element
Метод | Description |
---|---|
appendChild() | Добавить новый подузел в конец списка подузлов этого узла. |
cloneNode() | Клонировать узел. |
compareDocumentPosition() | Сравнить документные позиции двух узлов. |
getAttribute() | Возвратить значение атрибута. |
getAttributeNS() | Возвратить значение атрибута (с указанным пространством имен). |
getAttributeNode() | Возвратить узел атрибута в виде объекта Attribute. |
getAttributeNodeNS() | Возвратить узел атрибута (с указанным пространством имен) в виде объекта Attribute. |
getElementsByTagName() | Возвратить NodeList узлов элементов, соответствующих элементу с указанным именем, включая все его подэлементы. |
getElementsByTagNameNS() | Возвратить NodeList узлов элементов, соответствующих элементу с указанным именем и пространством имен, включая все его подэлементы. |
getFeature(feature,version) | Возвратить DOM-объект, который реализует专用 API для указанных свойств и версий. |
getUserData(key) | Возвратить объект, связанный с ключом на этом узле. Сначала объект необходимо установить на этом узле, используя вызов setUserData с тем же ключом. |
hasAttribute() | Возвратить, имеет ли элемент атрибут с указанным именем. |
hasAttributeNS() | Возвратить, имеет ли элемент атрибут с указанным именем и пространством имен. |
hasAttributes() | Возвратить, имеет ли элемент атрибуты. |
hasChildNodes() | Возвратить, имеет ли элемент подэлементы. |
insertBefore() | Вставляет новый подузел перед существующими подузлами. |
isDefaultNamespace(URI) | Возвращает, является ли заданный namespaceURI базовым. |
isEqualNode() | Проверяет, равны ли два узла. |
lookupNamespaceURI() | Возвращает URI пространства имен, соответствующий заданному префиксу. |
lookupPrefix() | Возвращает префикс, соответствующий заданному URI пространства имен. |
normalize() |
Метод normalize() удаляет пустые узлы текста и объединяет смежные узлы текста. Регуляризирует все узлы текста под элементом (включая атрибуты), где текст разделен только структурой (например, элементами, комментариями, директивами обработки, разделами CDATA и ссылками на сущности). То есть, не существует смежных узлов текста, также как и пустых узлов текста. |
removeAttribute() | Удаляет指定的 свойство. |
removeAttributeNS() | Удаляет指定的 свойство (с命名ным пространством). |
removeAttributeNode() | Удаляет指定的 узел свойства. |
removeChild() | Удаляет подузел. |
replaceChild() | Заменяет подузел. |
setUserData(key,data,handler) | Связывает объект с ключом на элементе. |
setAttribute() | Добавляет новый свойство. |
setAttributeNS() | Добавляет новый свойство (с命名ным пространством). |
setAttributeNode() | Добавляет новый узел свойства. |
setAttributeNodeNS(attrnode) | Добавляет новый узел свойства (с命名ным пространством). |
setIdAttribute(name,isId) | Если свойство isId объекта Attribute равно true, то этот метод объявляет指定的 свойство как пользовательский确定的 идентификатор. |
setIdAttributeNS(uri,name,isId) | Если свойство isId объекта Attribute равно true, то этот метод объявляет指定的 свойство (с命名ным пространством) как пользовательский确定的 идентификатор. |
setIdAttributeNode(idAttr,isId) | Если свойство isId объекта Attribute равно true, то этот метод объявляет指定的 свойство как пользовательский确定的 идентификатор. |
Свойства объекта Attr
Свойства | Description |
---|---|
baseURI | Возвращает абсолютный базовый URI свойства. |
isId | Если свойство является типа id, то возвращает true,否则 false. |
localName | Возвращает локальную часть имени свойства. |
name | Возвращает имя свойства. |
namespaceURI | Возвращает URI пространства имен свойства. |
nodeName | Вернуть имя узла, в зависимости от его типа. |
nodeType | Вернуть тип узла. |
nodeValue | Установить или вернуть значение узла, в зависимости от его типа. |
ownerDocument | Вернуть корневой элемент (документ) атрибута. |
ownerElement | Вернуть элемент, к которому относится атрибут. |
prefix | Установить или вернуть префикс命名ного пространства атрибута. |
schemaTypeInfo | Вернуть тип информации, связанный с этим атрибутом. |
specified |
Если значение атрибута было установлено в документе, то вернуть true; Если значение атрибута является defaultValue в DTD/Schema, то вернуть false. |
textContent | Установить или вернуть текстовое содержимое атрибута. |
value | Установить или вернуть значение атрибута. |
Объект Text в XML DOM
Атрибуты объекта Text
Свойства | Description |
---|---|
data | Установить или вернуть текст элемента или属性的. |
isElementContentWhitespace | Проверить, содержит ли текстовый узел пробельные символы. |
length | Вернуть длину текста элемента или属性的. |
wholeText | Вернуть все текстовые узлы, смежные с этим узлом, объединенные по порядку документа. |
Методы объекта Text
Метод | Description |
---|---|
appendData() | Присоединить данные к узлу. |
deleteData() | Удалить данные из узла. |
insertData() | Вставить данные в узел. |
replaceData() | Заменить данные в узле. |
replaceWholeText(text) | Заменить текст узла и всех смежных текстовых узлов указанным текстом. |
splitText() | Разделить текстовый узел на два. |
substringData() | Извлечь данные из узла. |
Объект CDATASection в XML DOM
Атрибуты объекта CDATASection
Свойства | Description |
---|---|
data | Установить или вернуть текст узла. |
length | Вернуть длину CDATA части. |
Методы объекта CDATASection
Метод | Description |
---|---|
appendData() | Присоединить данные к узлу. |
deleteData() | Удалить данные из узла. |
insertData() | Вставить данные в узел. |
replaceData() | Заменить данные в узле. |
splitText() | Разделить узел CDATA на два узла. |
substringData() | Извлечь данные из узла. |
Объект Comment в XML DOM
Атрибуты объекта Comment
Свойства | Description |
---|---|
data | Установить или вернуть текст узла. |
length | Вернуть длину текста узла. |
Методы объекта Comment
Метод | Description |
---|---|
appendData() | Присоединить данные к узлу. |
deleteData() | Удалить данные из узла. |
insertData() | Вставить данные в узел. |
replaceData() | Заменить данные в узле. |
substringData() | Извлечь данные из узла. |
Объект XMLHttpRequest в XML DOM
Методы объекта XMLHttpRequest
Метод | Description |
---|---|
abort() | Отменить текущий запрос. |
getAllResponseHeaders() | Вернуть информацию заголовков. |
getResponseHeader() | Вернуть значение指定的 HTTP заголовка ответа. |
open(method,url,async,uname,pswd) |
Указать тип запроса, URL, должны ли запросы обрабатываться асинхронно, а также другие дополнительные свойства запроса.
|
send(string) |
Отправляет запрос на сервер. string: Используется только для запросов POST |
setRequestHeader() | Добавляет пары тег/значение в заголовки, которые будут отправлены. |
Свойства объекта XMLHttpRequest
Свойства | Description |
---|---|
onreadystatechange | Хранит функцию (или имя функции), которая автоматически вызывается при каждом изменении свойства readyState. |
readyState |
Сохраняет состояние XMLHttpRequest. Изменения от 0 до 4:
|
responseText | Возвращает данные ответа в виде строки. |
responseXML | Возвращает данные ответа в виде XML-данных. |
status | Возвращает номер состояния (например, "404" означает "Не найдено", или "200" означает "OK"). |
statusText | Возвращает текст состояния (например, "Не найдено" или "OK"). |
Элементы XSD
XSLT элемент | Объяснение |
---|---|
all | Определяет, что подэлементы могут出现 в любом порядке, и каждый подэлемент может появляться нулевое или одно раза. |
annotation | Элемент annotation является顶层 элементом, который определяет комментарии схемы. |
any | Позволяет создателю расширять XML-документ с помощью элементов, не определенных схемой. |
anyAttribute | Позволяет создателю расширять XML-документ с помощью атрибутов, не определенных схемой. |
appInfo | Указание информации, которую приложение должно использовать в элементе annotation. |
Apply templates to the current element or its child elements. | Определение атрибута. |
attributeGroup | Определение группы атрибутов, используемых в определении сложного типа. |
choice | Разрешает включение только одного элемента в содержимое, указанное в объявлении <choice>. |
complexContent | Определение расширения или ограничения сложного типа (включая смешанное содержимое или только элементы). |
complexType | Определение сложного типа. |
documentation | Определение текстовых комментариев в схеме. |
element | Определение элемента. |
extension | Расширение существующих элементов simpleType или complexType. |
field | Указание XPath-выражения, которое определяет значение для использования в определении ограничения идентификатора. |
group | Определяет группу элементов, используемых в определении сложного типа. |
import | Добавление нескольких схем с различными целевыми пространствами имен в документ. |
include | Добавление нескольких схем с одним целевым пространством имен в документ. |
key | Указание того, что значение атрибута или элемента (или kombinatsiya znaceniya atributa ili elementa) должно быть ключом в указанном диапазоне. |
keyref | Указание того, что значение атрибута или элемента (или kombinatsiya znaceniya atributa ili elementa) должно соответствовать значению указанного ключа или уникального элемента. |
list | Определяет простой тип как список значений指定的 типа данных. |
notation | Описание формата данных, не являющихся XML, в документе XML. |
redefine | Передефинирует простые и сложные типы, группы и группы атрибутов, полученные из внешних файлов схемы. |
restriction | Определяет ограничения для simpleType, simpleContent или complexContent. |
schema | Определяет корневой элемент схемы. |
selector | Указание XPath-выражения, которое выбирает группу элементов по ограничению. |
sequence | Требует, чтобы подэлементы появлялись в порядке. Каждый подэлемент может появляться от 0 до любого количества. |
simpleContent | Содержит расширение или ограничение элементов complexType и не содержит никаких элементов. |
simpleType | Определяет простой тип, который устанавливает ограничения и информацию о значениях атрибутов или элементов, содержащих только текст. |
union | Определяет множество, определенное несколькими simpleType. |
unique | Указание того, что значение атрибута или элемента (или kombinatsiya znaceniya atributa ili elementa) должно быть уникальным в указанном диапазоне. |
Ограничения типа данных XSD
Ограничение | Description |
---|---|
enumeration | Определяет список приемлемых значений. |
fractionDigits | Определяет максимальное количество знаков после запятой. Оно должно быть больше или равно 0. |
length | Определяет точное количество разрешенных символов или элементов списка. Оно должно быть больше или равно 0. |
maxExclusive | Определяет верхний предел значений. Допустимые значения должны быть меньше этого значения. |
maxInclusive | Определяет верхний предел значений. Допустимые значения должны быть меньше или равны этому значению. |
maxLength | Определяет максимальное количество разрешенных символов или элементов списка. Оно должно быть больше или равно 0. |
minExclusive | Определяет нижний предел значений. Допустимые значения должны быть больше этого значения. |
minInclusive | Определяет нижний предел значений. Допустимые значения должны быть больше или равны этому значению. |
minLength | Определение минимального числа разрешенных символов или элементов списка. Оно должно быть больше или равно 0. |
Определение минимального числа разрешенных символов или элементов списка. Оно должно быть больше или равно 0. | pattern |
Определение точного последовательного набора разрешенных символов. | totalDigits |
Определение точного числа разрешенных арабских цифр. Оно должно быть больше 0. | whiteSpace |
Определение обработки пробельных символов (заголовки, каретки, пробелы и табуляторы).
XSLT элемент | Description |
---|---|
элемент | apply-imports |
Применение правил шаблонов из импортированной таблицы стилей. | apply-templates |
Apply templates to the current element or its child elements. | Добавление атрибута к элементу. |
attribute-set | Создание именованного набора атрибутов. |
call-template | Вызов указанного шаблона. |
choose | Использование вместе с <when> и <otherwise> для выражения многословных условий. |
comment | Создание узла комментариев в дереве результатов. |
copy | Создание копии текущего узла (без подузлов и атрибутов). |
copy-of | Создание копии текущего узла (с подузлами и атрибутами). |
decimal-format | Определение символов и знаков, используемых при преобразовании чисел в строки с помощью функции format-number(). |
element | Создание элемента узла в выводимом документе. |
fallback | Определение альтернативного кода для выполнения, если процессор не поддерживает某个 элемент XSLT. |
for-each | Обработка каждого узла в указанном наборе узлов. |
if | Включение шаблона, который применяется только при выполнении определенного условия. |
import | Использование для вливания содержимого одной таблицы стилей в другую. |
include | Включение содержимого одной таблицы стилей в другую. |
key | Декларация именованного ключа. |
message | Запись сообщения в вывод (для отчетов об ошибках). |
namespace-alias | Замена пространства имен в таблице стилей на различное пространство имен в выводе. |
number | Определение целого числа местоположения текущего узла и форматирование чисел. |
otherwise | Определение mặc định hành động của yếu tố <choose>. |
output | Определение формата выводимого документа. |
param | Декларация локального или глобального параметра. |
preserve-space | Использование для определения элементов, сохраняющих пробельные символы. |
processing-instruction | Создание узла обработки инструкций. |
sort | Сортировка результатов. |
strip-space | Определение элементов, из которых должны быть удалены пробельные символы. |
stylesheet | Определяет корневой элемент стиля. |
template | Правила, применяемые при совпадении указанного узла. |
text | Генерирует текстовый узел через стиль. |
transform | Определяет корневой элемент стиля. |
value-of | Извлекает значение выбранного узла. |
variable | Объявляет локальные или глобальные переменные. |
when | Определяет действие элемента <choose>. |
with-param | Определяет значение параметра, который должен быть传入 шаблону. |
Функции XSLT, XPath и XQuery
- Доступ
- Ошибки и отладка
- Числовое
- Строка
- AnyURI
- Логическое
- Длительность/Дата/Время
- QName
- Узел
- Серия
- Контекст
- Внутренние функции
Функции доступа
Name | Объяснение |
---|---|
fn:node-name(node) | Возвращает имя узла параметра. |
fn:nilled(node) | Возвращает булево значение, указывающее, отказался ли от параметра узел. |
fn:data(item.item,...) | Принимает последовательность элементов и возвращает последовательность атомарных значений. |
|
Возвращает значение атрибута base-uri текущего узла или заданного узла. |
fn:document-uri(node) | Возвращает значение атрибута document-uri заданного узла. |
Функции ошибок и отладки
Name | Объяснение |
---|---|
|
Пример: error(fn:QName('http://example.com/test', 'err:toohigh'), 'Error: Price is too high') Результат: Возвращает во внешнюю среду http://example.com/test#toohigh и строку "Error: Price is too high". |
fn:trace(value,label) | Используется для отладки запросов. |
Функции чисел
Name | Объяснение |
---|---|
fn:number(arg) |
Возвращает числовое значение параметра. Параметр может быть булево значение, строка или набор узлов. Пример: number('100') Результат: 100 |
fn:abs(num) |
Возвращает абсолютное значение параметра. Пример: abs(3.14) Результат: 3.14 Пример: abs(-3.14) Результат: 3.14 |
fn:ceiling(num) |
Возвращает наименьшую целое число, большее чем параметр num. Пример: ceiling(3.14) Результат: 4 |
fn:floor(num) |
Возвращает наибольшее целое число, не превышающее параметр num. Пример: floor(3.14) Результат: 3 |
fn:round(num) |
Округляет параметр num до ближайшего целого числа. Пример: round(3.14) Результат: 3 |
fn:round-half-to-even() |
Пример: round-half-to-even(0.5) Результат: 0 Пример: round-half-to-even(1.5) Результат: 2 Пример: round-half-to-even(2.5) Результат: 2 |
Функции для работы со строками
Name | Объяснение |
---|---|
fn:string(арг) |
Возвращает строковое значение аргумента. Аргумент может быть числом, логической величиной или набором узлов. Пример: string(314) Результат: "314" |
fn:codepoints-to-string(int, int, ...) |
Возвращает строку по последовательности кодовых точек. Пример: codepoints-to-string(84, 104, 233, 114, 232, 115, 101) Результат: 'Thérèse' |
fn:string-to-codepoints(строка) |
Возвращает последовательность кодовых точек по строке. Пример: string-to-codepoints("Thérèse") Результат: 84, 104, 233, 114, 232, 115, 101 |
fn:codepoint-equal(comp1, comp2) | В зависимости от сравнения по Unicode кодовым точкам, если значение comp1 равно значению comp2, то возвращается true. В противном случае возвращается false. (http://www.w3.org/2005/02/xpath-functions/collation/codepoint) |
|
Если comp1 меньше comp2, то возвращается -1. Если comp1 равно comp2, то возвращается 0. Если comp1 больше comp2, то возвращается 1. (В зависимости от используемого правила сравнения). Пример: compare('ghi', 'ghi') Результат: 0 |
fn:concat(строка, строка, ...) |
Возвращает склеение строк. Пример: concat('XPath ', 'is ', 'FUN!') Результат: 'XPath is FUN!' |
fn:склеить((строка, строка, ...), разделитель) |
Использует параметр sep в качестве разделителя для возвращает скомбинированную строку из string параметров. Пример: string-join(('We', 'are', 'having', 'fun!'), ' ') Результат: ' We are having fun! ' Пример: string-join(('We', 'are', 'having', 'fun!')) Результат: 'Wearehavingfun!' Пример: string-join((), 'sep') Результат: '' |
|
Возвращает подстроку заданной длины, начинающуюся с позиции start. Индекс первого символа - 1. Если параметр len пропущен, возвращает подстроку от позиции start до конца строки. Пример: substring('Beatles',1,4) Результат: 'Beat' Пример: substring('Beatles',2) Результат: 'eatles' |
|
Возвращает длину заданной строки. Если параметр string отсутствует, возвращает длину значения строки текущего узла. Пример: string-length('Beatles') Результат: 7 |
|
Удаляет пробельные символы в начале и конце заданной строки, заменяет все последовательности пробельных символов внутри на один и возвращает результат. Если параметр string отсутствует, обрабатывается текущий узел. Пример: normalize-space(' The XML ') Результат: 'The XML' |
fn:normalize-unicode() | Выполняет унификацию Unicode. |
fn:upper-case(string) |
Преобразует параметр string в заглавный регистр. Пример: upper-case('The XML') Результат: 'THE XML' |
fn:lower-case(string) |
Преобразует параметр string в строчный регистр. Пример: lower-case('The XML') Результат: 'the xml' |
fn:translate(string1,string2,string3) |
Заменяет string2 в string1 на string3. Пример: translate('12:30','30','45') Результат: '12:45' Пример: translate('12:30','03','54') Результат: '12:45' Пример: translate('12:30','0123','abcd') Результат: 'bc:da' |
fn:escape-uri(stringURI,esc-res) |
Пример: escape-uri("http://example.com/test#car", true()) Результат: "http%3A%2F%2Fexample.com%2Ftest#car" Пример: escape-uri("http://example.com/test#car", false()) Результат: "http://example.com/test#car" Пример: escape-uri ("http://example.com/~bébé", false()) Результат: "http://example.com/~b%C3%A9b%C3%A9" |
fn:contains(string1,string2) |
Если string1 содержит string2, то возвращает true, в противном случае возвращает false. Пример: contains('XML','XM') Результат: true |
fn:starts-with(string1,string2) |
Если string1 начинается с string2, то возвращает true, в противном случае возвращает false. Пример: starts-with('XML','X') Результат: true |
fn:ends-with(string1,string2) |
Если string1 заканчивается на string2, то возвращает true, в противном случае возвращает false. Пример: ends-with('XML','X') результат: false |
fn:substring-before(string1,string2) |
Возвращает подстроку, которая предшествует出现过的一次 string2 в string1. Пример: substring-before('12/10','/') Результат: '12' |
fn:substring-after(string1,string2) |
Возвращает подстроку, которая следует за出现过的一次 string2 в string1. Пример: substring-after('12/10','/') Результат: '10' |
fn:matches(string,pattern) |
Возвращает true, если параметр string соответствует указанному шаблону, в противном случае возвращает false. Пример: matches("Merano", "ran") Результат: true |
fn:replace(string,pattern,replace) |
Заменяет指定的 шаблон на параметр replace и возвращает результат. Пример: replace("Bella Italia", "l", "*") Результат: 'Be**a Ita*ia' Пример: replace("Bella Italia", "l", "") Результат: 'Bea Itaia' |
fn:tokenize(string,pattern) |
Пример: tokenize("XPath is fun", "\s+") Результат: ("XPath", "is", "fun") |
Функции для anyURI
Name | Объяснение |
---|---|
fn:resolve-uri(relative,base) |
Функции, связанные с булевыми значениями
Name | Объяснение |
---|---|
fn:boolean(arg) | Возвращает булево значение для числа, строки или набора узлов. |
fn:not(arg) |
Сначала параметр还原ится в булево значение с помощью функции boolean(). Возвращает true, если булево значение false, в противном случае возвращает true. Пример: not(true()) результат: false |
fn:true() |
Возвращает булево значение true. Пример: true() Результат: true |
fn:false() |
Возвращает булево значение false. Пример: false() результат: false |
Функции, связанные с продолжительностью, датой и временем
Функция извлечения компонентов даты, времени и продолжительности
Name | Объяснение |
---|---|
fn:dateTime(date,time) | Преобразует параметр в дату и время. |
fn:years-from-duration(datetimedur) | Возвращает целое значение года параметра, выраженное стандартной лексической формой. |
fn:months-from-duration(datetimedur) | Возвращает целое значение месяца параметра, выраженное стандартной лексической формой. |
fn:days-from-duration(datetimedur) | Возвращает целое значение дня параметра, выраженное стандартной лексической формой. |
fn:hours-from-duration(datetimedur) | Возвращает целое число, представляющее часовую часть значения, представленного в стандартной грамматической форме. |
fn:minutes-from-duration(datetimedur) | Возвращает целое число, представляющее минутную часть значения, представленного в стандартной грамматической форме. |
fn:seconds-from-duration(datetimedur) | Возвращает десятичное значение минутной части значения, представленного в стандартной грамматической форме. |
fn:year-from-dateTime(datetime) |
Возвращает целое число, представляющее годовую часть локального значения аргумента. Пример: year-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Результат: 2005 |
fn:month-from-dateTime(datetime) |
Возвращает целое число, представляющее месячную часть локального значения аргумента. Пример: month-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Результат: 01 |
fn:day-from-dateTime(datetime) |
Возвращает целое число, представляющее дневную часть локального значения аргумента. Пример: day-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Результат: 10 |
fn:hours-from-dateTime(datetime) |
Возвращает целое число, представляющее часовую часть локального значения аргумента. Пример: hours-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Результат: 12 |
fn:minutes-from-dateTime(datetime) |
Возвращает целое число, представляющее минутную часть локального значения аргумента. Пример: minutes-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Результат: 30 |
fn:seconds-from-dateTime(datetime) |
Возвращает десятичное значение секундной части локального значения аргумента. Пример: seconds-from-dateTime(xs:dateTime("2005-01-10T12:30:00-04:10")) Результат: 0 |
fn:timezone-from-dateTime(datetime) | Возвращает часть времени зоны параметра, если она существует. |
fn:year-from-date(date) |
Возвращает целое число, представляющее год в локальном значении аргумента. Пример: year-from-date(xs:date("2005-04-23")) Результат: 2005 |
fn:month-from-date(date) |
Возвращает целое число, представляющее часть месяцев в локальном значении параметра. Пример: month-from-date(xs:date("2005-04-23")) Результат: 4 |
fn:day-from-date(date) |
Возвращает целое число, представляющее часть дней в локальном значении параметра. Пример: day-from-date(xs:date("2005-04-23")) Результат: 23 |
fn:timezone-from-date(date) | Возвращает часть времени зоны параметра, если она существует. |
fn:hours-from-time(time) |
Возвращает целое число, представляющее часть часов в локальном значении параметра. Пример: hours-from-time(xs:time("10:22:00")) Результат: 10 |
fn:minutes-from-time(time) |
Возвращает целое число, представляющее часть минут в локальном значении параметра. Пример: minutes-from-time(xs:time("10:22:00")) Результат: 22 |
fn:seconds-from-time(time) |
Возвращает целое число, представляющее часть секунд в локальном значении параметра. Пример: seconds-from-time(xs:time("10:22:00")) Результат: 0 |
fn:timezone-from-time(time) | Возвращает часть времени зоны параметра, если она существует. |
fn:adjust-dateTime-to-timezone(datetime,timezone) |
Если параметр timezone пуст, то возвращается dateTime без временной зоны. В противном случае возвращается dateTime с временной зоной. |
fn:adjust-date-to-timezone(date,timezone) |
Если параметр timezone пуст, то возвращается дата без временной зоны. В противном случае возвращается дата с временной зоной. |
fn:adjust-time-to-timezone(time,timezone) |
Если параметр timezone пуст, то возвращается время без временной зоны. В противном случае возвращается время с временной зоной. |
Функции, связанные с QNames
Name | Объяснение |
---|---|
fn:QName() | |
fn:local-name-from-QName() | |
fn:namespace-uri-from-QName() | |
fn:namespace-uri-for-prefix() | |
fn:in-scope-prefixes() | |
fn:resolve-QName() |
Функции для узлов
Name | Объяснение |
---|---|
|
Возвращает имя текущего узла или первого узла в указанном наборе узлов. |
|
Возвращает имя текущего узла или первого узла в указанном наборе узлов без префикса пространства имен. |
|
Возвращает URI пространства имен текущего узла или первого узла в указанном наборе узлов. |
fn:lang(lang) |
Возвращает true, если язык текущего узла соответствует указанному языку. Пример: Lang("en") is true for <p xml:lang="en">...</p> Пример: Lang("de") is false for <p xml:lang="en">...</p> |
|
Возвращает корень узла или указанного узла, являющийся корнем дерева узлов. Обычно это узел документа. |
Функции для последовательностей
Общий функционал
Name | Объяснение |
---|---|
fn:index-of((item,item,...),searchitem) |
Возвращает положение в последовательности элементов, равное searchitem. Пример: index-of ((15, 40, 25, 40, 10), 40) Результат: (2, 4) Пример: index-of (("a", "dog", "and", "a", "duck"), "a") Результат (1, 4) Пример: index-of ((15, 40, 25, 40, 10), 18) Результат: () |
fn:remove((item,item,...),position) |
Возвращает новую последовательность,構造自 item параметра, при этом удаляя элемент по указанной position. Пример: remove(("ab", "cd", "ef"), 0) Результат: ("ab", "cd", "ef") Пример: remove(("ab", "cd", "ef"), 1) Результат: ("cd", "ef") Пример: remove(("ab", "cd", "ef"), 4) Результат: ("ab", "cd", "ef") |
fn:empty(item,item,...) |
Если значение параметра является пустой последовательностью, то возвращается true, в противном случае возвращается false. Пример: empty(remove(("ab", "cd"), 1)) результат: false |
fn:exists(item,item,...) |
возвращает true, если значение параметра не является пустой последовательностью, в противном случае возвращает false. пример: exists(remove(("ab"), 1)) результат: false |
fn:distinct-values((item,item,...),collation) |
возвращает уникальные значения. пример: distinct-values((1, 2, 3, 1, 2)) результат: (1, 2, 3) |
fn:insert-before((item,item,...),pos,inserts) |
возвращает новую последовательность, сконструированную из параметра item, с добавлением значения параметра inserts в позицию, указанную параметром pos. пример: insert-before(("ab", "cd"), 0, "gh") результат: ("gh", "ab", "cd") пример: insert-before(("ab", "cd"), 1, "gh") результат: ("gh", "ab", "cd") пример: insert-before(("ab", "cd"), 2, "gh") результат: ("ab", "gh", "cd") пример: insert-before(("ab", "cd"), 5, "gh") результат: ("ab", "cd", "gh") |
fn:reverse((item,item,...)) |
возвращает обратный порядок указанных элементов. пример: reverse(("ab", "cd", "ef")) результат: ("ef", "cd", "ab") пример: reverse(("ab")) результат: ("ab") |
fn:subsequence((item,item,...),start,len) |
возвращает последовательность элементов, начиная с позиции, указанной параметром start, и длиной, указанной параметром len. позиция первого элемента - 1. пример: subsequence(($item1, $item2, $item3,...), 3) результат: ($item3, ...) пример: subsequence(($item1, $item2, $item3, ...), 2, 2) результат: ($item2, $item3) |
fn:unordered((item,item,...)) | возвращает элементы в порядке,决定的顺序是实现。 |
функция для тестирования объема последовательности
Name | Объяснение |
---|---|
fn:zero-or-one(item,item,...) | Если параметр содержит ноль или один элемент, то возвращает параметр,否则 генерирует ошибку. |
fn:one-or-more(item,item,...) | Если параметр содержит один или несколько элементов, то возвращает параметр,否则 генерирует ошибку. |
fn:exactly-one(item,item,...) | Если параметр содержит один элемент, то возвращает параметр,否则 генерирует ошибку. |
Equals, Union, Intersection и Except
Name | Объяснение |
---|---|
fn:deep-equal(param1,param2,collation) | Если param1 и param2 равны彼此 (deep-equal), то возвращает true,否则 false. |
Функции总计
Name | Объяснение |
---|---|
fn:count((item,item,...)) | Возвращает количество узлов. |
fn:avg((arg,arg,...)) |
Возвращает среднее арифметическое значений параметров. Пример: avg((1,2,3)) Результат: 2 |
fn:max((arg,arg,...)) |
Возвращает параметр, больший других параметров. Пример: max((1,2,3)) Результат: 3 Пример: max(('a', 'k')) Результат: 'k' |
fn:min((arg,arg,...)) |
Возвращает параметр, меньший других параметров. Пример: min((1,2,3)) Результат: 1 Пример: min(('a', 'k')) Результат: 'a' |
fn:sum(arg,arg,...) | Возвращает сумму значений каждого узла в заданном наборе узлов. |
Функции генерации последовательностей
Name | Объяснение |
---|---|
fn:id((string,string,...),node) | Возвращает последовательность элементов, ID которых равно одному или нескольким значениям, указанным в параметре string. |
fn:idref((string,string,...),node) | Возвращает последовательность элементов или узлов свойств, IDREF которых равно одному или нескольким значениям, указанным в параметре string. |
fn:doc(URI) | |
fn:doc-available(URI) | Если функция doc() возвращает узел документа, то возвращает true,否则 false. |
|
Функции контекста
Name | Объяснение |
---|---|
fn:position() |
Возвращает индекс位置的 текущего обрабатываемого узла. Пример: //book[position()<=3] Результат: выбрать первые три элемента book |
fn:last() |
Return the number of items in the list of nodes being processed. Example: //book[last()] Result: select the last book element |
fn:current-dateTime() | Return the current dateTime (with timezone). |
fn:current-date() | Return the current date (with timezone). |
fn:current-time() | Return the current time (with timezone). |
fn:implicit-timezone() | Return the value of the implicit timezone. |
fn:default-collation() | Return the value of the default collation. |
fn:static-base-uri() | Return the value of base-uri. |
XSLT functions
In addition, there are the following built-in XSLT functions:
Name | Description |
---|---|
current() | Return a node set that consists of the current node as its only member. |
document() | Used to access nodes in an external XML document. |
element-available() | Detect whether the XSLT processor supports the specified element. |
format-number() | Convert a number to a string. |
function-available() | Detect whether the XSLT processor supports the specified function. |
generate-id() | Return a string value that uniquely identifies the specified node. |
key() | Retrieve the elements previously marked with the <xsl:key> statement. |
node-set | Convert the tree to a node set. The resulting node set always contains a single node and is the root of the tree. |
system-property() | Return the value of the system property. |
unparsed-entity-uri() | Return the URI of the unparsed entity. |
Other XML DOM objects
- DOM CharacterData
- DOM CSS2Properties
- DOM CSSRule
- DOM CSSStyleRule
- DOM CSSStyleSheet
- DOM DocumentType
- DOM DOMException
- DOM Implementation
- DOM DOMParser
- DOM Event
- DOM HTMLCollection
- DOM HTMLDocument
- DOM HTMLElement
- DOM ProcessingInstr
- DOM Range
- DOM RangeException
- DOM XMLSerializer
- DOM XPathExpression
- DOM XPathResult
- DOM XSLTProcessor
- Предыдущая страница Разное по XSD
- Следующая страница Типы узлов DOM