Panduan referensi XML

Panduan referensi XML

节点类型

下面的表格列出了不同的 W3C 节点类型,以及它们可拥有的子元素:

节点类型 描述 子元素
Document 表示整个文档(DOM 树的根节点)
  • Element (max. one)
  • ProcessingInstruction
  • Comment
  • DocumentType
DocumentFragment 表示轻量级的 Document 对象,其中容纳了一部分文档。
  • ProcessingInstruction
  • Comment
  • Text
  • CDATASection
  • EntityReference
DocumentType 向为文档定义的实体提供接口。 None
ProcessingInstruction 表示处理指令。 None
EntityReference 表示实体引用元素。
  • ProcessingInstruction
  • Comment
  • Text
  • CDATASection
  • EntityReference
Element 表示 element(元素)元素
  • Text
  • Comment
  • ProcessingInstruction
  • CDATASection
  • EntityReference
Attr 表示属性。
  • Text
  • EntityReference
Text 表示元素或属性中的文本内容。 None
CDATASection 表示文档中的 CDATA 区段(文本不会被解析器解析) None
Comment 表示注释。 None
Entitas 表示实体。
  • ProcessingInstruction
  • Comment
  • Text
  • CDATASection
  • EntityReference
Notasi 表示在 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 Konten Nod
CDATASection #cdata-section Konten Nod
Entitas Nama Entitas null
Notasi Nama Simbol null

NodeTypes - Konstanta yang bernama

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

Atas

XML DOM Node 对象

Atribut objek Nod

Atribut 描述
attributes NamedNodeMap yang mengandung atribut bagi nod ini (jika nod ini adalah elemen).
baseURI Kembalikan URI dasar bagi nod.
childNodes Kembalikan NodeList anak nod bagi nod.
firstChild Kembalikan anak nod pertama bagi nod.
lastChild Kembalikan anak nod terakhir bagi nod.
nextSibling Kembalikan nod yang mendahului nod yang sama tingkatan.
nodeName Kembalikan nama node, mengikut jenisnya.
nodeType Kembalikan jenis node.
nodeValue Tetapkan atau kembalikan nilai node, mengikut jenisnya.
ownerDocument Kembalikan elemen root bagi nod (objek dokumen).
parentNode Kembalikan nod orang tua bagi nod.
prefix Tetapkan atau kembalikan awalan ruang nama bagi nod.
previousSibling Kembalikan nod yang mendahului nod yang sama tingkatan.
textContent Tetapkan atau kembalikan konten teks bagi nod dan turunannya.

Kemampuan objek Nod

Kaedah 描述
appendChild() Tambahkan anak nod baru ke akhir senarai anak nod nod.
cloneNode() 克隆节点。
compareDocumentPosition() Bandingkan posisi kedua nod dalam struktur DOM (dokumen).
getFeature(feature,version) 返回 DOM 对象,该对象实现指定特性和版本的专用 API。
getUserData(key)

Kembalikan objek yang berhubungan dengan kunci di atas nod.

Harus mengatur objek ini ke nod ini terlebih dahulu, melalui pemanggilan yang sama ke setUserData.

hasAttributes() Kembalikan true jika nod yang ditentukan mempunyai atribut, sebaliknya kembalikan false.
hasChildNodes() Kembalikan true jika nod yang ditentukan mempunyai anak nod, sebaliknya kembalikan false.
insertBefore() Sisipkan anak nod baru sebelum anak nod yang ditentukan.
isDefaultNamespace(URI) Periksa jika URI ruang nama yang ditentukan adalah baku.
isEqualNode() Memeriksa apakah dua node sama.
isSameNode() Periksa jika kedua nod adalah nod yang sama.
lookupNamespaceURI() Kembalikan URI ruang nama yang berhubungan dengan awalan yang diberikan.
lookupPrefix() Kembalikan awalan yang berhubungan dengan URI ruang nama yang diberikan.
normalize() Gabungkan nod teks yang berdekatan dan hapus nod teks yang kosong.
removeChild() Hapus (dan kembalikan) anak nod yang ditentukan bagi nod saat ini.
replaceChild() Gantikan anak nod dengan nod baru.
setUserData(key,data,handler) Hubungkan objek dengan kunci di atas nod.

Atas

XML DOM NodeList 对象

Atribut objek NodeList

