XML Referenzhandbuch

XML Referenzhandbuch

Knotentyp

Die folgende Tabelle zeigt die verschiedenen W3C-Knotentypen und die möglichen Unterelemente, die sie haben können:

Knotentyp 描述 Unterelemente
Document Stellt das gesamte Dokument (Wurzelknoten des DOM-Baums) dar
  • Element (max. eins)
  • ProcessingInstruction
  • Kommentar
  • DocumentType
DocumentFragment Stellt einen leichten Document-Objekt dar, der einen Teil des Dokuments enthält.
  • ProcessingInstruction
  • Kommentar
  • Text
  • CDATASection
  • EntityReference
DocumentType Bietet eine Schnittstelle für die Entity, die für das Dokument definiert ist. None
ProcessingInstruction Stellt eine ProcessingInstruction dar. None
EntityReference Stellt ein EntityReference-Element dar.
  • ProcessingInstruction
  • Kommentar
  • Text
  • CDATASection
  • EntityReference
Element Stellt ein element (Element) dar.
  • Text
  • Kommentar
  • ProcessingInstruction
  • CDATASection
  • EntityReference
Attr Stellt eine Eigenschaft dar.
  • Text
  • EntityReference
Text Stellt den Textinhalt eines Elements oder einer Eigenschaft dar. None
CDATASection Stellt einen CDATA-Bereich im Dokument dar (der Text wird vom Parser nicht analysiert). None
Kommentar Stellt einen Kommentar dar. None
Entity Stellt eine Entity dar.
  • ProcessingInstruction
  • Kommentar
  • Text
  • CDATASection
  • EntityReference
Notation Stellt ein in der DTD deklariertes Symbol dar. None

Knotentyp - Rückgabewert

Die folgende Tabelle zeigt die Werte, die die nodeValue- und nodeName-Attribute für jeden Knotentyp zurückgeben können:

Knotentyp Rückgabewert von nodeName Rückgabewert von nodeValue
Document #document null
DocumentFragment #document fragment null
DocumentType Name des Doctype null
EntityReference Name der Entity-Referenz null
Element Name des Elements null
Attr Name der Eigenschaft Wert der Eigenschaft
ProcessingInstruction target Inhalt des Knotens
Kommentar #comment Kommentartext
Text #text Node Content
CDATASection #cdata-section Node Content
Entity Entity Name null
Notation Symbolic Name null

NodeTypes - Named Constants

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

Top

XML DOM Node Object

Properties of Node object

属性 描述
attributes Contains the NamedNodeMap of the node's attributes (if the node is an element).
baseURI Returns the absolute base URI of the node.
childNodes Returns the NodeList of child nodes of the node.
firstChild Returns the first child node of the node.
lastChild Returns the last child node of the node.
nextSibling Returns the sibling node immediately following the node.
nodeName Return the name of the node, depending on its type.
nodeType Return the type of the node.
nodeValue Set or return the value of the node, depending on its type.
ownerDocument Returns the root element of the node (document object).
parentNode Returns the parent node of the node.
prefix Sets or returns the namespace prefix of the node.
previousSibling Returns the sibling node immediately preceding the node.
textContent Sets or returns the text content of the node and its descendants.

Methods of Node object

Method 描述
appendChild() Appends a new child node to the end of the node's child node list.
cloneNode() Klont den Knoten.
compareDocumentPosition() Compares the position of two nodes in the DOM hierarchy (document).
getFeature(feature,version) Rückgibt ein DOM-Objekt, das eine spezifische API für Eigenschaften und Versionen implementiert.
getUserData(key)

Returns the object associated with the key on the node.

The object must be set to this node first, by calling setUserData with the same key.

hasAttributes() Returns true if the specified node has any attributes, otherwise returns false.
hasChildNodes() Returns true if the specified node has child nodes, otherwise returns false.
insertBefore() Inserts a new child node before the specified child node.
isDefaultNamespace(URI) Returns whether the specified namespace URI is the default.
isEqualNode() 检查两个节点是否相等。
isSameNode() Checks whether two nodes are the same node.
lookupNamespaceURI() Returns the namespace URI associated with the given prefix.
lookupPrefix() Returns the prefix associated with the given namespace URI.
normalize() Merges adjacent text nodes and deletes empty text nodes.
removeChild() Deletes (and returns) the specified child node of the current node.
replaceChild() Replaces the child node with a new node.
setUserData(key,data,handler) Associates an object with a key on the node.

Top

XML DOM NodeList Object

Properties of NodeList object

属性 描述
length Returns the number of nodes in the NodeList.

Methods of NodeList object

Method 描述
item() Returns the node at the specified index in the NodeList.

Top

XML DOM NamedNodeMap Object

Attribute des NamedNodeMap-Objekts

属性 描述
length Geben Sie die Anzahl der Knoten in der Liste zurück.

Methoden des NamedNodeMap-Objekts

Method 描述
getNamedItem() Geben Sie den Knoten mit bestimmten Namen zurück.
getNamedItemNS() Geben Sie den Knoten mit bestimmten Namen und Namensraum zurück.
item() Geben Sie den Knoten an der angegebenen Index-Stelle zurück.
removeNamedItem() Löschen Sie den Knoten mit bestimmten Namen.
removeNamedItemNS() Löschen Sie den Knoten mit bestimmten Namen und Namensraum.
setNamedItem() Setzen Sie das angegebene Knoten (nach Namen).
setNamedItemNS() Setzen Sie das angegebene Knoten (nach Namen und Namensraum).

Top

XML DOM Document Object

Attribute des Document-Objekts

