diff --git a/specifications/xpath-functions-40/src/fos.xsd b/specifications/xpath-functions-40/src/fos.xsd index aaa630c6e..0cdd31772 100644 --- a/specifications/xpath-functions-40/src/fos.xsd +++ b/specifications/xpath-functions-40/src/fos.xsd @@ -1,7 +1,8 @@ + xmlns:fos="http://www.w3.org/xpath-functions/spec/namespace" + xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning" vc:minVersion="1.1"> diff --git a/specifications/xpath-functions-40/src/function-catalog.xml b/specifications/xpath-functions-40/src/function-catalog.xml index dc09f9f98..22de5ba6d 100644 --- a/specifications/xpath-functions-40/src/function-catalog.xml +++ b/specifications/xpath-functions-40/src/function-catalog.xml @@ -3832,7 +3832,7 @@ return normalize-unicode(concat($v1, $v2)) - concat('Ciao!',()) + concat('Ciao!', ()) "Ciao!" @@ -4155,6 +4155,19 @@ return normalize-unicode(concat($v1, $v2)) 45 + + + "ᾧ" => string-length() + 1 + + + + + "ᾧ" => normalize-unicode("NFD") => string-length() + 4 + For strings that consist of a base character with combining characters, each combining character is length 1. + + string-length(()) @@ -4894,12 +4907,13 @@ return normalize-unicode(concat($v1, $v2)) rule. + http://www.w3.org/2013/collation/UCA?lang=en;alternate=blanked;strength=primary contains( "abcdefghi", "-d-e-f-", - "http://www.w3.org/2013/collation/UCA?lang=en;alternate=blanked;strength=primary" + $coll ) true() @@ -4909,7 +4923,7 @@ return normalize-unicode(concat($v1, $v2)) contains( "a*b*c*d*e*f*g*h*i*", "d-ef-", - "http://www.w3.org/2013/collation/UCA?lang=en;alternate=blanked;strength=primary" + $coll ) true() @@ -4919,7 +4933,7 @@ return normalize-unicode(concat($v1, $v2)) contains( "abcd***e---f*--*ghi", "def", - "http://www.w3.org/2013/collation/UCA?lang=en;alternate=blanked;strength=primary" + $coll ) true() @@ -4929,7 +4943,7 @@ return normalize-unicode(concat($v1, $v2)) contains( (), "--***-*---", - "http://www.w3.org/2013/collation/UCA?lang=en;alternate=blanked;strength=primary" + $coll ) true() The second argument contains only ignorable collation units and is @@ -5008,12 +5022,13 @@ return normalize-unicode(concat($v1, $v2)) true() + http://www.w3.org/2013/collation/UCA?lang=en;alternate=blanked;strength=primary starts-with( "abcdefghi", "-a-b-c-", - "http://www.w3.org/2013/collation/UCA?lang=en;alternate=blanked;strength=primary" + $coll ) true() @@ -5023,7 +5038,7 @@ return normalize-unicode(concat($v1, $v2)) starts-with( "a*b*c*d*e*f*g*h*i*", "a-bc-", - "http://www.w3.org/2013/collation/UCA?lang=en;alternate=blanked;strength=primary" + $coll ) true() @@ -5033,7 +5048,7 @@ return normalize-unicode(concat($v1, $v2)) starts-with( "abcd***e---f*--*ghi", "abcdef", - "http://www.w3.org/2013/collation/UCA?lang=en;alternate=blanked;strength=primary" + $coll ) true() @@ -5043,7 +5058,7 @@ return normalize-unicode(concat($v1, $v2)) starts-with( (), "--***-*---", - "http://www.w3.org/2013/collation/UCA?lang=en;alternate=blanked;strength=primary" + $coll ) true() The second argument contains only ignorable collation units and is @@ -5055,7 +5070,7 @@ return normalize-unicode(concat($v1, $v2)) starts-with( "-abcdefghi", "-abc", - "http://www.w3.org/2013/collation/UCA?lang=en;alternate=blanked;strength=primary" + $coll ) true() @@ -5133,12 +5148,13 @@ return normalize-unicode(concat($v1, $v2)) true() + http://www.w3.org/2013/collation/UCA?lang=en;alternate=blanked;strength=primary ends-with( "abcdefghi", "-g-h-i-", - "http://www.w3.org/2013/collation/UCA?lang=en;alternate=blanked;strength=primary" + $coll ) true() @@ -5148,7 +5164,7 @@ return normalize-unicode(concat($v1, $v2)) ends-with( "abcd***e---f*--*ghi", "defghi", - "http://www.w3.org/2013/collation/UCA?lang=en;alternate=blanked;strength=primary" + $coll ) true() @@ -5158,7 +5174,7 @@ return normalize-unicode(concat($v1, $v2)) ends-with( "abcd***e---f*--*ghi", "defghi", - "http://www.w3.org/2013/collation/UCA?lang=en;alternate=blanked;strength=primary" + $coll ) true() @@ -5168,7 +5184,7 @@ return normalize-unicode(concat($v1, $v2)) ends-with( (), "--***-*---", - "http://www.w3.org/2013/collation/UCA?lang=en;alternate=blanked;strength=primary" + $coll ) true() The second argument contains only ignorable collation units and is @@ -5180,7 +5196,7 @@ return normalize-unicode(concat($v1, $v2)) ends-with( "abcdefghi", "ghi-", - "http://www.w3.org/2013/collation/UCA?lang=en;alternate=blanked;strength=primary" + $coll ) true() @@ -5257,12 +5273,13 @@ return normalize-unicode(concat($v1, $v2)) "" + http://www.w3.org/2013/collation/UCA?lang=en;alternate=blanked;strength=primary substring-before( "abcdefghi", "--d-e-", - "http://www.w3.org/2013/collation/UCA?lang=en;alternate=blanked;strength=primary" + $coll ) "abc" @@ -5272,7 +5289,7 @@ return normalize-unicode(concat($v1, $v2)) substring-before( "abc--d-e-fghi", "--d-e-", - "http://www.w3.org/2013/collation/UCA?lang=en;alternate=blanked;strength=primary" + $coll ) "abc--" @@ -5282,7 +5299,7 @@ return normalize-unicode(concat($v1, $v2)) substring-before( "a*b*c*d*e*f*g*h*i*", "***cde", - "http://www.w3.org/2013/collation/UCA?lang=en;alternate=blanked;strength=primary" + $coll ) "a*b*" @@ -5292,7 +5309,7 @@ return normalize-unicode(concat($v1, $v2)) substring-before( "Eureka!", "--***-*---", - "http://www.w3.org/2013/collation/UCA?lang=en;alternate=blanked;strength=primary" + $coll ) "" The second argument contains only ignorable collation units and is @@ -5372,12 +5389,13 @@ return normalize-unicode(concat($v1, $v2)) "" + http://www.w3.org/2013/collation/UCA?lang=en;alternate=blanked;strength=primary substring-after( "abcdefghi", "--d-e-", - "http://www.w3.org/2013/collation/UCA?lang=en;alternate=blanked;strength=primary" + $coll ) "fghi" @@ -5387,7 +5405,7 @@ return normalize-unicode(concat($v1, $v2)) substring-after( "abc--d-e-fghi", "--d-e-", - "http://www.w3.org/2013/collation/UCA?lang=en;alternate=blanked;strength=primary" + $coll ) "-fghi" @@ -5397,7 +5415,7 @@ return normalize-unicode(concat($v1, $v2)) substring-after( "a*b*c*d*e*f*g*h*i*", "***cde***", - "http://www.w3.org/2013/collation/UCA?lang=en;alternate=blanked;strength=primary" + $coll ) "*f*g*h*i*" @@ -5407,7 +5425,7 @@ return normalize-unicode(concat($v1, $v2)) substring-after( "Eureka!", "--***-*---", - "http://www.w3.org/2013/collation/UCA?lang=en;alternate=blanked;strength=primary" + $coll ) "Eureka!" The second argument contains only ignorable collation units and is @@ -26332,23 +26350,22 @@ declare function every(