Atribut 描述
length Kembalikan bilangan nod dalam senarai nod.

Kemampuan objek NodeList

Kaedah 描述
item() Kembalikan nod bagi indeks yang ditentukan dalam senarai nod.

Atas

XML DOM NamedNodeMap 对象

Atribut objek NamedNodeMap

Atribut 描述
length Kembalikan jumlah node dalam daftar.

Method objek NamedNodeMap

Kaedah 描述
getNamedItem() Kembalikan node dengan nama yang spesifik.
getNamedItemNS() Kembalikan node dengan nama dan ruang nama yang spesifik.
item() Kembalikan node di indeks yang ditentukan.
removeNamedItem() Hapus node dengan nama yang spesifik.
removeNamedItemNS() Hapus node dengan nama dan ruang nama yang spesifik.
setNamedItem() Atur node yang ditentukan (menurut nama).
setNamedItemNS() Atur node yang ditentukan (menurut nama dan ruang nama).

Atas

XML DOM Document 对象

Atribut objek Document

Atribut 描述
childNodes Kembalikan NodeList anak anak dokumen.
doctype Kembalikan deklarasi tipe dokumen yang berhubungan dengan dokumen.
documentElement Kembalikan node akar dokumen.
documentURI Atur atau kembalikan lokasi dokumen.
domConfig Kembalikan konfigurasi yang digunakan saat dipanggil normalizeDocument().
firstChild Kembalikan node anak pertama dokumen.
implementation Kembalikan objek DOMImplementation yang menangani dokumen ini.
inputEncoding Kembalikan cara pengkodean yang digunakan dokumen (pada saat pengurai).
lastChild Kembalikan node anak terakhir dokumen.
nodeName Kembalikan nama node (tergantung dari jenisnya).
nodeType Kembalikan jenis node.
nodeValue Atur atau kembalikan nilai node (tergantung dari jenisnya).
xmlEncoding Kembalikan cara pengkodean XML dokumen.
xmlStandalone Atur atau kembalikan apakah dokumen adalah mandiri.
xmlVersion Atur atau kembalikan versi XML dokumen.

Method objek Document

Kaedah 描述
adoptNode() Terima node dari dokumen lain ke dokumen ini dan kembalikan node yang diadopsi.
createAttribute() Buat node atribut dengan nama yang ditentukan, dan kembalikan objek Attr yang baru.
createAttributeNS() Buat node atribut dengan nama dan ruang nama yang ditentukan, dan kembalikan objek Attr yang baru.
createCDATASection() Buat node section CDATA.
createComment() Buat node komen.
createDocumentFragment() Buat objek DocumentFragment kosong dan kembalikan dia.
createElement() Buat node elemen.
createElementNS() Buat node elemen dengan ruang nama yang ditentukan.
createEntityReference() Buat objek EntityReference dan kembalikan objek ini.
createProcessingInstruction() Buat objek ProcessingInstruction dan kembalikan objek ini.
createTextNode() Buat node teks.
getElementById() Kembalikan elemen yang memiliki atribut id dengan nilai yang diberikan.
getElementsByTagName() Kembalikan NodeList yang memiliki nama yang ditentukan.
getElementsByTagNameNS() Kembalikan NodeList yang memiliki nama dan ruang nama yang ditentukan.
importNode() Impor node dari dokumen lain ke dokumen ini.
normalizeDocument()
renameNode() Ganti nama node elemen atau atribut.

Atribut objek DocumentType

Setiap dokumen memiliki atribut DOCTYPE, yang bernilai null atau objek DocumentType.

Objek DocumentType menyediakan antarmuka untuk entitas yang didefinisikan dalam dokumen XML.

Atribut 描述
name Kembalikan nama DTD.
publicId Kembalikan identifikasi publik DTD.
systemId Kembalikan identifikasi sistem DTD eksternal.

Metode objek DocumentImplementation

Objek DOMImplementation melaksanakan operasi khusus yang independen dari model objek dokumen.

Kaedah 描述
createDocument() Buat objek DOM Document baru untuk tipe dokumen yang ditentukan.
createDocumentType() Buat node DocumentType yang kosong.
getFeature() Kembalikan objek API yang mengimplementasikan fitur dan versi yang ditentukan (jika ada).
hasFeature() Periksa apakah implementasi DOM mengimplementasikan fitur khusus dan versi.

