[xsl] Making a lookup structure from multiple documents

Subject: [xsl] Making a lookup structure from multiple documents
From: "rick@xxxxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Mon, 12 Jun 2023 12:17:05 -0000
Hi All,

 

I have a ditamap that has references to child topics, and each child topic
may references to other topics. I need to collect the contents of three
particular elements, then then use them in a summary in one of the
documents. Here is my basic shell, where I am navigating through all of the
referenced documents. I also have a template for the items I am trying to
collect (I can combine them into a single template). I am looking for the
best approach for making a lookup of items that can be used later in the
processing. Thank you.

 

Rick

 

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";

    xmlns:xs="http://www.w3.org/2001/XMLSchema";

    xmlns:math="http://www.w3.org/2005/xpath-functions/math";

    exclude-result-prefixes="xs math"

    version="3.0" expand-text="yes">

    

    <xsl:output indent="yes"/>

    

    <xsl:template match="/">

        <xsl:apply-templates/>

    </xsl:template>

    

    <xsl:template match="@href[matches(.,'(dita(map)?|xml)$','i')=true()]">

        <xsl:if test="doc-available(.)">

            <xsl:message>{.}</xsl:message>

            <xsl:variable name="refdoc" select="doc(.)"/>

            <xsl:apply-templates select="$refdoc/*"/>

        </xsl:if>

    </xsl:template>

    

    <xsl:template match="tools">

        <xsl:message>{local-name() || ' ' || base-uri(.) || ' ' ||
.}</xsl:message>

    </xsl:template>

 

    <xsl:template match="spares">

        <xsl:message>{local-name() || ' ' || base-uri(.) || ' ' ||
.}</xsl:message>

    </xsl:template>

    

    <xsl:template match="supplies">

        <xsl:message>{local-name() || ' ' || base-uri(.) || ' ' ||
.}</xsl:message>

    </xsl:template>

    

    <xsl:mode on-no-match="shallow-skip"/>

    

</xsl:stylesheet>

Current Thread