属性 描述
childNodes Geben Sie die NodeList der Unter-Knoten des Dokuments zurück.
doctype Geben Sie die Dokumenttypdeklaration zurück, die mit dem Dokument verbunden ist.
documentElement Geben Sie den Wurzelknoten des Dokuments zurück.
documentURI Setzen oder geben Sie die Position des Dokuments zurück.
domConfig Geben Sie die Konfiguration zurück, die bei der Aufrufung von normalizeDocument() verwendet wurde.
firstChild Geben Sie den ersten Unter-Knoten des Dokuments zurück.
implementation Geben Sie das DOMImplementation-Objekt zurück, das dieses Dokument verarbeitet.
inputEncoding Geben Sie die vom Dokument verwendete Kodierung zurück (bei der Analyse).
lastChild Geben Sie den letzten Unter-Knoten des Dokuments zurück.
nodeName Geben Sie den Namen des Knotens zurück (abhängig von seinem Typ).
nodeType Geben Sie den Knotentyp des Knotens zurück.
nodeValue Setzen oder geben Sie den Wert des Knotens zurück (abhängig von seinem Typ).
xmlEncoding Geben Sie die XML-Kodierung des Dokuments zurück.
xmlStandalone Setzen oder geben Sie an, ob das Dokument unabhängig ist.
xmlVersion Setzen oder geben Sie die XML-Version des Dokuments zurück.

Methoden des Document-Objekts

Method 描述
adoptNode() Nehmen Sie einen Knoten aus einem anderen Dokument in dieses Dokument auf und geben Sie den aufgenommenen Knoten zurück.
createAttribute() Erstellen Sie ein Attribut-Objekt mit angegebenem Namen und geben Sie es zurück.
createAttributeNS() Erstellen Sie ein Attribut-Objekt mit angegebenem Namen und Namensraum und geben Sie es zurück.
createCDATASection() Erstellen Sie einen CDATA-Section-Knoten.
createComment() Erstellen Sie einen Kommentar-Knoten.
createDocumentFragment() Erstellen Sie ein leeres DocumentFragment-Objekt und geben Sie es zurück.
createElement() Creates an element node.
createElementNS() Creates an element node with the specified namespace.
createEntityReference() Creates an EntityReference object and returns this object.
createProcessingInstruction() Creates a ProcessingInstruction object and returns this object.
createTextNode() Creates a text node.
getElementById() Returns the element with the id attribute having the given value.
getElementsByTagName() Returns a NodeList of all elements with the specified name.
getElementsByTagNameNS() Returns a NodeList of all elements with the specified name and namespace.
importNode() Imports a node from another document into this document.
normalizeDocument()
renameNode() Renames an element node or an attribute node.

Attributes of the DocumentType object

Each document has a DOCTYPE attribute whose value is null or a DocumentType object.

The DocumentType object provides the interface for the entities defined for the XML document.

属性 描述
name Returns the name of the DTD.
publicId Returns the public identifier of the DTD.
systemId Returns the system identifier of the external DTD.

Methods of the DocumentImplementation object

The DOMImplementation object performs operations that are independent of any specific instance of the Document Object Model.

Method 描述
createDocument() Creates a new DOM Document object of the specified document type.
createDocumentType() Creates an empty DocumentType node.
getFeature() Returns the object (if any) of the API that implements the specified feature and version.
hasFeature() Checks if the DOM implementation has implemented a specific feature and version.

Attributes of the ProcessingInstruction object

The ProcessingInstruction object represents a processing instruction.

Processing instructions are used as a method to retain processor-specific information within the XML document text.

属性 描述
data Sets or returns the content of the processing instruction.
target Returns the target of the processing instruction.

Top

XML DOM Element Object

Attributes of the Element object

属性 描述
attributes Returns the NamedNodeMap of the element's attribute.
baseURI Rückgibt die absolute Basis URI des Elements.
childNodes Rückgibt die NodeList der Unter nodes des Elements.
firstChild Rückgibt das erste Unter element des Elements.
lastChild Rückgibt das letzte Unter element des Elements.
localName Rückgibt den lokalen Teil des Elementnamens.
namespaceURI Rückgibt die Namespace-URI des Elements.
nextSibling Rückgibt den Knoten, der unmittelbar nach dem Element liegt.
nodeName Rückgibt den Namen des Knotens, abhängig von seinem Typ.
nodeType Return the type of the node.
ownerDocument Rückgibt den Wurzelknoten des Elements (Dokumentobjekt).
parentNode Rückgibt den Elternknoten des Elements.
prefix Setzt oder gibt den Namespace-Prefix des Elements zurück.
previousSibling Rückgibt den Knoten, der unmittelbar vor dem Element liegt.
schemaTypeInfo Rückgibt die Typinformationen, die mit dem Element verknüpft sind.
tagName Rückgibt den Namen des Elements.
textContent Setzt oder gibt den Textinhalt des Elements und seiner Nachkommen zurück.

Methoden des Element-Objekts

Method 描述
appendChild() Fügt einen neuen Unter node am Ende der Liste der Unter nodes dieses Knotens hinzu.
cloneNode() Klont den Knoten.
compareDocumentPosition() Vergleicht die Dokumentpositionen zweier Knoten.
getAttribute() Rückgibt den Wert des Attributes.
getAttributeNS() Rückgibt den Wert des Attributes (mit Namespace).
getAttributeNode() Rückgibt Attribute nodes als Attribute-Objekte.
getAttributeNodeNS() Rückgibt Attribute nodes (mit Namespace) als Attribute-Objekte.
getElementsByTagName() Rückgibt eine NodeList der Elementknoten und ihrer Unter nodes.
getElementsByTagNameNS() Rückgibt eine NodeList der Elementknoten (mit Namespace) und ihrer Unter nodes.
getFeature(feature,version) Rückgibt ein DOM-Objekt, das eine spezifische API für Eigenschaften und Versionen implementiert.
getUserData(key) Rückgibt das Objekt, das mit dem Schlüssel auf dem Knoten verknüpft ist. Es muss zunächst das Objekt an diesen Knoten gesetzt werden, indem setUserData mit demselben Schlüssel aufgerufen wird.
hasAttribute() Rückgibt, ob das Element ein Attribute mit dem angegebenen Namen hat.
hasAttributeNS() Rückgibt, ob das Element ein Attribute mit dem angegebenen Namen und Namespace hat.
hasAttributes() Rückgibt, ob das Element Attribute hat.
hasChildNodes() Rückgibt, ob das Element Unter nodes hat.
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) 如果 Attribute 对象的 isId 属性为 true,则此方法将指定的属性声明为用户确定的 ID 属性。
setIdAttributeNS(uri,name,isId) 如果 Attribute 对象的 isId 属性为 true,则此方法将指定的属性(带有命名空间)声明为用户确定的 ID 属性。
setIdAttributeNode(idAttr,isId) 如果 Attribute 对象的 isId 属性为 true,则此方法将指定的属性声明为用户确定的 ID 属性。

