Compacted a few XML parser rules.
This commit is contained in:
parent
a5cd75cb7e
commit
d210c9fb57
|
@ -130,15 +130,16 @@ proc_ins_follow
|
||||||
|
|
||||||
# Elements
|
# Elements
|
||||||
|
|
||||||
element_open = T_ELEM_START element_name_ns { val[1] };
|
|
||||||
|
|
||||||
element_name_ns
|
element_name_ns
|
||||||
= T_ELEM_NAME { [nil, val[0]] }
|
= T_ELEM_NAME { [nil, val[0]] }
|
||||||
| T_ELEM_NS T_ELEM_NAME { val}
|
| T_ELEM_NS T_ELEM_NAME { val }
|
||||||
;
|
;
|
||||||
|
|
||||||
element_start
|
element_start
|
||||||
= element_open attributes { on_element(val[0][0], val[0][1], val[1]) }
|
= T_ELEM_START element_name_ns attributes
|
||||||
|
{
|
||||||
|
on_element(val[1][0], val[1][1], val[2])
|
||||||
|
}
|
||||||
;
|
;
|
||||||
|
|
||||||
element
|
element
|
||||||
|
@ -166,9 +167,16 @@ attributes_
|
||||||
;
|
;
|
||||||
|
|
||||||
attribute
|
attribute
|
||||||
= attribute_name attribute_follow
|
# x:foo="bar"
|
||||||
|
= T_ATTR_NS T_ATTR attribute_follow
|
||||||
{
|
{
|
||||||
on_attribute(val[0][1], val[0][0], val[1])
|
on_attribute(val[1], val[0], val[2])
|
||||||
|
}
|
||||||
|
|
||||||
|
# foo="bar"
|
||||||
|
| T_ATTR attribute_follow
|
||||||
|
{
|
||||||
|
on_attribute(val[0], nil, val[1])
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
|
||||||
|
@ -177,11 +185,6 @@ attribute_follow
|
||||||
| _ { nil }
|
| _ { nil }
|
||||||
;
|
;
|
||||||
|
|
||||||
attribute_name
|
|
||||||
= T_ATTR { [nil, val[0]] }
|
|
||||||
| T_ATTR_NS T_ATTR
|
|
||||||
;
|
|
||||||
|
|
||||||
# XML declarations
|
# XML declarations
|
||||||
|
|
||||||
xml_decl
|
xml_decl
|
||||||
|
|
Loading…
Reference in New Issue