選單
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

XML 教程

XML HOME XML Introduction XML How to use XML Tree XML Syntax XML Elements XML Attributes XML Namespaces XML Display XML HttpRequest XML Parser XML DOM XML XPath XML XSLT XML XQuery XML XLink XML Validator XML DTD XML Schema XML Server XML Examples XML Quiz XML Certificate

XML AJAX

AJAX Introduction AJAX XMLHttp AJAX Request AJAX Response AJAX XML File AJAX PHP AJAX ASP AJAX Database AJAX Applications AJAX Examples

XML DOM

DOM Introduction DOM Nodes DOM Accessing DOM Node Info DOM Node List DOM Traversing DOM Navigating DOM Get Values DOM Change Nodes DOM Remove Nodes DOM Replace Nodes DOM Create Nodes DOM Add Nodes DOM Clone Nodes DOM Examples

XPath 教程

XPath Introduction XPath Nodes XPath Syntax XPath Axes XPath Operators XPath Examples

XSLT 教程

XSLT Introduction XSL Languages XSLT Transform XSLT <template> XSLT <value-of> XSLT <for-each> XSLT <sort> XSLT <if> XSLT <choose> XSLT Apply XSLT on the Client XSLT on the Server XSLT Edit XML XSLT Examples

XQuery 教程

XQuery Introduction XQuery Example XQuery FLWOR XQuery HTML XQuery Terms XQuery Syntax XQuery Add XQuery Select XQuery Functions

XML DTD

DTD Introduction DTD Building Blocks DTD Elements DTD Attributes DTD Elements vs Attr DTD Entities DTD Examples

XSD Schema

XSD Introduction XSD How To XSD <schema> XSD Elements XSD Attributes XSD Restrictions XSD Complex Elements XSD Empty XSD Elements-only XSD Text-only XSD Mixed XSD Indicators XSD <any> XSD <anyAttribute> XSD Substitution XSD Example

XSD Data Types

XSD String XSD Date/Time XSD Numeric XSD Misc XSD Reference

Web Services

XML Services XML WSDL XML SOAP XML RDF XML RSS

參考手冊

DOM Node Types DOM Node DOM NodeList DOM NamedNodeMap DOM Document DOM Element DOM Attribute DOM Text DOM CDATA DOM Comment DOM XMLHttpRequest DOM Parser XSLT Elements XSLT/XPath Functions

XSLT、XPath 和 XQuery 函式


XSLT 2.0、XPath 2.0 和 XQuery 1.0 共享相同的函式庫。


函式參考

函式名稱空間的預設字首是 fn
函式名稱空間的 URI 是: http://www.w3.org/2005/xpath-functions

提示:函式通常帶有 fn: 字首呼叫,例如 fn:string()。但是,由於 fn: 是名稱空間的預設字首,因此呼叫函式時不需要加上字首。

訪問器函式

名稱 描述
fn:node-name(節點) 返回引數節點的節點名稱
fn:nilled(節點) 返回一個布林值,指示引數節點是否為 nilled(空值)
fn:data(項.項,...) 接收一個項序列並返回一個原子值序列
fn:base-uri()
fn:base-uri(節點)
返回當前節點或指定節點的 base-uri 屬性的值
fn:document-uri(節點) 返回指定節點的 document-uri 屬性的值

錯誤和跟蹤函式

名稱 描述
fn:error()
fn:error(錯誤)
fn:error(錯誤,描述)
fn:error(錯誤,描述,錯誤物件)
示例: 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(值,標籤) 用於除錯查詢


數值函式

名稱 描述
fn:number(引數) 返回引數的數值。引數可以是布林值、字串或節點集

示例: number('100')
結果: 100

fn:abs(數字) 返回引數的絕對值

示例: abs(3.14)
結果: 3.14

示例: abs(-3.14)
結果: 3.14

fn:ceiling(數字) 返回大於數字引數的最小整數

示例: ceiling(3.14)
結果: 4

fn:floor(數字) 返回不大於數字引數的最大整數

示例: floor(3.14)
結果: 3

fn:round(數字) 將數字引數四捨五入到最接近的整數

示例: 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

字串函式

名稱 描述
fn:string(引數) 返回引數的字串值。引數可以是數字、布林值或節點集