Top

Attr 对象的属性

属性 描述
baseURI 返回属性的绝对基准 URI。
isId 如果属性是 id 类型,则返回 true,否则返回 false。
localName 返回属性名称的本地部分。
name 返回属性的名称。
namespaceURI 返回属性的命名空间 URI。
nodeName Return the name of the node, depending on its type.
nodeType Return the type of the node.
nodeValue Set or return the value of the node, depending on its type.
ownerDocument Return the root element (document object) associated with the attribute.
ownerElement Return the element node associated with the attribute.
prefix Set or return the namespace prefix of the attribute.
schemaTypeInfo Return the type information associated with the attribute.
specified

If the attribute value is set in the document, return true;

If the attribute value is the default value in DTD/Schema, return false.

textContent Set or return the text content of the attribute.
value Set or return the value of the attribute.

Top

XML DOM Text Object

Properties of the Text object

属性 描述
data Set or return the text of the element or attribute.
isElementContentWhitespace Determine whether the text node contains whitespace content.
length Return the text length of the element or attribute.
wholeText Return all text adjacent to the node, connected in document order.

Methods of the Text object

Method 描述
appendData() Append data to the node.
deleteData() Delete data from the node.
insertData() Insert data into the node.
replaceData() Replace data in the node.
replaceWholeText(text) Replace the text of the node and all adjacent text nodes with the specified text.
splitText() Split a Text node into two.
substringData() Extract data from the node.

Top

XML DOM CDATASection Object

Properties of the CDATASection object

属性 描述
data Set or return the text of the node.
length Return the length of the CDATA section.

Methods of the CDATASection object

Method 描述
appendData() Append data to the node.
deleteData() Delete data from the node.
insertData() Insert data into the node.
replaceData() Replace data in the node.
splitText() Split the CDATA node into two nodes.
substringData() Extract data from the node.

Top

XML DOM Comment Object

Properties of the Comment object

属性 描述
data Set or return the text of the node.
length Return the text length of the node.

Methods of the Comment object

Method 描述
appendData() Append data to the node.
deleteData() Delete data from the node.
insertData() Insert data into the node.
replaceData() Replace data in the node.
substringData() Extract data from the node.

Top

XML DOM XMLHttpRequest Object

Methods of the XMLHttpRequest object

Method 描述
abort() Cancel the current request.
getAllResponseHeaders() Return header information.
getResponseHeader() Return the value of the specified HTTP response header.
open(method,url,async,uname,pswd)

Specify the type of request, URL, whether the request should be processed asynchronously, and other optional properties of the request.

  • method: 请求类型:GET 或 POST
  • url: 文件在服务器上的位置
  • async: true(异步)或 false(同步)
send(string)

将请求发送到服务器。

string:仅用于 POST 请求

setRequestHeader() 将标签/值对添加到要发送的标头。

XMLHttpRequest 对象的属性

属性 描述
onreadystatechange 存储每次 readyState 属性更改时自动调用的函数(或函数名称)。
readyState

保存 XMLHttpRequest 的状态。从 0 到 4 的变化:

  • 0: 请求未初始化
  • 1: 服务器连接已建立
  • 2: 请求收到
  • 3: 请求处理中
  • 4: 请求已完成,响应已就绪
responseText 返回响应数据,以字符串。
responseXML 返回响应数据,以 XML 数据。
status 返回状态号(例如 "404" 表示 "Not Found",或 "200" 表示 "OK")。
statusText 返回状态文本(例如 "Not Found" 或 "OK")。

Top

XSD 元素

