1234567891011121314151617(* The tree {!Cascade.Resolve} walks: an {!Html} element, read through the
parent and child links markup.ml left on it. *)typet=Html.elementletequal=(==)letname(n:t)=Somen.Html.tagletidn=Html.attributen"id"letclasses=Html.classesletattribute=Html.attributeletparent(n:t)=n.Html.parent(* [children] is the element children the structural selectors count; text is
reported apart because [:empty] counts that too, and a comment counts for
neither. *)letchildren=Html.element_childrenlettext_children=Html.text_children