示例: string(314)
結果: "314"

fn:codepoints-to-string((整數,整數,...)) 從 Unicode 標準碼點序列建立字串

示例: codepoints-to-string((84, 104, 233, 114, 232, 115, 101))
結果: 'Thérèse'

fn:string-to-codepoints(字串) 從字串返回 Unicode 標準碼點序列

示例: string-to-codepoints("Thérèse")
結果: (84, 104, 233, 114, 232, 115, 101)

fn:codepoint-equal(比較1,比較2) 如果 comp1 的值等於 comp2 的值,則根據 Unicode 碼點排序規則(http://www.w3.org/2005/02/xpath-functions/collation/codepoint),返回 true,否則返回 false
fn:compare(比較1,比較2)
fn:compare(比較1,比較2,排序)
返回 -1 如果 comp1 小於 comp2,0 如果 comp1 等於 comp2,或 1 如果 comp1 大於 comp2(根據所使用的排序規則)

示例: compare('ghi', 'ghi')
結果: 0

fn:concat(字串,字串,...) 返回字串的連線

示例: concat('XPath ','is ','FUN!')
結果: 'XPath is FUN!'

fn:string-join((字串,字串,...),分隔符) 返回一個字串,該字串是透過連線字串引數並使用 sep 引數作為分隔符建立的

示例: string-join(('We', 'are', 'having', 'fun!'), ' ')
結果: ' We are having fun! '

示例: string-join(('We', 'are', 'having', 'fun!'))
結果: 'Wearehavingfun!'

示例:string-join((), 'sep')
結果: ''

fn:substring(字串,開始位置,長度)
fn:substring(字串,開始位置)
返回從開始位置到指定長度的子字串。第一個字元的索引是 1。如果省略長度,則返回從開始位置到末尾的子字串

示例: substring('Beatles',1,4)
結果: 'Beat'

示例: substring('Beatles',2)
結果: 'eatles'

fn:string-length(字串)
fn:string-length()
返回指定字串的長度。如果沒有字串引數,則返回當前節點的字串值長度

示例: string-length('Beatles')
結果: 7

fn:normalize-space(字串)
fn:normalize-space()
刪除指定字串開頭和結尾的空格,並將內部所有連續的空白字元替換為一個,然後返回結果。如果沒有字串引數,則對當前節點執行相同的操作

示例: normalize-space(' The   XML ')
結果: 'The XML'

fn:normalize-unicode()  
fn:upper-case(字串) 將字串引數轉換為大寫

示例: upper-case('The XML')
結果: 'THE XML'

fn:lower-case(字串) 將字串引數轉換為小寫

示例: lower-case('The XML')
結果: 'the xml'

fn:translate(字串1,字串2,字串3) 透過將 string2 中的字元替換為 string3 中的字元來轉換 string1

示例: 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(字串1,字串2) 如果 string1 包含 string2,則返回 true,否則返回 false

示例: contains('XML','XM')
結果: true

fn:starts-with(字串1,字串2) 如果 string1 以 string2 開頭,則返回 true,否則返回 false

示例: starts-with('XML','X')
結果: true

fn:ends-with(字串1,字串2) 如果 string1 以 string2 結尾,則返回 true,否則返回 false

示例: ends-with('XML','X')
結果: false

fn:substring-before(字串1,字串2) 返回 string1 中 string2 出現之前的開始部分

示例: substring-before('12/10','/')
結果: '12'

fn:substring-after(字串1,字串2) 返回 string1 中 string2 出現之後的剩餘部分

示例: substring-after('12/10','/')
結果: '10'

fn:matches(字串,模式) 如果字串引數匹配模式,則返回 true,否則返回 false

示例: matches("Merano", "ran")
結果: true

fn:replace(字串,模式,替換) 返回一個字串,該字串是透過將給定模式替換為 replace 引數建立的

示例: replace("Bella Italia", "l", "*")
結果: 'Be**a Ita*ia'

示例: replace("Bella Italia", "l", "")
結果: 'Bea Itaia'

fn:tokenize(字串,模式) 示例: tokenize("XPath is fun", "\s+")
結果: ("XPath", "is", "fun")

anyURI 函式

名稱 描述
fn:resolve-uri(相對路徑,基路徑)  

布林值函式

名稱 描述
fn:boolean(引數) 為數字、字串或節點集返回布林值
fn:not(引數) 引數首先透過應用 boolean() 函式轉換為布林值。如果布林值為 false,則返回 true;如果布林值為 true,則返回 false

示例: not(true())
結果: false

fn:true() 返回布林值 true

示例: true()
結果: true

fn:false() 返回布林值 false

示例: false()
結果: false

持續時間、日期和時間函式

持續時間、日期和時間的元件提取函式

名稱 描述
fn:dateTime(日期,時間) 將引數轉換為日期和時間
fn:years-from-duration(日期時間時長) 返回一個整數,表示引數值規範詞法表示中的年份元件
fn:months-from-duration(日期時間時長) 返回一個整數,表示引數值規範詞法表示中的月份元件
fn:days-from-duration(日期時間時長) 返回一個整數,表示引數值規範詞法表示中的天陣列件
fn:hours-from-duration(日期時間時長) 返回一個整數,表示引數值規範詞法表示中的小時元件
fn:minutes-from-duration(日期時間時長) 返回一個整數,表示引數值規範詞法表示中的分鐘元件
fn:seconds-from-duration(日期時間時長) 返回一個十進位制數,表示引數值規範詞法表示中的秒元件
fn:year-from-dateTime(日期時間) 返回一個整數,表示引數本地化值中的年份元件

示例: year-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))
結果: 2005

