Subject: RE: [xsl] XSL Dependency Mapping From: Américo Albuquerque <melinor@xxxxxxx> Date: Thu, 24 Jul 2003 18:38:21 +0100 |
Hi > -----Original Message----- > From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of > Andy Joslin > Sent: Thursday, July 24, 2003 8:00 AM > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] XSL Dependency Mapping > > > Hi All > > Does anyone know of a tool that can generate a dependency map > of a whole set of XSL's ? (i.e. which stylesheets import others, etc.) > > A tool that generated some kind of site map/tree of related > XSLs would be great as I'm trying to clean up and reign in > some 400 files with a view to finding common dependencies, etc. > > Does XML Spy have this feature ? You could do that with xslt. Try these templates: <xsl:template match="xsl:stylesheet"> <xsl:text>Mappings </xsl:text> <xsl:text>--+ </xsl:text> <xsl:text>  | </xsl:text> <xsl:apply-templates select="*[self::xsl:include or self::xsl:import]"/> <xsl:text> </xsl:text> </xsl:template> <xsl:template match="xsl:include"> <xsl:param name="sep" select="'  '"/> <xsl:variable name="nxt"> <xsl:choose> <xsl:when test="following-sibling::*[self::xsl:include or self::xsl:import][1]"> <xsl:value-of select="'|'"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="' '"/> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:value-of select="concat($sep,'| ')"/> <xsl:value-of select="concat($sep,'+-')"/> <xsl:value-of select="@href"/> <xsl:text> (include)</xsl:text> <xsl:text> </xsl:text> <xsl:apply-templates select="document(@href)/xsl:stylesheet/*[self::xsl:include or self::xsl:import]"> <xsl:with-param name="sep" select="concat($sep,$nxt,' ')"/> </xsl:apply-templates> </xsl:template> <xsl:template match="xsl:import"> <xsl:param name="sep" select="'  '"/> <xsl:variable name="nxt"> <xsl:choose> <xsl:when test="following-sibling::*[self::xsl:include or self::xsl:import][1]"> <xsl:value-of select="'|'"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="' '"/> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:value-of select="concat($sep,'| ')"/> <xsl:value-of select="concat($sep,'+-')"/> <xsl:value-of select="@href"/> <xsl:text> (import)</xsl:text> <xsl:text> </xsl:text> <xsl:apply-templates select="document(@href)/xsl:stylesheet/*[self::xsl:include or self::xsl:import]"> <xsl:with-param name="sep" select="concat($sep,$nxt,'  ')"/> </xsl:apply-templates> </xsl:template> Hope this helps you. Regards, Américo Albuquerque XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] XSL Dependency Mapping, Andy Joslin | Thread | Re: [xsl] XSL Dependency Mapping, J.Pietschmann |
RE: [xsl] saxon:omit-meta-tag attri, Ryan McFall | Date | [xsl] Re: XSL Dependency Mapping, Dimitre Novatchev |
Month |