Move element recursion handling into a method.
This makes it easier to disable later on in the streaming parser.
This commit is contained in:
parent
785ec26fe7
commit
fd5bbbc9a2
|
@ -103,12 +103,7 @@ rule
|
||||||
element
|
element
|
||||||
: element_start expressions T_ELEM_END
|
: element_start expressions T_ELEM_END
|
||||||
{
|
{
|
||||||
element = val[0]
|
on_element_children(val[0], val[1] ? val[1].flatten : [])
|
||||||
element.children = val[1] ? val[1].flatten : []
|
|
||||||
|
|
||||||
link_children(element)
|
|
||||||
|
|
||||||
element
|
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
|
||||||
|
@ -333,6 +328,19 @@ Unexpected #{name} with value #{value.inspect} on line #{@line}:
|
||||||
return element
|
return element
|
||||||
end
|
end
|
||||||
|
|
||||||
|
##
|
||||||
|
# @param [Oga::XML::Element] element
|
||||||
|
# @param [Array] children
|
||||||
|
# @return [Oga::XML::Element]
|
||||||
|
#
|
||||||
|
def on_element_children(element, children = [])
|
||||||
|
element.children = children
|
||||||
|
|
||||||
|
link_children(element)
|
||||||
|
|
||||||
|
return element
|
||||||
|
end
|
||||||
|
|
||||||
##
|
##
|
||||||
# @param [Array] pairs
|
# @param [Array] pairs
|
||||||
# @return [Hash]
|
# @return [Hash]
|
||||||
|
|
Loading…
Reference in New Issue