I had to make one modification so that my @href attributes are correctly
resolved relative to the map, etc.:
<xsl:accumulator name="summary-data" initial-value="()" as="element()*">
<xsl:accumulator-rule
match="*[@href[matches(.,'(dita(map)?|xml)$','i')]]">
<xsl:sequence select="$value"/>
<xsl:variable name="ref-path"
select="resolve-uri(@href,base-uri(.))"/>
<xsl:if test="doc-available($ref-path)=true()">
<xsl:apply-templates select="doc($ref-path)" mode="collect"/>
</xsl:if>
</xsl:accumulator-rule>
<xsl:accumulator-rule match="tool" select="$value, ." />
<xsl:accumulator-rule match="spare" select="$value, ." />
<xsl:accumulator-rule match="supply" select="$value, ." />
</xsl:accumulator>
|