|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Making a lookup structure from multiple documents
Hi Rick,
I try to store data in a way that aligns best with how I later need to access
it (flat, lookups, etc.).
If an XSLT3 map would work, you could create an "on-no-match='shallow-skip'"
template mode that crawls the map and returns a flat sequence of map entries.
* Chris
From: rick@xxxxxxxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Sent: Monday, June 12, 2023 8:17 AM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Making a lookup structure from multiple documents
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>
XSL-List info and
archive<https://urldefense.com/v3/__http:/www.mulberrytech.com/xsl/xsl-list__
;!!A4F2R9G_pg!aV9ogqoTVczCEepM7WsAghj2wK0IhbyUAPJZ3v_laaXFP3ME6x7HLJRI4VNLaq0
ttqzo9Qtp_rnjbIovlYFlAYBRl5zjKGGrd6TBxbgDIuYgeXksggJv$>
EasyUnsubscribe<https://urldefense.com/v3/__http:/lists.mulberrytech.com/unsu
b/xsl-list/3380743__;!!A4F2R9G_pg!aV9ogqoTVczCEepM7WsAghj2wK0IhbyUAPJZ3v_laaX
FP3ME6x7HLJRI4VNLaq0ttqzo9Qtp_rnjbIovlYFlAYBRl5zjKGGrd6TBxbgDIuYgeas0BQHN$>
(by email<>)
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