Atribut objek ProcessingInstruction

Objek ProcessingInstruction merepresentasikan arahan pengolahan.

Arah pengolahan digunakan sebagai metode untuk mempertahankan informasi khusus penangkap di dalam teks dokumen XML.

Atribut 描述
data Tetapkan atau kembalikan isi arahan pengolahan ini.
target Kembalikan objek tujuan arahan pengolahan.

Atas

XML DOM Element 对象

Atribut objek Element.

Atribut 描述
attributes Kembalikan atribut elemen NamedNodeMap.
baseURI 返回元素的绝对基准 URI。
childNodes 返回元素的子节点的 NodeList。
firstChild 返回元素的第一个子元素。
lastChild 返回元素的最后一个子元素。
localName 返回元素名称的本地部分。
namespaceURI 返回元素的命名空间 URI。
nextSibling 返回紧随该元素之后的节点。
nodeName 返回节点的名称,取决于其类型。
nodeType Kembalikan jenis node.
ownerDocument 返回元素的根元素(文档对象)。
parentNode 返回元素的父节点。
prefix 设置或返回元素的命名空间前缀。
previousSibling 返回紧邻该元素之前的节点。
schemaTypeInfo 返回与元素相关联的类型信息。
tagName 返回元素的名称。
textContent 设置或返回元素及其后代的文本内容。

Element 对象的方法

Kaedah 描述
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() Menyisipkan node anak baru sebelum node anak yang ada.
isDefaultNamespace(URI) Mengembalikan apakah namespaceURI yang ditentukan adalah namespace standar.
isEqualNode() Memeriksa apakah dua node sama.
lookupNamespaceURI() Mengembalikan URI namespace yang cocok dengan prefiks yang ditentukan.
lookupPrefix() Mengembalikan prefiks yang cocok dengan URI namespace yang ditentukan.
normalize()

Metode normalize() menghapus node teks yang kosong dan menggabungkan node teks yang berdekatan.

Mengaturkan semua node teks di bawah elemen (termasuk atribut) untuk normalisasi, di mana hanya struktur (seperti elemen, catatan, perintah pengaturan, bagian CDATA dan referensi entitas) memisahkan node teks.

Artinya, tidak ada node teks yang berdekatan, tetapi juga tidak ada node teks yang kosong.

removeAttribute() Menghapus atribut yang ditentukan.
removeAttributeNS() Menghapus atribut yang ditentukan (dengan namespace).
removeAttributeNode() Menghapus node atribut yang ditentukan.
removeChild() Menghapus node anak.
replaceChild() Mengganti node anak.
setUserData(key,data,handler) Menghubungkan objek dengan kunci di elemen.
setAttribute() Menambahkan atribut baru.
setAttributeNS() Menambahkan atribut baru (dengan namespace).
setAttributeNode() Menambahkan node atribut baru.
setAttributeNodeNS(attrnode) Menambahkan node atribut baru (dengan namespace).
setIdAttribute(name,isId) Jika atribut Attribute objek isId adalah true, metode ini akan mengumumkan atribut yang ditentukan oleh pengguna sebagai atribut ID pengguna.
setIdAttributeNS(uri,name,isId) Jika atribut Attribute objek isId adalah true, metode ini akan mengumumkan atribut yang ditentukan (dengan namespace) sebagai atribut ID pengguna yang ditentukan.
setIdAttributeNode(idAttr,isId) Jika atribut Attribute objek isId adalah true, metode ini akan mengumumkan atribut yang ditentukan oleh pengguna sebagai atribut ID pengguna.

Atas

Atribut objek Attr

Atribut 描述
baseURI Mengembalikan URI asal atribut.
isId Jika atribut adalah tipe id, kembalikan true, sebaliknya kembalikan false.
localName Mengembalikan bagian lokal nama atribut.
name Mengembalikan nama atribut.
namespaceURI Mengembalikan URI namespace dari atribut.
nodeName Kembalikan nama node, mengikut jenisnya.
nodeType Kembalikan jenis node.
nodeValue Tetapkan atau kembalikan nilai node, mengikut jenisnya.
ownerDocument Kembalikan elemen rumpun (objek dokumen).
ownerElement Kembalikan node elemen yang berikat kepada atribut.
prefix Tetapkan atau kembalikan prefix namasapu atribut.
schemaTypeInfo Kembalikan maklumat jenis yang berhubungan dengan atribut.
specified