Element 解释
all 规定子元素能够以任意顺序出现,每个子元素可出现零次或一次。
annotation annotation 元素是一个顶层元素,规定 schema 的注释。
any 使创作者可以通过未被 schema 规定的元素来扩展 XML 文档。
anyAttribute 使创作者可以通过未被 schema 规定的属性来扩展 XML 文档。
appInfo 规定 annotation 元素中应用程序要使用的信息。
Attribute 定义一个属性。
attributeGroup 定义在复杂类型定义中使用的属性组。
choice 仅允许在 <choice> 声明中包含一个元素出现在包含元素中。
complexContent 定义对复杂类型(包含混合内容或仅包含元素)的扩展或限制。
complexType 定义复杂类型。
documentation 定义 schema 中的文本注释。
element 定义元素。
extension 扩展现有的 simpleType 或 complexType 元素。
field Bestimmt einen XPath-Ausdruck, der den Wert verwendet, um die Identitätsbeschränkung zu definieren.
group Definiert die Gruppe von Elementen, die in der Definition eines komplexen Typs verwendet werden.
import Fügt mehreren Schema mit verschiedenen Zielnamensräumen mehrfach zu einem Dokument hinzu.
include Fügt mehreren Schema mit der gleichen Zielnamensraum mehrfach zu einem Dokument hinzu.
key Bestimmt, dass der Wert einer Eigenschaft oder eines Elements (oder eine Gruppe von Werten) ein Schlüssel im angegebenen Bereich sein muss.
keyref Bestimmt, dass der Wert einer Eigenschaft oder eines Elements (oder eine Gruppe von Werten) dem Wert eines angegebenen Schlüssels oder eines einzigartigen Elements entspricht.
list Definiert einen einfachen Typ als Liste von Werten einer angegebenen Datenart.
notation Beschreibt das Format von nicht-XML-Daten in einem XML-Dokument.
redefine Definiert die Wiederverwendung von einfachen und komplexen Typen, Gruppen und Attributgruppen aus externen Schema-Dateien.
restriction Definiert Einschränkungen für simpleType, simpleContent oder complexContent.
schema Definiert das Wurzelelement des Schemas.
selector Bestimmt einen XPath-Ausdruck, der eine Gruppe von Elementen für die Identitätsbeschränkung auswählt.
sequence Erfordert, dass nachfolgende Elemente in der angegebenen Reihenfolge auftreten. Jedes nachfolgende Element kann 0 bis beliebig oft auftreten.
simpleContent Enthält Erweiterungen oder Beschränkungen von complexType-Elementen und enthält keine Elemente.
simpleType Definiert einen einfachen Typ, der Einschränkungen und Informationen über die Werte von Attributen oder nur textbasierten Elementen festlegt.
union Definiert eine Sammlung aus mehreren simpleType-Definitionen.
unique Bestimmt, dass der Wert einer Eigenschaft oder eines Elements (oder eine Kombination von Eigenschaftswerten oder Elementwerten) im angegebenen Bereich einzigartig sein muss.

Beschränkung der Datenart durch XSD

Siehe XSD-Beschränkungen / Facetten

Beschränkung 描述
enumeration Definiert eine Liste der akzeptierten Werte.
fractionDigits Definiert die maximale Anzahl der Dezimalstellen, die erlaubt sind. Diese muss größer oder gleich 0 sein.
length Definiert die genaue Anzahl der erlaubten Zeichen oder Elemente in einer Liste. Diese muss größer oder gleich 0 sein.
maxExclusive Definiert den oberen Grenzwert eines Wertes. Die erlaubten Werte müssen kleiner diesem Wert sein.
maxInclusive Definiert den oberen Grenzwert eines Wertes. Die erlaubten Werte müssen kleiner oder gleich diesem Wert sein.
maxLength Definiert die maximale Anzahl der erlaubten Zeichen oder Elemente in einer Liste. Diese muss größer oder gleich 0 sein.
minExclusive Definiert den unteren Grenzwert eines Wertes. Die erlaubten Werte müssen größer diesem Wert sein.
minInclusive Definiert den unteren Grenzwert eines Wertes. Die erlaubten Werte müssen größer oder gleich diesem Wert sein.
minLength Definieren Sie die minimale Anzahl der erlaubten Zeichen oder Listeinträge. Muss größer oder gleich 0 sein.
pattern Definieren Sie die genaue Abfolge der akzeptierten Zeichen.
totalDigits Definieren Sie die genaue Anzahl der Stellen für arabische Ziffern, die erlaubt sind. Muss größer als 0 sein.
whiteSpace Definieren Sie die Verarbeitung von Weißraumzeichen (Zeilenumbruch, Return, Leerzeichen und Tabulator).

Top

XSLT-Element

Element 描述
apply-imports Wenden Sie die Template-Regeln aus dem importierten Stilblatt an.
apply-templates Wenden Sie ein Template auf das aktuelle Element oder die Unterlemente des aktuellen Elements an.
Attribute Fügen Sie einem Element Attribute hinzu.
attribute-set Erstellen Sie eine benannte Attributsammlung.
call-template Rufen Sie ein bestimmtes Template auf.
choose Verwenden Sie <when> und <otherwise>, um mehrfache Bedingungstests auszudrücken.
comment Erstellen Sie einen Kommentarknoten im Ergebnisbaum.
copy Erstellen Sie eine Kopie des aktuellen Knotens (ohne Unter节点 und Attributen).
copy-of Erstellen Sie eine Kopie des aktuellen Knotens (mit Unter节点 und Attributen).
decimal-format Definieren Sie die Zeichen und Symbole, die beim Konvertieren von Zahlen in Zeichenketten durch die Funktion format-number() verwendet werden sollen.
element Erstellen Sie einen Elementknoten im Ausgabedokument.
fallback Falls der Processor einen bestimmten XSLT-Element nicht unterstützt, geben Sie einen alternativen Code an, der ausgeführt wird.
for-each Durchsuchen Sie jeden Knoten in der angegebenen Knotenmenge.
if Schließen Sie ein Template ein, das nur angewendet wird, wenn eine bestimmte Bedingung erfüllt ist.
import Verwenden Sie dies, um den Inhalt eines Stilblatts in ein anderes Stilblatt einzufügen.
include Schließen Sie den Inhalt eines Stilblatts in ein anderes Stilblatt ein.
key Erklärung eines benannten Schlüssels.
message Schreiben Sie eine Nachricht in die Ausgabe (für Fehlerberichte).
namespace-alias Ersetzen Sie den Namensraum in der Stilblatt durch einen anderen Namensraum in der Ausgabe.
number Bestimmen Sie die ganze Zahlposition des aktuellen Knotens und formatieren Sie die Nummer.
otherwise Bestimmen Sie die Standardaktion für das <choose>-Element.
output Definieren Sie das Format des Ausgabedokuments.
param Erklärung eines lokalen oder globalen Parameters.
preserve-space Verwenden Sie Elemente, um weiße Leerzeichen zu behalten.
processing-instruction Erstellen Sie einen Knoten für die Verarbeitungsinstruktion.
sort Sortieren Sie das Ergebnis.
strip-space Definieren Sie das Entfernen von Leerzeichen für Elemente.
stylesheet Definiert den Wurzelelement der Stylesheet.
template Die anzuwendende Regel, wenn der angegebene Knoten gematcht wird.
text Erzeugt Textknoten durch das Stylesheet.
transform Definiert den Wurzelelement der Stylesheet.
value-of Extrahiert den Wert des ausgewählten Knotens.
variable Erklärt lokale oder globale Variablen.
when Definiert die Aktion des <choose>-Elements.
with-param Definiert den Wert der Parameter, die in einen bestimmten Template übergeben werden müssen.

