In my extraction of the definitions yesterday I produced files that had HTML <p> elements embedded in other HTML <p> elements.
The corrected files are as follows:
- Xpath 3.1: http://www.durusau.net/publications/xpath-alldefs-2.html
- XPath and XQuery Functions and Operators 3.1: http://www.durusau.net/publications/xpxqfando-alldefs-2.html
- XQuery 3.1: http://www.durusau.net/publications/xquery-alldefs-2.html
- XQuery and XPath Data Model 3.1: http://www.durusau.net/publications/xqxpdatamodel-alldefs-2.html
These lists are unsorted and the paragraphs with multiple definitions are repeated for each definition. Helps me spot where I have multiple definitions that may be followed by non-normative prose, applicable to one or more definitions.
The XSLT code I used yesterday was incorrect:
<xsl:for-each select=”//p/a[contains(@name, ‘dt’)]”>
<p>
<xsl:copy-of select=”ancestor::p”/>
</p>
</xsl:for-each>
And results in:
<p>
<p>[<a name=”dt-expression-context” id=”dt-expression-context” title=”expression context” shape=”rect”>Definition</a>: The <b>expression
context</b> for a given expression consists of all the information
that can affect the result of the expression.]
</p>
</p>
Which is both ugly and incorrect.
When using xsl:copy-of for a p element, the surrounding p elements were unnecessary.
Thus (correctly):
<:xsl:for-each select=”//p/a[contains(@name, ‘dt’)]”>
<xsl:copy-of select=”ancestor::p”/>
</xsl:for-each>
I reproduced the corrected definition files above. Apologies for any inconvenience.
Work continues on the sorting and deduping.