Jika nilai atribut telah ditetapkan dalam dokumen, kembalikan true;

Jika nilai atribut adalah nilai baku DTD/Schema, kembalikan false.

textContent Tetapkan atau kembalikan kandungan teks atribut.
value Tetapkan atau kembalikan nilai atribut.

Atas

XML DOM Text 对象

Atribut objek Text

Atribut 描述
data Tetapkan atau kembalikan teks bagi elemen atau atribut.
isElementContentWhitespace Memeriksa sama ada node teks mengandungi kandungan ruang kosong.
length Kembalikan panjang teks bagi elemen atau atribut.
wholeText Kembalikan semua teks bagi node teks berdekatan, dihubungkan mengikut urutan dokumen.

Kaedah objek Text

Kaedah 描述
appendData() Tambah data ke dalam node.
deleteData() Buang data daripada node.
insertData() Sisipkan data di dalam node.
replaceData() Ganti data di dalam node.
replaceWholeText(text) Ganti teks bagi node ini dan semua node teks berdekatan dengan teks yang diberikan.
splitText() Pisahkan node teks kepada dua.
substringData() Ambil data daripada node.

Atas

XML DOM CDATASection 对象

Atribut objek CDATASection

Atribut 描述
data Tetapkan atau kembalikan teks bagi node ini.
length Kembalikan panjang CDATA.

Kaedah objek CDATASection

Kaedah 描述
appendData() Tambah data ke dalam node.
deleteData() Buang data daripada node.
insertData() Sisipkan data di dalam node.
replaceData() Ganti data di dalam node.
splitText() Pisahkan node CDATA kepada dua node.
substringData() Ambil data daripada node.

Atas

XML DOM Comment 对象

Atribut objek Comment

Atribut 描述
data Tetapkan atau kembalikan teks bagi node ini.
length Kembalikan panjang teks bagi node ini.

Kaedah objek Comment

Kaedah 描述
appendData() Tambah data ke dalam node.
deleteData() Buang data daripada node.
insertData() Sisipkan data di dalam node.
replaceData() Ganti data di dalam node.
substringData() Ambil data daripada node.

Atas

XML DOM XMLHttpRequest 对象

Kaedah objek XMLHttpRequest

Kaedah 描述
abort() Batal permintaan semasa.
getAllResponseHeaders() Kembalikan maklumat tajuk.
getResponseHeader() Kembalikan nilai yang dikehendaki bagi pilihan tajuk penghantar HTTP.
open(method,url,async,uname,pswd)

Tentukan jenis permintaan, URL, sama ada perlu untuk mengurus permintaan secara asin dan properti pilihan lainnya yang boleh dihantar permintaan.

  • method: Jenis permintaan: GET atau POST
  • url: lokasi file di pelayan
  • async: true (asynchronous) atau false (synchronous)
send(string)

Hantar permintaan ke pelayan.

string: Hanya digunakan untuk permintaan POST.

setRequestHeader() Tambahkan pasangan tajuk/nilai ke header yang akan dihantar.

Atribut objek XMLHttpRequest

Atribut 描述
onreadystatechange Simpan fungsi yang dipanggil secara otomatis ketika atribut readyState berubah (atau nama fungsi).
readyState

Simpan status XMLHttpRequest. Perubahan dari 0 hingga 4:

  • 0: Permintaan belum diinisialisasi.
  • 1: Koneksi pelayan telah dibangunkan.
  • 2: Permintaan diterima.
  • 3: Permintaan dalam proses pemrosesan.
  • 4: Permintaan selesai, respons siap.
responseText Kembalikan data respons, dalam bentuk string.
responseXML Kembalikan data respons, dalam bentuk data XML.
status Kembalikan nombor status (contohnya "404" untuk "Not Found", atau "200" untuk "OK").
statusText Kembalikan teks status (contohnya "Not Found" atau "OK").

Atas

Elemen XSD