Top

XSLT, XPath, and XQuery Functions

Zugriffsfunc

名称 Erklärung
fn:node-name(node) Gibt den Knotennamen des Arguments zurück.
fn:nilled(node) Gibt den Wahrheitswert zurück, ob der Parameterknoten abgelehnt wird.
fn:data(item.item,...) Akzeptiert eine Sequenz von Elementen und gibt eine Sequenz von Atomen zurück.
  • fn:base-uri()
  • fn:base-uri(node)
Gibt den Wert der base-uri-Eigenschaft des aktuellen Knotens oder des angegebenen Knotens zurück.
fn:document-uri(node) Gibt den Wert der document-uri-Eigenschaft des angegebenen Knotens zurück.

Fehler- und Trace-Funktionen

名称 Erklärung
  • fn:error()
  • fn:error(error)
  • fn:error(error,description)
  • fn:error(error,description,error-object)

Beispiel: error(fn:QName('http://example.com/test', 'err:toohigh'), 'Error: Price is too high')

Ergebnis: Gibt http://example.com/test#toohigh sowie den String "Error: Price is too high" an die externe Verarbeitungsumgebung zurück.

fn:trace(value,label) Wird verwendet, um die Abfrage zu debuggen.

Funktionen zur数值

名称 Erklärung
fn:number(arg)

Gibt den numerischen Wert des Arguments zurück. Das Argument kann ein boolescher Wert, ein String oder ein Knoten-Set sein.

Beispiel: number('100')

Ergebnis: 100

fn:abs(num)

Gibt den Absolutwert des Arguments zurück.

Beispiel: abs(3.14)

Ergebnis: 3.14

Beispiel: abs(-3.14)

Ergebnis: 3.14

fn:ceiling(num)

Gibt den kleinsten ganzen Zahl zurück, der größer als das Argument num ist.

Beispiel: ceiling(3.14)

Ergebnis: 4

fn:floor(num)

Rückgabe des größten Ganzzahls, das nicht größer als den Parameter num ist.

Beispiel: floor(3.14)

Ergebnis: 3

fn:round(num)

Rundung des Parameters num auf die nächstgelegene Ganzzahl.

Beispiel: round(3.14)

Ergebnis: 3

fn:round-half-to-even()

Beispiel: round-half-to-even(0.5)

Ergebnis: 0

Beispiel: round-half-to-even(1.5)

Ergebnis: 2

Beispiel: round-half-to-even(2.5)

Ergebnis: 2

Über die Zeichenfolgefunktionen

名称 Erklärung
fn:string(arg)

Rückgabe des Zeichenfolgenrechtes des Arguments. Das Argument kann eine Zahl, ein logisches Wert oder ein Knotensatz sein.

Beispiel: string(314)

Ergebnis: "314"

fn:codepoints-to-string(int,int,...)

Rückgabe der Zeichenfolge basierend auf der Sequenz von Zeichencodes.

Beispiel: codepoints-to-string(84, 104, 233, 114, 232, 115, 101)

Ergebnis: 'Thérèse'

fn:string-to-codepoints(string)

Rückgabe der Sequenz von Zeichencodes basierend auf der Zeichenfolge.

Beispiel: string-to-codepoints("Thérèse")

Ergebnis: 84, 104, 233, 114, 232, 115, 101

