You will need to look at the document structure and find the XPath expressions to select the elements containing the data you are looking for. I am afraid with such an irregular structure there is not much you can automate.
The code
Code:
<xsl:template name="main">
<xsl:variable name="html-doc" select="d:htmlparse(unparsed-text($f, 'ISO-8859-1'))"/>
<results>
<xsl:apply-templates select="$html-doc/document/type/sequence/filename/description/text/html/body//div[div[contains(normalize-space(), 'Executive Officers.')]]/table/tr[2]"/>
</results>
</xsl:template>
<xsl:template match="tr">
<person name="{normalize-space(td[1])}" age="{normalize-space(td[2])}" title="{normalize-space(parent::table/following-sibling::div[1])}"/>
</xsl:template>
finds only two items:
Code:
<results>
<person name="James M. Jenness" age="62" title="Chairman of the Board"/>
<person name="A. D. David Mackay" age="53"
title="President and Chief Executive Officer"/>
</results>