xsl-list
[Top] [All Lists]

RE: XSL documentor

2004-07-16 04:25:02
From: Martin(_dot_)Borgars(_at_)Marlborough-Stirling(_dot_)com 

I've recently been given another developer's XSL templates to 
support now that she's left the team.

There are a large number of templates. Does anyone know of 
any tools that could provide me with details of how all the 
templates fit together (i.e. a root map) if I tell it what 
the top-level template is?

Christof's software sounds good, but I can't connect to his site
at the moment.

In the meantime, here's a stylesheet that I use to help
me maintain a system with 2000+ templates.

It produces a nested, static summary XML file that lists
the includes, imports, templates and call-templates.

I run a second stylesheet with that XML file as input that creates
a set of web pages with forward and back links.


<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
version="1.0">

<xsl:output method="xml" indent="yes"/>

<xsl:template match="text()"/>

<xsl:template match="/">
  <templates>
    <xsl:apply-templates/>
  </templates>
</xsl:template>

<xsl:template match="/" mode="child">
  <xsl:apply-templates/>
</xsl:template>

<xsl:template match="xsl:import">
  <import name="{(_at_)href}">
    <xsl:apply-templates select="document(@href)" mode="child"/>
  </import>
</xsl:template>

<xsl:template match="xsl:include">
  <include name="{(_at_)href}">
    <xsl:apply-templates select="document(@href)" mode="child"/>
  </include>
</xsl:template>

<xsl:template match="xsl:template">
  <template>
    <xsl:copy-of select="@name | @match"/>

    <xsl:for-each select=".//xsl:call-template">
      <calls name="{(_at_)name}"/>
    </xsl:for-each>
  </template>
</xsl:template>

</xsl:stylesheet>

Best Wishes,
James

--
"Be excellent to each other", Bill & Ted 



<Prev in Thread] Current Thread [Next in Thread>