fn:codepoint-equal(comp1,comp2) Nach der Unicode-Zeichenpunktkollation, wird true zurückgegeben, wenn der Wert von comp1 dem Wert von comp2 entspricht. (http://www.w3.org/2005/02/xpath-functions/collation/codepoint), andernfalls wird false zurückgegeben.
  • fn:compare(comp1,comp2)
  • fn:compare(comp1,comp2,collation)

Wenn comp1 kleiner als comp2 ist, wird -1 zurückgegeben. Wenn comp1 gleich comp2 ist, wird 0 zurückgegeben. Wenn comp1 größer als comp2 ist, wird 1 zurückgegeben. (Abhängig vom verwendeten Vergleichsregeln).

Beispiel: compare('ghi', 'ghi')

Ergebnis: 0

fn:concat(string,string,...)

Rückgabe der Verknüpfung von Zeichenfolgen.

Beispiel: concat('XPath ','ist ','FUN!')

Ergebnis: 'XPath ist FUN!'

fn:string-join((string,string,...),sep)

Verwendet den sep-Parameter als Trennzeichen, um den verbundenen String der string-Parameter zurückzugeben.

Beispiel: string-join(('We', 'are', 'having', 'fun!'), ' ')

Ergebnis: ' We are having fun! '

Beispiel: string-join(('We', 'are', 'having', 'fun!'))

Ergebnis: 'Wearehavingfun!'

Beispiel: string-join((), 'sep')

Ergebnis: ''

  • fn:substring(string,start,len)
  • fn:substring(string,start)

Gibt einen vom start-Position beginnenden, angegebenen Längen unteren Teilstring zurück. Der Index des ersten Zeichens ist 1. Wenn der Parameter len weggelassen wird, wird der Teilstring von der Position start bis zum Ende des Strings zurückgegeben.

Beispiel: substring('Beatles',1,4)

Ergebnis: 'Beat'

Beispiel: substring('Beatles',2)

Ergebnis: 'eatles'

  • fn:string-length(string)
  • fn:string-length()

Gibt die Länge des angegebenen Strings zurück. Wenn kein string-Parameter angegeben ist, wird die Länge des String-Werts des aktuellen Knotens zurückgegeben.

Beispiel: string-length('Beatles')

Ergebnis: 7

  • fn:normalize-space(string)
  • fn:normalize-space()

Entfernt den angegebenen String am Anfang und am Ende und ersetzt alle internen Leerzeichenfolgen durch ein Leerzeichen, und gibt das Ergebnis zurück. Wenn kein string-Parameter angegeben ist, wird der aktuelle Knoten verarbeitet.

Beispiel: normalize-space(' The   XML ')

Ergebnis: 'The XML'

fn:normalize-unicode() Führt Unicode-Standardisierung durch.
fn:upper-case(string)

Konvertiert den string-Parameter in Großbuchstaben.

Beispiel: upper-case('The XML')

Ergebnis: 'THE XML'

fn:lower-case(string)

Konvertiert den string-Parameter in Kleinbuchstaben.

Beispiel: lower-case('The XML')

Ergebnis: 'the xml'

fn:translate(string1,string2,string3)

Ersetzt string2 in string1 durch string3.

Beispiel: translate('12:30','30','45')

Ergebnis: '12:45'

Beispiel: translate('12:30','03','54')

Ergebnis: '12:45'

Beispiel: translate('12:30','0123','abcd')

Ergebnis: 'bc:da'

fn:escape-uri(stringURI,esc-res)

Beispiel: escape-uri("http://example.com/test#car", true())

Ergebnis: "http%3A%2F%2Fexample.com%2Ftest#car"

Beispiel: escape-uri("http://example.com/test#car", false())

Ergebnis: "http://example.com/test#car"

Beispiel: escape-uri ("http://example.com/~bébé", false())

Ergebnis: "http://example.com/~b%C3%A9b%C3%A9"

fn:contains(string1,string2)

Gibt true zurück, wenn string1 string2 enthält, sonst false.

Beispiel: contains('XML','XM')

Ergebnis: true

fn:starts-with(string1,string2)

Gibt true zurück, wenn string1 mit string2 beginnt, sonst false.

Beispiel: starts-with('XML','X')

Ergebnis: true

fn:ends-with(string1,string2)

Gibt true zurück, wenn string1 mit string2 endet, sonst false.

Beispiel: ends-with('XML','X')

Ergebnis: false

fn:substring-before(string1,string2)

Rückgibt den Teilstring, der vor dem Auftreten von string2 in string1 folgt.

Beispiel: substring-before('12/10','/')

Ergebnis: '12'

fn:substring-after(string1,string2)

Rückgibt den Teilstring, der nach dem Auftreten von string2 in string1 folgt.

Beispiel: substring-after('12/10','/')

Ergebnis: '10'

fn:matches(string,pattern)

Gibt true zurück, wenn der Wert des Strings dem angegebenen Muster entspricht, sonst false.

Beispiel: matches("Merano", "ran")

Ergebnis: true

fn:replace(string,pattern,replace)

Ersetzt das angegebene Muster durch den replace-Parameter und gibt das Ergebnis zurück.

Beispiel: replace("Bella Italia", "l", "*")

Ergebnis: 'Be**a Ita*ia'

Beispiel: replace("Bella Italia", "l", "")

Ergebnis: 'Bea Itaia'

fn:tokenize(string,pattern)

Beispiel: tokenize("XPath is fun", "\s+")

Ergebnis: ("XPath", "is", "fun")

Funktionen für anyURI

名称 Erklärung
fn:resolve-uri(relative,base)  

Funktionen für boolesche Werte

名称 Erklärung
fn:boolean(arg) Rückgabe des booleschen Wertes für ein numerisches, textuelles oder Knoten-Set.
fn:not(arg)

Zuerst wird der Parameter durch die Funktion boolean() in einen booleschen Wert umgewandelt.

Gibt true zurück, wenn der boolesche Wert false ist, sonst true.

Beispiel: not(true())

Ergebnis: false

fn:true()

Rückgabe eines booleschen Wertes true.

Beispiel: true()

Ergebnis: true

fn:false()

Rückgabe eines booleschen Wertes false.

Beispiel: false()

Ergebnis: false

Funktionen für Dauer, Datum und Uhrzeit

Funktion zur Extraktion von Komponenten von Datum, Uhrzeit und Dauer

名称 Erklärung
fn:dateTime(date,time) Parameter in Datum und Uhrzeit umwandeln.
fn:years-from-duration(datetimedur) Rückgabewert des Jahres als ganzzahliges Integer, angegeben in der Standardwortstellung.
fn:months-from-duration(datetimedur) Rückgabewert des Monats als ganzzahliges Integer, angegeben in der Standardwortstellung.
fn:days-from-duration(datetimedur) Rückgabewert des Tages als ganzzahliges Integer, angegeben in der Standardwortstellung.
fn:hours-from-duration(datetimedur) Gibt den Wert des Stundenanteils als Integer in der Standardsprachlichen Schreibweise zurück.
fn:minutes-from-duration(datetimedur) Gibt den Wert des Minutenanteils als Integer in der Standardsprachlichen Schreibweise zurück.
fn:seconds-from-duration(datetimedur) Gibt den Wert des Minutenanteils als Dezimalzahl in der Standardsprachlichen Schreibweise zurück.
fn:year-from-dateTime(datetime)

Gibt die lokale Wertangabe des Parameters als Integer des Jahresanteils zurück.

Beispiel: year-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))

Ergebnis: 2005

fn:month-from-dateTime(datetime)

Gibt die lokale Wertangabe des Parameters als Integer des Monatsanteils zurück.

Beispiel: month-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))

Ergebnis: 01

fn:day-from-dateTime(datetime)

Gibt die lokale Wertangabe des Parameters als Integer des Tagesanteils zurück.

Beispiel: day-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))

Ergebnis: 10

fn:hours-from-dateTime(datetime)

