|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Stylesheet assistance
Daniel --
Well, it's ugly but it does seem to do what you want. Maybe someone can
come up with a more abbreviated version.
========================
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes" />
<xsl:strip-space elements="test"/>
<xsl:template match="test">
<html>
<body>
<xsl:apply-templates/>
</body>
</html>
</xsl:template>
<xsl:template match="a1">
<xsl:apply-templates select="p"/>
<xsl:apply-templates select="a2">
<xsl:with-param name="indent">
<xsl:choose>
<xsl:when test="b">12</xsl:when>
<xsl:otherwise>0</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="a2">
<xsl:param name="indent" select="0"/>
<xsl:apply-templates select="p">
<xsl:with-param name="indent" select="$indent"/>
</xsl:apply-templates>
<xsl:apply-templates select="a3">
<xsl:with-param name="indent">
<xsl:choose>
<xsl:when test="$indent > 0"><xsl:value-of
select="number($indent)+12"/></xsl:when>
<xsl:when test="b">12</xsl:when>
<xsl:otherwise>0</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="a3">
<xsl:param name="indent" select="0"/>
<xsl:apply-templates select="p">
<xsl:with-param name="indent" select="$indent"/>
</xsl:apply-templates>
<xsl:apply-templates select="a4">
<xsl:with-param name="indent">
<xsl:choose>
<xsl:when test="$indent > 0"><xsl:value-of
select="number($indent)+12"/></xsl:when>
<xsl:when test="b">12</xsl:when>
<xsl:otherwise>0</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="a4">
<xsl:param name="indent" select="0"/>
<xsl:apply-templates select="p">
<xsl:with-param name="indent" select="$indent"/>
</xsl:apply-templates>
<xsl:apply-templates select="a5">
<xsl:with-param name="indent">
<xsl:choose>
<xsl:when test="$indent > 0"><xsl:value-of
select="number($indent)+12"/></xsl:when>
<xsl:when test="b">12</xsl:when>
<xsl:otherwise>0</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="a5">
<xsl:param name="indent" select="0"/>
<xsl:apply-templates select="p">
<xsl:with-param name="indent" select="$indent"/>
</xsl:apply-templates>
<xsl:apply-templates select="a6">
<xsl:with-param name="indent">
<xsl:choose>
<xsl:when test="$indent > 0"><xsl:value-of
select="number($indent)+12"/></xsl:when>
<xsl:when test="b">12</xsl:when>
<xsl:otherwise>0</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="a6">
<xsl:param name="indent" select="0"/>
<xsl:apply-templates select="p">
<xsl:with-param name="indent" select="$indent"/>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="p">
<xsl:param name="indent" select="0"/>
<p>
<xsl:if test="$indent > 0">
<xsl:attribute name="style">margin-left: <xsl:value-of
select="$indent"/>px</xsl:attribute>
</xsl:if>
<xsl:value-of select="." />
</p>
</xsl:template>
</xsl:stylesheet>
========================
Daniel Pitti wrote:
>
> Any suggestions on how do do the following?
>
> Given the following DTD:
> ...
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
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