元素 Pengertian
all Tentukan bagaimana elemen anak dapat muncul dalam urutan sebarang, setiap elemen anak boleh muncul nol kali atau sekali.
annotation Elemen annotation adalah elemen tingkatan pertama, menentukan komen schema.
any Memungkinkan penulis untuk ekspandikan dokumen XML melalui elemen yang belum disyarakkan schema.
anyAttribute Memungkinkan penulis untuk ekspandikan dokumen XML melalui sifat yang belum disyarakkan schema.
appInfo Tentukan maklumat yang digunakan oleh aplikasi dalam elemen annotation.
attribute Tentukan sifat satu.
attributeGroup Tentukan kumpulan sifat yang digunakan dalam definisi jenis kompleks.
choice Hanya membenarkan satu elemen untuk muncul dalam elemen yang disertai dalam pernyataan <choice>.
complexContent Tentukan ekspansi atau batasan bagi jenis kompleks (termasuk kandungan campuran atau hanya mengandungi elemen).
complexType Tentukan jenis kompleks.
documentation Tentukan komen teks dalam schema.
element Tentukan elemen.
extension Ekspand elemen simpleType atau complexType yang sudah ada.
field 规定 XPath 表达式,该表达式规定用于定义标识约束的值。
group 定义在复杂类型定义中使用的元素组。
import 向一个文档添加带有不同目标命名空间的多个 schema。
include 向一个文档添加带有相同目标命名空间的多个 schema。
key 指定属性或元素值(或一组值)必须是指定范围内的键。
keyref 规定属性或元素值(或一组值)对应指定的 key 或 unique 元素的值。
list 把简单类型定义为指定数据类型的值的一个列表。
notation 描述 XML 文档中非 XML 数据的格式。
redefine 重新定义从外部架构文件中获取的简单和复杂类型、组和属性组。
restriction 定义对 simpleType、simpleContent 或 complexContent 的约束。
schema 定义 schema 的根元素。
selector 指定 XPath 表达式,该表达式为标识约束选择一组元素。
sequence 要求子元素必须按顺序出现。每个子元素可出现 0 到任意次数。
simpleContent 包含对 complexType 元素的扩展或限制且不包含任何元素。
simpleType 定义一个简单类型,规定约束以及关于属性或仅含文本的元素的值的信息。
union 定义多个 simpleType 定义的集合。
unique 指定属性或元素值(或者属性或元素值的组合)在指定范围内必须是唯一的。

对数据类型的 XSD 限定

参阅 XSD 限定 / Facets

限定 描述
enumeration 定义可接受值的一个列表
fractionDigits 定义所允许的最大的小数位数。必须大于等于0。
length 定义所允许的字符或者列表项目的精确数目。必须大于或等于0。
maxExclusive 定义数值的上限。所允许的值必须小于此值。
maxInclusive 定义数值的上限。所允许的值必须小于或等于此值。
maxLength 定义所允许的字符或者列表项目的最大数目。必须大于或等于0。
minExclusive 定义数值的下限。所允许的值必需大于此值。
minInclusive 定义数值的下限。所允许的值必需大于或等于此值。
minLength 定义所允许的字符或者列表项目的最小数目。必须大于或等于0。
pattern 定义可接受的字符的精确序列。
totalDigits 定义所允许的阿拉伯数字的精确位数。必须大于0。
whiteSpace 定义空白字符(换行、回车、空格以及制表符)的处理方式。

Atas

XSLT 元素

元素 描述
apply-imports 应用来自导入样式表中的模版规则。
apply-templates 向当前元素或当前元素的子元素应用模板。
attribute 向元素添加属性。
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 规定 <choose> 元素的默认动作。
output 定义输出文档的格式。
param 声明一个局部或全局参数。
preserve-space 用于定义保留空白的元素。
processing-instruction 生成处理指令节点。
sort 对结果进行排序。
strip-space 定义应当删除空白字符的元素。
stylesheet Tentukan elemen root stylesheet.
template aturan yang diterapkan ketika node yang ditentukan disesuaikan.
text Buat node teks melalui stylesheet.
transform Tentukan elemen root stylesheet.
value-of Ekstrak nilai node yang dipilih.
variable Deklarasikan variabel lokal atau global.
when Tentukan tindakan elemen <choose>.
with-param Tentukan nilai parameter yang perlu disertakan ke dalam model.

Atas

XSLT、XPath 以及 XQuery 函数

fungsi akses.

名称 Keterangan
fn:node-name(node) mengembalikan nama node parameter.
fn:nilled(node) mengembalikan nilai boolean apakah node parameter ditolak.
fn:data(item.item,...) menerima urutan item dan mengembalikan urutan nilai atom.
  • fn:base-uri()
  • fn:base-uri(node)