The function returns a string, generally containing a single character or glyph, identified by $value.

-

For example, fn:char("nbsp") returns a string containing the - non-breaking space character, xA0.

The supplied value of $value must be one of the following:

An HTML5 character reference name (often referred to as an entity name) as defined - at [https://html.spec.whatwg.org/multipage/named-characters.html]. The name is + at https://html.spec.whatwg.org/multipage/named-characters.html. The name is written with no leading ampersand and no trailing semicolon. For example fn:char("pi") represents the character - π (x3C0).

+ π (x3C0) and fn:char("nbsp") returns the + non-breaking space character, xA0.

A processor may recognize additional character reference names defined in other versions of HTML. Character reference names are case-sensitive.

In the event that the HTML5 character reference name identifies a string comprising multiple codepoints, that string is returned.

[TODO: add a proper bibliographic reference.]

-

A backslash-escape sequence from the set \n (newline, x0A), - \r (carriage return, 0xD), - or \t (tab, 0x09).

+

A backslash-escape sequence from the set \n (newline, x0A), + \r (carriage return, x0D), + or \t (tab, x09).

A decimal codepoint value in the form #[0-9]+, for example fn:char("#10") represents a newline character. Leading zeroes are optional.

A hexadecimal codepoint value in the form #x[0-9a-fA-F]+, for example @@ -26381,12 +26398,12 @@ declare function every( - char("#32") - " " + char("aacute") + "á" - char("#x20") - " " + char("eth") + "ð" char("\t") @@ -26394,17 +26411,17 @@ declare function every( The character tab - char("#x1D1CA") - "𝇊" - The character Tempus Imperfectum Cum Prolatione Perfecta + char("#32") + " " - char("aacute") - "á" + char("#x20") + " " - char("eth") - "ð" + char("#x1D1CA") + "𝇊" + The character MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE PERFECTA char("NotEqualTilde") diff --git a/specifications/xpath-functions-40/src/xpath-functions.xml b/specifications/xpath-functions-40/src/xpath-functions.xml index 55c38cc76..0c9cf4e18 100644 --- a/specifications/xpath-functions-40/src/xpath-functions.xml +++ b/specifications/xpath-functions-40/src/xpath-functions.xml @@ -2753,7 +2753,7 @@ string conversion of the number as obtained above, and the appropriate suff Functions based on substring matching -

The functions described in the section examine a string $arg1 to see +

The functions described in this section examine a string $arg1 to see whether it contains another string $arg2 as a substring. The result depends on whether $arg2 is a substring of $arg1, and if so, on the range of characters in $arg1 which $arg2 matches.

@@ -2820,7 +2820,7 @@ string conversion of the number as obtained above, and the appropriate suff defined in this section may be a URI that identifies a collation that is able to compare two strings, but that does not have the capability to split the string into collation units. Such a collation may cause the function to fail, or to - give unexpected results or it may be rejected as an unsuitable argument. The + give unexpected results, or it may be rejected as an unsuitable argument. The ability to decompose strings into collation units is an property of the collation.

@@ -2841,8 +2841,8 @@ string conversion of the number as obtained above, and the appropriate suff String functions that use regular expressions -

The three functions described in this section make use of a regular expression - syntax for pattern matching. This is described below.

+

The four functions described in this section make use of a regular expression + syntax for pattern matching, described below.

Regular expression syntax @@ -2858,7 +2858,7 @@ It is recommended that implementers consult for inf

The regular expression syntax and semantics are identical to those defined in with the additions described in the - following sub-sections.

+ following subsections.

In there are no substantive technical changes to the syntax or semantics of regular expressions relative to XSD 1.0, but a number @@ -3120,7 +3120,7 @@ It is recommended that implementers consult for inf parameter accepts a xs:string, in which individual letters are used to set options. The presence of a letter within the string indicates that the option is on; its absence indicates that the option - is off. Letters may appear in any order and may be repeated. If there + is off. Letters may appear in any order and may be repeated. They are case-sensitive. If there are characters present that are not defined here as flags, then a dynamic error is raised .

The following options are defined: