def apply(ruleset)
r = ruleset
@stag_expr = _to_native_expr(r.stag) if r.stag
@cont_expr = _to_native_expr(r.cont) if r.cont
@etag_expr = _to_native_expr(r.etag) if r.etag
@elem_expr = _to_native_expr(r.elem) if r.elem
if @cont_expr
@cont_stmts = [ PrintStatement.new([@cont_expr]) ]
@stag_info.tail_space = ''
@etag_info.head_space = ''
@etag_info.rebuild_tag_text()
end
r.remove.each do |aname|
@attr_info.delete(aname)
end if r.remove
r.attrs.each do |aname, avalue|
@attr_info[aname] = _to_native_expr(avalue)
end if r.attrs
r.append.each do |expr|
(@append_exprs ||= []) << _to_native_expr(expr)
end if r.append
@tagname = r.tagname if r.tagname
@logic = r.logic if r.logic
(@before ||= []).concat(r.before) if r.before
(@after ||= []).concat(r.after) if r.after
end