mengembalikan nilai atribut base-uri node semasa atau node yang ditentukan.
fn:document-uri(node) mengembalikan nilai atribut document-uri node yang ditentukan.

fungsi kesalahan dan trace.

名称 Keterangan
  • fn:error()
  • fn:error(error)
  • fn:error(error,description)
  • fn:error(error,description,error-object)

contoh:error(fn:QName('http://example.com/test', 'err:toohigh'), 'Error: Harga terlalu tinggi')

hasil: mengembalikan http://example.com/test#toohigh kepada lingkungan pengelolaan luaran serta string "Error: Harga terlalu tinggi".

fn:trace(value,label) dipergunakan untuk debug kueri.

fungsi mengenai nilai.

名称 Keterangan
fn:number(arg)

mengembalikan nilai parameter. Parameter boleh adalah nilai boolean, string atau kumpulan node.

contoh:number('100')

hasil:100

fn:abs(num)

mengembalikan nilai absolut parameter.

contoh:abs(3.14)

hasil:3.14

contoh:abs(-3.14)

hasil:3.14

fn:ceiling(num)

mengembalikan bilangan bulat terkecil yang lebih besar daripada parameter num.

contoh:ceiling(3.14)

结果:4

fn:floor(num)

Kembalikan bilangan bulat terbesar yang tidak melebihi parameter num.

Contoh: floor(3.14)

Hasil: 3

fn:round(num)

Buang parameter num sehingga mendekati bilangan bulat terdekat.

Contoh: round(3.14)

Hasil: 3

fn:round-half-to-even()

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

结果:0

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

Hasil: 2

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

Hasil: 2

Fungsi-fungsi string

名称 Keterangan
fn:string(arg)

Kembalikan nilai string parameter. Parameter dapat berupa angka, nilai logis, atau kumpulan node.

Contoh: string(314)

Hasil: "314"

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

Kembalikan string dari urutan kode.

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

Hasil: 'Thérèse'

fn:string-to-codepoints(string)

Kembalikan urutan kode dari string.

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

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

fn:codepoint-equal(comp1,comp2) Berdasarkan penghubung kode Unicode, jika nilai comp1 sama dengan nilai comp2, kembalikan true. (http://www.w3.org/2005/02/xpath-functions/collation/codepoint), jika tidak kembalikan false.
  • fn:compare(comp1,comp2)
  • fn:compare(comp1,comp2,collation)

Jika comp1 lebih kecil daripada comp2, kembalikan -1. Jika comp1 sama dengan comp2, kembalikan 0. Jika comp1 lebih besar daripada comp2, kembalikan 1. (Berdasarkan aturan penghubung yang digunakan).

Contoh: compare('ghi', 'ghi')

结果:0

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

Kembalikan gabungan string.

Contoh: concat('XPath ','adalah ','FUN!')

Hasil: 'XPath adalah FUN!'

fn:penyambungkan((string,string,...),sep)

Gunakan parameter sep sebagai pemisah untuk mengembalikan string yang disambungkan setelah parameter string disambung.]}

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

Hasil: ' We are having fun! '

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

Hasil: 'Wearehavingfun!'

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

Hasil: ''

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

Kembalikan substrang yang panjangnya ditentukan dari lokasi start. Indeks pertama adalah 1. Jika parameter len diabaikan, kembalikan substrang dari lokasi start hingga akhir string.

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

Hasil: 'Beat'

Contoh: substring('Beatles',2)

Hasil: 'eatles'

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

Kembalikan panjang string yang ditentukan. Jika tiada parameter string, kembalikan panjang nilai string node sekarang.

Contoh: string-length('Beatles')

Hasil: 7

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

Buang ruang kosong di permulaan dan akhir string yang ditentukan, dan ganti semua turutan ruang dalam string kepada satu, kemudian kembalikan hasil. Jika tiada parameter string, maka mengolah node sekarang.

Contoh: normalize-space(' The   XML ')

Hasil: 'The XML'

fn:normalize-unicode() Melaksanakan pengiktirafan Unicode.
fn:upper-case(string)

Tukar parameter string kepada huruf besar.

Contoh: upper-case('The XML')

Hasil: 'THE XML'

fn:lower-case(string)

