From 994035be0e3e5b5240655cb75dd6faf34effc500 Mon Sep 17 00:00:00 2001
From: Gregg Kellogg
Literals (Grammar production Literal) - have a lexical form followed by a language tag, a datatype IRI, or neither.
+ have a lexical form followed by a + language tag + (possibly including base direction), + a datatype IRI, + or neither.The representation of the lexical form consists of an
initial delimiter "
(U+0022),
@@ -252,6 +258,9 @@
@
' (U+0040).
+ If present, the base direction
+ is included in the language tag
+ separated by '--
'.
If there is no language tag, there may be a datatype IRI,
preceded by two concatenated ^
characters,
each having the code point U+005E.
@@ -267,8 +276,9 @@ U+0020
).
http://www.w3.org/2001/XMLSchema#string
- MUST NOT use the datatype IRI part of the literal,
+ MUST NOT use the datatype IRI part of the literal,
and are represented using only STRING_LITERAL_QUOTE.
HEX
MUST use only uppercase letters ([A-F]
).@
form the unicode string of the language tag.
+ The characters following the @
form the unicode string of the language tag
+ and optionally the base direction,
+ if the matched characters include '--
'.
STRING_LITERAL_QUOTE
,
- and either a language tag of LANGTAG
- or a datatype IRI of iri
,
+ and either a language tag
+ with optional base direction
+ from LANGTAG
+ or a datatype IRI of iri
,
depending on which rule matched the input.
- If the LANGTAG
rule matched,
+ If the LANGTAG
rule matched,
+ it is split into language tag
+ and base direction
+ on '--
'.
+ If there is no base direction,
the datatype is rdf:langString
- and the language tag is LANGTAG
.
- If neither a language tag nor a datatype IRI is provided,
+ and the language tag is LANGTAG
.
+ If there is a base direction, the datatype is rdf:dirLangString
,
+ the language tag is
+ taken from the portion of the matched LANGTAG
proceding '--
'
+ and the base direction
+ is taken from the portion of the matched LANGTAG
following '--
'.
+ If neither a language tag nor a datatype IRI is provided,
the literal has a datatype of xsd:string
.
LANGTAG
@
" [
a-zA-Z
]
+
(
"-
" [
a-zA-Z0-9
]
+
)
*
@
" [
a-zA-Z
]
+
(
"-
" [
a-zA-Z0-9
]
+
)
*
(
"--
" [
a-zA-Z0-9
]
+
)
?