Gibt die lokale Wertangabe des Parameters als Integer des Stundenanteils zurück.

Beispiel: hours-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))

Ergebnis: 12

fn:minutes-from-dateTime(datetime)

Gibt die lokale Wertangabe des Parameters als Integer des Minutenanteils zurück.

Beispiel: minutes-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))

Ergebnis: 30

fn:seconds-from-dateTime(datetime)

Gibt die lokale Wertangabe des Parameters als Dezimalzahl des Sekundenanteils zurück.

Beispiel: seconds-from-dateTime(xs:dateTime("2005-01-10T12:30:00-04:10"))

Ergebnis: 0

fn:timezone-from-dateTime(datetime) Gibt den Zeitzone-Teil des Parameters zurück, wenn vorhanden.
fn:year-from-date(date)

Gibt die lokale Wertangabe des Parameters als Integer des Jahres zurück.

Beispiel: year-from-date(xs:date("2005-04-23"))

Ergebnis: 2005

fn:month-from-date(date)

Gibt die Integer-Zeile im lokalen Wert des Parameters zurück, die den Monat repräsentiert.

Beispiel: month-from-date(xs:date("2005-04-23"))

Ergebnis: 4

fn:day-from-date(date)

Gibt die Integer-Zeile im lokalen Wert des Parameters zurück, die den Tag repräsentiert.

Beispiel: day-from-date(xs:date("2005-04-23"))

Ergebnis: 23

fn:timezone-from-date(date) Gibt den Zeitzone-Teil des Parameters zurück, wenn vorhanden.
fn:hours-from-time(time)

Gibt die Integer-Zeile im lokalen Wert des Parameters zurück, die die Stunden repräsentiert.

Beispiel: hours-from-time(xs:time("10:22:00"))

Ergebnis: 10

fn:minutes-from-time(time)

Gibt die Integer-Zeile im lokalen Wert des Parameters zurück, die die Minuten repräsentiert.

Beispiel: minutes-from-time(xs:time("10:22:00"))

Ergebnis: 22

fn:seconds-from-time(time)

Gibt die Integer-Zeile im lokalen Wert des Parameters zurück, die die Sekunden repräsentiert.

Beispiel: seconds-from-time(xs:time("10:22:00"))

Ergebnis: 0

fn:timezone-from-time(time) Gibt den Zeitzone-Teil des Parameters zurück, wenn vorhanden.
fn:adjust-dateTime-to-timezone(datetime,timezone)

Wenn der Zeitzone-Parameter leer ist, wird das dateTime ohne Zeitzone zurückgegeben.

Sonst wird das dateTime mit Zeitzone zurückgegeben.

fn:adjust-date-to-timezone(date,timezone)

Wenn der Zeitzone-Parameter leer ist, wird das Datum ohne Zeitzone zurückgegeben.

Sonst wird das Datum mit Zeitzone zurückgegeben.

fn:adjust-time-to-timezone(time,timezone)

Wenn der Zeitzone-Parameter leer ist, wird die Zeit ohne Zeitzone zurückgegeben.

Sonst wird die Zeit mit Zeitzone zurückgegeben.

Funktionen im Zusammenhang mit QNames

名称 Erklärung
fn:QName()  
fn:local-name-from-QName()  
fn:namespace-uri-from-QName()  
fn:namespace-uri-for-prefix()  
fn:in-scope-prefixes()  
fn:resolve-QName()  

Funktionen für Knoten

名称 Erklärung
  • fn:name()
  • fn:name(nodeset)
Gibt den Namen des aktuellen Knotens oder des ersten Knotens der angegebenen Knotenmenge zurück.
  • fn:local-name()
  • fn:local-name(nodeset)
Gibt den Namen des aktuellen Knotens oder des ersten Knotens der angegebenen Knotenmenge zurück - ohne Namensraumpräfix.
  • fn:namespace-uri()
  • fn:namespace-uri(nodeset)
Gibt den Namensraum URI der aktuellen oder angegebenen Knotenmenge zurück.
fn:lang(lang)

Gibt true zurück, wenn die Sprache des aktuellen Knotens mit der angegebenen Sprache übereinstimmt.

Beispiel: Lang("en") ist true für <p xml:lang="en">...</p>

Beispiel: Lang("de") ist false für <p xml:lang="en">...</p>

  • fn:root()
  • fn:root(node)
Gibt den Wurzelknoten des Knotenbaums der aktuellen oder angegebenen Knoten zurück. Dies ist in der Regel der Dokumentknoten.

Funktionen für Sequenzen

Allgemeine Funktion

名称 Erklärung
fn:index-of((item,item,...),searchitem)

Gibt die Positionen zurück, an denen das searchitem-Element in der Sequenz der Elemente entspricht.

Beispiel: index-of ((15, 40, 25, 40, 10), 40)

Ergebnis: (2, 4)

Beispiel: index-of (("a", "dog", "and", "a", "duck"), "a")

Ergebnis (1, 4)

Beispiel: index-of ((15, 40, 25, 40, 10), 18)

Ergebnis: ()

fn:remove((item,item,...),position)

Gibt eine neue Sequenz zurück, die durch den item-Parameter konstruiert wird - und das Element an der angegebenen position-Position entfernt.

Beispiel: remove(("ab", "cd", "ef"), 0)

Ergebnis: ("ab", "cd", "ef")

Beispiel: remove(("ab", "cd", "ef"), 1)

Ergebnis: ("cd", "ef")

Beispiel: remove(("ab", "cd", "ef"), 4)

Ergebnis: ("ab", "cd", "ef")

fn:empty(item,item,...)

Wenn der Parameterwert eine leere Sequenz ist, wird true zurückgegeben, sonst false.

Beispiel: empty(remove(("ab", "cd"), 1))

Ergebnis: false

fn:exists(item,item,...)

