fn:substring-after
Returns the part of $arg1
that follows the first occurrence of
$arg2
, taking collations into account.
Signatures
fn:substring-after(
$arg1 as xs:string?,
$arg2 as xs:string?
) as xs:string
fn:substring-after(
$arg1 as xs:string?,
$arg2 as xs:string?,
$collation as xs:string
) as xs:string
Properties
The two-argument form of this function is deterministic, context-dependent, and focus-independent. It depends on collations.
The three-argument form of this function is deterministic, context-dependent, and focus-independent. It depends on collations, and static base URI.
Rules
If the value of $arg1
or $arg2
is the empty sequence, or
contains only ignorable collation units, it is interpreted as the zero-length
string.
If the value of $arg2
is the zero-length string, then the function returns
the value of $arg1
.
If the value of $arg1
does not contain a string that is equal to the value
of $arg2
, then the function returns the zero-length string.
The collation used by this function is determined according to the rules in Choosing a collation.
The function returns the substring of the value of $arg1
that follows in
the value of $arg1
the first occurrence of a sequence of collation units
that provides a minimal match to the collation units of $arg2
according to the collation that is used.
Minimal match is defined in [UTS #10].
Error Conditions
A dynamic error may be raised [ERRFOCH0004] if the specified collation does not support collation units.
Examples
The collation used in these examples, http://example.com/CollationA
is a
collation in which both "-" and "*" are ignorable collation units.
"Ignorable collation unit" is equivalent to "ignorable collation element" in [UTS #10].
The expression fn:substring-after("tattoo", "tat")
returns "too"
.
The expression fn:substring-after("tattoo", "tattoo")
returns ""
.
The expression fn:substring-after((), ())
returns ""
.
The expression fn:substring-after("abcdefghi", "--d-e-",
"http://www.w3.org/2013/collation/UCA?lang=en;alternate=blanked;strength=primary")
returns "fghi"
.
The expression fn:substring-after("abc--d-e-fghi", "--d-e-",
"http://www.w3.org/2013/collation/UCA?lang=en;alternate=blanked;strength=primary")
returns "-fghi"
.
The expression fn: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")
returns "*f*g*h*i*"
.
The expression fn:substring-after ( "Eureka!", "--***-*---",
"http://www.w3.org/2013/collation/UCA?lang=en;alternate=blanked;strength=primary")
returns "Eureka!"
. (The second argument contains only ignorable collation units and is
equivalent to the zero-length string.)