fn:month-from-dateTime(日期時間) 返回一個整數,表示引數本地化值中的月份元件

示例: month-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))
結果: 01

fn:day-from-dateTime(日期時間) 返回一個整數,表示引數本地化值中的天陣列件

示例: day-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))
結果: 10

fn:hours-from-dateTime(日期時間) 返回一個整數,表示引數本地化值中的小時元件

示例: hours-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))
結果: 12

fn:minutes-from-dateTime(日期時間) 返回一個整數,表示引數本地化值中的分鐘元件

示例: minutes-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))
結果: 30

fn:seconds-from-dateTime(日期時間) 返回一個十進位制數,表示引數本地化值中的秒元件

示例: seconds-from-dateTime(xs:dateTime("2005-01-10T12:30:00-04:10"))
結果: 0

fn:timezone-from-dateTime(日期時間) 返回引數的時區元件(如果存在)
fn:year-from-date(日期) 返回一個整數,表示引數本地化值中的年份

示例: year-from-date(xs:date("2005-04-23"))
結果: 2005

fn:month-from-date(日期) 返回一個整數,表示引數本地化值中的月份

示例: month-from-date(xs:date("2005-04-23"))
結果: 4

fn:day-from-date(日期) 返回一個整數,表示引數本地化值中的日期

示例: day-from-date(xs:date("2005-04-23"))
結果: 23

fn:timezone-from-date(日期) 返回引數的時區元件(如果存在)
fn:hours-from-time(時間) 返回一個整數,表示引數本地化值中的小時元件

示例: hours-from-time(xs:time("10:22:00"))
結果: 10

fn:minutes-from-time(時間) 返回一個整數,表示引數本地化值中的分鐘元件

示例: minutes-from-time(xs:time("10:22:00"))
結果: 22

fn:seconds-from-time(時間) 返回一個整數,表示引數本地化值中的秒元件

示例: seconds-from-time(xs:time("10:22:00"))
結果: 0

fn:timezone-from-time(時間) 返回引數的時區元件(如果存在)
fn:adjust-dateTime-to-timezone(日期時間,時區) 如果 timezone 引數為空,則返回一個不帶時區的 dateTime。否則,返回一個帶時區的 dateTime
fn:adjust-date-to-timezone(日期,時區) 如果 timezone 引數為空,則返回一個不帶時區的 date。否則,返回一個帶時區的 date
fn:adjust-time-to-timezone(時間,時區) 如果 timezone 引數為空,則返回一個不帶時區的時間。否則,返回一個帶時區的時間

與 QName 相關的函式

名稱 描述
fn:QName()  
fn:local-name-from-QName()  
fn:namespace-uri-from-QName()  
fn:namespace-uri-for-prefix()  
fn:in-scope-prefixes()  
fn:resolve-QName()  

節點函式