Wird der Wert des Parameters nicht eine leere Sequenz sein, wird true zurückgegeben, sonst false.

Beispiel: exists(remove(("ab"), 1))

Ergebnis: false

fn:distinct-values((item,item,...),collation)

Rückgabe einzigartiger Werte.

Beispiel: distinct-values((1, 2, 3, 1, 2))

Ergebnis: (1, 2, 3)

fn:insert-before((item,item,...),pos,inserts)

Rückgabe einer neuen Sequenz, die durch den item-Parameter konstruiert wird - gleichzeitig wird der Wert der inserts-Parameter an der von dem pos-Parameter angegebenen Position eingefügt.

Beispiel: insert-before(("ab", "cd"), 0, "gh")

Ergebnis: ("gh", "ab", "cd")

Beispiel: insert-before(("ab", "cd"), 1, "gh")

Ergebnis: ("gh", "ab", "cd")

Beispiel: insert-before(("ab", "cd"), 2, "gh")

Ergebnis: ("ab", "gh", "cd")

Beispiel: insert-before(("ab", "cd"), 5, "gh")

Ergebnis: ("ab", "cd", "gh")

fn:reverse((item,item,...))

Rückgabe der umgekehrten Reihenfolge der angegebenen Elemente.

Beispiel: reverse(("ab", "cd", "ef"))

Ergebnis: ("ef", "cd", "ab")

Beispiel: reverse(("ab"))

Ergebnis: ("ab")

fn:subsequence((item,item,...),start,len)

Rückgabe der Elementsequenz an der von dem start-Parameter angegebenen Position, die Länge der Sequenz wird durch den len-Parameter bestimmt.

Die Position des ersten Elements ist 1.

Beispiel: subsequence(($item1, $item2, $item3,...), 3)

Ergebnis: ($item3, ...)

Beispiel: subsequence(($item1, $item2, $item3, ...), 2, 2)

Ergebnis: ($item2, $item3)

fn:unordered((item,item,...)) Die Reihenfolge der Rückgabe der Elemente wird durch die Implementierung bestimmt.

Funktion zur Überprüfung der Kapazität der Sequenz

名称 Erklärung
fn:zero-or-one(item,item,...) Gibt den Parameter zurück, wenn er keine oder ein Element enthält, sonst wird ein Fehler generiert.
fn:one-or-more(item,item,...) Gibt den Parameter zurück, wenn er ein oder mehrere Elemente enthält, sonst wird ein Fehler generiert.
fn:exactly-one(item,item,...) Gibt den Parameter zurück, wenn er ein Element enthält, sonst wird ein Fehler generiert.

Gleichheit, Union, Intersection und Ausnahme

名称 Erklärung
fn:deep-equal(param1,param2,collation) Gibt true zurück, wenn param1 und param2 gleich sind (deep-equal), sonst false.

Kombinationsfunktionen

名称 Erklärung
fn:count((item,item,...)) Gibt die Anzahl der Knoten zurück.
fn:avg((arg,arg,...))

Gibt den Durchschnitt der Werte der Parameter zurück.

Beispiel: avg((1,2,3))

Ergebnis: 2

fn:max((arg,arg,...))

Gibt den Parameter zurück, der größer als die anderen Parameter ist.

Beispiel: max((1,2,3))

Ergebnis: 3

Beispiel: max(('a', 'k'))

Ergebnis: 'k'

fn:min((arg,arg,...))

Gibt den Parameter zurück, der kleiner als die anderen Parameter ist.

Beispiel: min((1,2,3))

Ergebnis: 1

Beispiel: min(('a', 'k'))

Ergebnis: 'a'

fn:sum(arg,arg,...) Gibt die Summe der numerischen Werte aller Knoten in der angegebenen Knotenmenge zurück.

Funktionen zur Generierung von Sequenzen

名称 Erklärung
fn:id((string,string,...),node) Gibt eine Sequenz von Elementknoten zurück, deren ID-Werte mit den in der Zeichenkette string angegebenen einem oder mehreren Werten übereinstimmen.
fn:idref((string,string,...),node) Gibt eine Sequenz von Element- oder Attributknoten zurück, deren IDREF-Werte mit den in der Zeichenkette string angegebenen einem oder mehreren Werten übereinstimmen.
fn:doc(URI)  
fn:doc-available(URI) Gibt true zurück, wenn die Funktion doc() einen Dokumentknoten zurückgibt, sonst false.
  • fn:collection()
  • fn:collection(string)
 

Kontextfunktionen

名称 Erklärung
fn:position()

Gibt die Indexposition des aktuellen verarbeiteten Knotens zurück.

Beispiel: //book[position()<=3]

Ergebnis: Die ersten drei book-Elemente auswählen

fn:last()

返回在被处理的节点列表中的项目数目。

例子://book[last()]

结果:选择最后一个 book 元素

fn:current-dateTime() 返回当前的 dateTime(带有时区)。
fn:current-date() 返回当前的日期(带有时区)。
fn:current-time() 返回当前的时间(带有时区)。
fn:implicit-timezone() 返回隐式时区的值。
fn:default-collation() 返回默认对照的值。
fn:static-base-uri() 返回 base-uri 的值。

XSLT 函数

此外,还有以下内置的 XSLT 函数:

名称 描述
current() 返回当前节点作为唯一成员的节点集。
document() 用于访问外部 XML 文档中的节点。
element-available() 检测 XSLT 处理器是否支持指定的元素。
format-number() 把数字转换为字符串。
function-available() 检测 XSLT 处理器是否支持指定的函数。
generate-id() 返回唯一标识指定节点的字符串值。
key() 检索以前使用 <xsl:key> 语句标记的元素。
node-set 将树转换为节点集。产生的节点集总是包含单个节点并且是树的根节点。
system-property() 返回系统属性的值。
unparsed-entity-uri() 返回未解析实体的 URI。

Top

其他 XML DOM 对象

Top