Read XSLT 2.0 and XPath 2.0 Programmer's Reference, 4th Edition Online
Authors: Michael Kay
Unless you are familiar with regular expressions you may find this production rule difficult to read. The original in the XPath Recommendation is even more cryptic, and I have replaced it with a form that I find simpler to explain.
What it is saying is actually quite simple; a
StringLiteral
is either a sequence of any characters other than double quotes, enclosed between double quotes, or a sequence of any characters other than single quotes, enclosed between single quotes. For example,
“John”
, or
‘Jane’
, or
“don't”
or
‘I said “go”!’
.
In both cases you can put several of these sequences together end to end (the
+
sign indicates repetition). This has the effect of doubling the delimiting quote character, which provides an escaping mechanism, allowing you to use the delimiter within the string. For example, you can write
‘O“Connor’
to represent the string
O'Connor
.