[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
|