Tukar parameter string kepada huruf kecil.

Contoh: lower-case('The XML')

Hasil: 'the xml'

fn:translate(string1,string2,string3)

Ganti string2 dalam string1 dengan string3.

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

Hasil: '12:45'

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

Hasil: '12:45'

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

Hasil: 'bc:da'

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

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

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

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

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

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

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

fn:contains(string1,string2)

Jika string1 mengandungi string2, kembalikan true, jika tidak kembalikan false.

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

Hasil: true

fn:starts-with(string1,string2)

Jika string1 bermula dengan string2, kembalikan true, jika tidak kembalikan false.

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

Hasil: true

fn:ends-with(string1,string2)

Jika string1 berakhir dengan string2, kembalikan true, jika tidak kembalikan false.

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

结果:false

fn:substring-before(string1,string2)

Balikkan substring sebelum string2 muncul dalam string1.

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

Hasil: '12'

fn:substring-after(string1,string2)

Balikkan substring selepas string2 muncul dalam string1.

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

Hasil: '10'

fn:matches(string,pattern)

Jika parameter string cocok dengan pola yang ditentukan, kembalikan true, jika tidak kembalikan false.

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

Hasil: true

fn:replace(string,pattern,replace)

Ganti pola yang ditentukan ke replace parameter, dan kembalikan hasil.

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

Hasil: 'Be**a Ita*ia'

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

Hasil: 'Bea Itaia'

fn:tokenize(string,pattern)

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

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

Fungsi untuk anyURI

名称 Keterangan
fn:resolve-uri(relative,base)  

Fungsi tentang nilai boolean

名称 Keterangan
fn:boolean(arg) Kembalikan nilai boolean untuk angka, string, atau koleksi node.
fn:not(arg)

Saat pertama, konversi parameter kembali ke nilai boolean melalui fungsi boolean().

Jika nilai boolean ini adalah false, kembalikan true, jika tidak kembalikan true.

Contoh: not(true())

结果:false

fn:true()

Kembalikan nilai boolean true.

Contoh: true()

Hasil: true

fn:false()

Kembalikan nilai boolean false.

Contoh: false()

结果:false

Fungsi tentang durasi, tanggal, dan waktu

Fungsi pemecah komponen tanggal, waktu, dan durasi

名称 Keterangan
fn:dateTime(date,time) Konversi parameter ke tanggal dan waktu.
fn:years-from-duration(datetimedur) Kembalikan nilai tahun parameter dalam bentuk bilangan bulat, diwakili dalam notasi kata biasa.
fn:months-from-duration(datetimedur) Kembalikan nilai bulan parameter dalam bentuk bilangan bulat, diwakili dalam notasi kata biasa.
fn:days-from-duration(datetimedur) Kembalikan nilai hari parameter dalam bentuk bilangan bulat, diwakili dalam notasi kata biasa.
fn:hours-from-duration(datetimedur) Mengembalikan nilai parameter dalam bentuk bilangan bulat bagian jam, dalam hal halus kata standar.
fn:minutes-from-duration(datetimedur) Mengembalikan nilai parameter dalam bentuk bilangan bulat bagian menit, dalam hal halus kata standar.
fn:seconds-from-duration(datetimedur) Mengembalikan nilai parameter dalam bentuk bilangan desimal bagian menit, dalam hal halus kata standar.
fn:year-from-dateTime(datetime)

Mengembalikan nilai lokal parameter dalam bentuk bilangan bulat bagian tahun.

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

结果:2005

fn:month-from-dateTime(datetime)

Mengembalikan nilai lokal parameter dalam bentuk bilangan bulat bagian bulan.

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

Hasil: 01

fn:day-from-dateTime(datetime)

Mengembalikan nilai lokal parameter dalam bentuk bilangan bulat bagian hari.

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

结果:10

fn:hours-from-dateTime(datetime)

Mengembalikan nilai lokal parameter dalam bentuk bilangan bulat bagian jam.

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

Hasil: 12

fn:minutes-from-dateTime(datetime)

Mengembalikan nilai lokal parameter dalam bentuk bilangan bulat bagian menit.

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

Hasil: 30

fn:seconds-from-dateTime(datetime)

Mengembalikan nilai lokal parameter dalam bentuk bilangan desimal bagian detik.

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

结果:0