名稱 描述
fn:name()
fn:name(節點集)
返回當前節點或指定節點集中的第一個節點的名稱
fn:local-name()
fn:local-name(節點集)
返回當前節點或指定節點集中的第一個節點的名稱 - 不帶名稱空間字首
fn:namespace-uri()
fn:namespace-uri(節點集)
返回當前節點或指定節點集中的第一個節點的名稱空間 URI
fn:lang(語言) 如果當前節點的語言與指定語言的語言匹配,則返回 true

示例: Lang("en") 對於
<p xml:lang="en">...</p> 返回 true

示例: Lang("de") 對於
<p xml:lang="en">...</p> 返回 true

fn:root()
fn:root(節點)
返回當前節點或指定節點所屬的樹的根。這通常是一個文件節點

序列函式

序列通用函式

名稱 描述
fn:index-of((項,項,...),搜尋項) 返回序列中等於 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 引數的值構造的新序列 - 移除了由 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(項,項,...) 如果引數的值是空序列,則返回 true,否則返回 false

示例: empty(remove(("ab", "cd"), 1))
結果: false

fn:exists(項,項,...) 如果引數的值不是空序列,則返回 true,否則返回 false

示例: exists(remove(("ab"), 1))
結果: false

fn:distinct-values((項,項,...),排序) 只返回不同的(不重複的)值

示例: distinct-values((1, 2, 3, 1, 2))
結果: (1, 2, 3)

fn:insert-before((項,項,...),位置,插入項) 返回一個由 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((項,項,...)) 返回指定項的逆序

示例: reverse(("ab", "cd", "ef"))
結果: ("ef", "cd", "ab")

示例: reverse(("ab"))
結果: ("ab")

fn:subsequence((項,項,...),開始位置,長度) 返回一個項序列,從 start 引數指定的開始位置開始,持續 len 引數指定的項數。第一個項位於位置 1

示例: subsequence(($item1, $item2, $item3,...), 3)
結果: ($item3, ...)

示例: subsequence(($item1, $item2, $item3, ...), 2, 2)
結果: ($item2, $item3)

fn:unordered((項,項,...)) 以依賴於實現的順序返回項

測試序列基數的函式

名稱 描述
fn:zero-or-one(項,項,...) 如果引數包含零個或一個項,則返回該引數,否則引發錯誤
fn:one-or-more(項,項,...) 如果引數包含一個或多個項,則返回該引數,否則引發錯誤
fn:exactly-one(項,項,...) 如果引數恰好包含一個項,則返回該引數,否則引發錯誤

等於、並集、交集和差集

名稱 描述
fn:deep-equal(引數1,引數2,排序) 如果 param1 和 param2 深度相等,則返回 true,否則返回 false

聚合函式

名稱 描述
fn:count((項,項,...)) 返回節點計數
fn:avg((引數,引數,...)) 返回引數值的平均值

示例: avg((1,2,3))
結果: 2

fn:max((引數,引數,...)) 返回大於其他引數的引數

示例: max((1,2,3))
結果: 3

示例: max(('a', 'k'))
結果: 'k'

fn:min((引數,引數,...)) 返回小於其他引數的引數

示例: min((1,2,3))
結果: 1

示例: min(('a', 'k'))
結果: 'a'

fn:sum(引數,引數,...) 返回指定節點集中每個節點的數值之和

生成序列的函式

名稱 描述
fn:id((字串,字串,...),節點) 返回具有 ID 值等於字串引數中一個或多個值之一的元素節點序列
fn:idref((字串,字串,...),節點) 返回具有 IDREF 值等於字串引數中一個或多個值之一的元素或屬性節點序列
fn:doc(URI)  
fn:doc-available(URI) 如果 doc() 函式返回一個文件節點,則返回 true,否則返回 false
fn:collection()
fn:collection(字串)
 

上下文函式

名稱 描述
fn:position() 返回正在處理的節點的索引位置

示例: //book[position()<=3]
結果: 選擇前三個 book 元素

fn:last() 返回已處理節點列表中的項數

示例: //book[last()]
結果: 選擇最後一個 book 元素

fn:current-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> 元素指定的索引返回節點集
system-property() 返回系統屬性的值
unparsed-entity-uri() 返回未解析實體的 URI

×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援