getHeader(Enum) :- exhausted(Enum), [] ; getHeader(Enum) :- Elem = eValue(Enum), isHeader(getXName(Elem)), [getXText(Elem) | getHeader(eNext(Enum))] ; getHeader(Enum) :- getHeader(eNext(Enum)) ; isHeader("h1"); isHeader("h2"); isHeader("h3"); isHeader("h4"); isHeader("h5"); isHeader("h6"); main(HTML) :- getHeader(eXElem(HTML));