fn:timezone-from-dateTime(datetime) 返回参数的时区部分,如果存在。
fn:year-from-date(date)

Mengembalikan nilai lokal parameter dalam bentuk bilangan bulat yang menunjukkan tahun.

Contoh: 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 参数为空,则返回没有时区的 date。

否则返回带有时区的 date。

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

如果 timezone 参数为空,则返回没有时区的 time。

否则返回带有时区的 time。

与 QNames 相关的函数

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

Fungsi tentang node

名称 Keterangan
  • fn:name()
  • fn:name(nodeset)
Kembalikan nama node saat ini atau node pertama dalam kumpulan node.
  • fn:local-name()
  • fn:local-name(nodeset)
Kembalikan nama node saat ini atau node pertama dalam kumpulan node tanpa prefiks ruang nama.
  • fn:namespace-uri()
  • fn:namespace-uri(nodeset)
Kembalikan URI ruang nama untuk node saat ini atau kumpulan node yang ditentukan.
fn:lang(lang)

Jika bahasa node saat ini cocok dengan bahasa yang ditentukan, kembalikan true.

Contoh: Lang("en") adalah true untuk <p xml:lang="en">...</p>

Contoh: Lang("de") adalah false untuk <p xml:lang="en">...</p>

  • fn:root()
  • fn:root(node)
Kembalikan akar pohon node untuk node saat ini atau node yang ditentukan. Biasanya adalah node dokumen.

Fungsi tentang urutan

Fungsi umum

名称 Keterangan
fn:index-of((item,item,...),searchitem)

Kembalikan posisi dalam urutan item yang sama dengan parameter searchitem.

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

Hasil: (2, 4)

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

Hasil (1, 4)

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

Hasil: ()

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

Kembalikan urutan baru yang dibuat dari parameter item - menghapus item yang ditentukan oleh parameter posisi.

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

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

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

Hasil: ("cd", "ef")

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

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

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

Jika nilai parameter kosong, kembalikan true, jika tidak kembalikan false.

Contoh: 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 参数构造的新序列 - 同时在 pos 参数指定位置插入 inserts 参数的值。

例子: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,...)) 根据实现决定的顺序来返回项目。

函数用于测试序列容量

名称 Keterangan
fn:zero-or-one(item,item,...) Jika parameter mengandung nol atau satu item, kembalikan parameter, jika tidak buat kesalahan.
fn:one-or-more(item,item,...) Jika parameter mengandung satu atau lebih item, kembalikan parameter, jika tidak buat kesalahan.
fn:exactly-one(item,item,...) Jika parameter mengandung satu item, kembalikan parameter, jika tidak buat kesalahan.

Sama, Union, Intersep dan Except

名称 Keterangan
fn:deep-equal(param1,param2,collation) Jika param1 dan param2 sama dengan satu sama lain (deep-equal), kembalikan true, jika tidak kembalikan false.

Fungsi penggabungan

名称 Keterangan
fn:count((item,item,...)) Kembalikan jumlah node.
fn:avg((arg,arg,...))

Kembalikan rata-rata nilai parameter.

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

Hasil: 2

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

Kembalikan parameter yang lebih besar daripada parameter lain.

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

Hasil: 3

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

Hasil: 'k'

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

Kembalikan parameter yang lebih kecil daripada parameter lain.

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

Hasil: 1

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

Hasil: 'a'

fn:sum(arg,arg,...) Kembalikan total nilai numerik dari setiap node dalam kumpulan node yang ditentukan.

Fungsi pengenerate urutan

名称 Keterangan
fn:id((string,string,...),node) Kembalikan urutan node elemen, dimana nilai IDnya sama dengan satu atau beberapa nilai yang ditentukan dalam parameter string.
fn:idref((string,string,...),node) Kembalikan urutan elemen atau node atribut, dimana nilai IDREFnya sama dengan satu atau beberapa nilai yang ditentukan dalam parameter string.
fn:doc(URI)  
fn:doc-available(URI) Jika fungsi doc() mengembalikan node dokumen, kembalikan true, jika tidak kembalikan false.
  • fn:collection()
  • fn:collection(string)
 

Fungsi konteks

名称 Keterangan
fn:position()

Kembalikan lokasi index node yang sedang diproses.

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

Hasil: Pilih tiga elemen buku pertama

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。

Atas

其他 XML DOM 对象

Atas