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: