Unicode support for CSS/XPath

Fixes #140
This commit is contained in:
Yorick Peterse committed 2015-09-03 11:21:45 +02:00
1 parent 44630c27ff
commit 37c5b819fa
4 files changed
+33 -4

No files matched your search

+8 -3
View File
@@ -144,11 +144,16 @@ module Oga
# Identifiers are used for element and attribute names. Identifiers have
# to start with a letter.
ident_word = [a-zA-Z\-_0-9]*;
unicode = any - ascii;
ident_escape = '\\.' %{ @escaped = true };
unicode_or_ascii = (unicode | [a-zA-Z\-_0-9])*;
identifier = '*' | [a-zA-Z_]+ ident_word (ident_escape ident_word)*;
escaped_dot = '\\.' %{ @escaped = true };
identifier
= '*'
| (unicode | [a-zA-Z_]) unicode_or_ascii (escaped_dot unicode_or_ascii)*
;
action emit_identifier {
value = slice_input(ts, te)
+5 -1
View File
@@ -176,7 +176,11 @@ module Oga
# Identifiers are used for element names, namespaces, attribute names,
# etc. Identifiers have to start with a letter.
identifier = '*' | [a-zA-Z_]+ [a-zA-Z\-_0-9]*;
unicode = any - ascii;
unicode_or_ascii = (unicode | [a-zA-Z\-_0-9\.])*;
identifier = '*' | (unicode | [a-zA-Z_]) unicode_or_ascii ;
action emit_identifier {
emit(:T_IDENT, ts, te)