<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:atom="http://www.w3.org/2005/Atom"
    xmlns:wp="http://wordpress.org/export/1.2/"
    >
<!-- atom: http://www.ietf.org/rfc/rfc4287 -->
<!-- 
        WordPress Backup File XML to HTML via XSLT.
        (c) December 2013
        by Wyrd Smythe <TheWyrdSmythe@gmail.com>
        Granted to the public domain for non-commercial use.
        This work is release "as is" for your own use.
 -->
<xsl:output method="html" encoding="UTF-8"/>
<!-- MAIN TEMPLATE -->
<xsl:template match="/rss">
<xsl:message>Smythe's XSLT Program: wp-cats-and-tags</xsl:message>

<xsl:element name="html"><!-- html -->
<xsl:element name="head"><!-- head -->

    <xsl:comment>
        <xsl:text>This file is automatically generated. Do not edit!</xsl:text>
    </xsl:comment>

    <xsl:element name="meta">
        <xsl:attribute name="name">XSLT-Script</xsl:attribute>
        <xsl:attribute name="value">wp-cats-and-tags</xsl:attribute>
    </xsl:element>

    <xsl:element name="title">
        <xsl:text>WP:</xsl:text><xsl:value-of select="channel/title"/>
    </xsl:element>

    <xsl:element name="link">
        <xsl:attribute name="rel">stylesheet</xsl:attribute>
        <xsl:attribute name="type">text/css</xsl:attribute>
        <xsl:attribute name="href">/cjs/blog/xslt.css</xsl:attribute>
    </xsl:element>

</xsl:element><!-- /head -->
<xsl:element name="body"><!-- body -->

    <!-- HEADER -->
    <xsl:element name="div">
        <xsl:attribute name="class">PageHead</xsl:attribute>

        <xsl:element name="h1"><xsl:value-of select="channel/title"/></xsl:element>
        <xsl:element name="h2"><xsl:value-of select="channel/description"/></xsl:element>
    </xsl:element>

    <!-- PAGE -->
    <xsl:element name="div">
        <xsl:attribute name="class">PageBody</xsl:attribute>

        <!-- table -->
        <xsl:element name="table">
            <xsl:attribute name="class">TMain</xsl:attribute>
            <xsl:element name="tr">
                <xsl:element name="th"><xsl:text>Blog URL</xsl:text></xsl:element>
                <xsl:element name="td">
                    <xsl:element name="a">
                        <xsl:attribute name="target"><xsl:text>_blank</xsl:text></xsl:attribute>
                        <xsl:attribute name="href">
                            <xsl:value-of select="channel/link"/>
                        </xsl:attribute>
                        <xsl:value-of select="channel/link"/>
                    </xsl:element>
                </xsl:element>
                <xsl:element name="th"><xsl:text>Blog Author</xsl:text></xsl:element>
                <xsl:element name="td">
                    <xsl:attribute name="style">background-color:#99ffff;font-weight:bold;</xsl:attribute>
                    <xsl:value-of select="channel/wp:author/wp:author_display_name"/>
                </xsl:element>
                <xsl:element name="th"><xsl:text>Author Email</xsl:text></xsl:element>
                <xsl:element name="td">
                    <xsl:attribute name="style">background-color:#ffff99;font-weight:bold;</xsl:attribute>
                    <xsl:value-of select="channel/wp:author/wp:author_email"/>
                </xsl:element>
            </xsl:element>
        </xsl:element> <!-- /table -->

        <xsl:element name="h3">Categories</xsl:element>
        <!-- table -->
        <xsl:element name="table">
            <xsl:attribute name="class">TMain</xsl:attribute>
            <xsl:apply-templates select="channel/wp:category">
                <xsl:sort select="wp:cat_name" data-type="text" order="ascending" />
            </xsl:apply-templates>
        <!-- /table -->
        </xsl:element>

        <xsl:element name="h3">Tags</xsl:element>
        <!-- table -->
        <xsl:element name="table">
            <xsl:attribute name="class">TMain</xsl:attribute>
            <xsl:apply-templates select="channel/wp:tag">
                <xsl:sort select="wp:tag_name" data-type="text" order="ascending" />
            </xsl:apply-templates>
        <!-- /table -->
        </xsl:element>


    </xsl:element>

    <!-- TRAILER -->
    <xsl:element name="div">
        <xsl:attribute name="class">PageFoot</xsl:attribute>
        <!-- left trailer text -->
        <xsl:element name="span">
            <xsl:attribute name="class">LT</xsl:attribute>
            <xsl:text disable-output-escaping="yes">&amp;copy; 2013 Wyrd Smythe</xsl:text>
            <xsl:element name="br" />
            <xsl:text>Granted to the public domain.</xsl:text>
            <xsl:element name="br" />
        </xsl:element>
        <!-- right trailer text -->
        <xsl:element name="span">
            <xsl:attribute name="class">RT</xsl:attribute>
            <xsl:text>Questions</xsl:text>
            <xsl:element name="br" />
            <xsl:text>&lt;TheWyrdSmythe@gmail.com&gt;</xsl:text>
            <xsl:element name="br" />
        </xsl:element>
        <!-- center trailer text -->
            <xsl:element name="br" />
            <xsl:text disable-output-escaping="yes">&amp;#x221E;</xsl:text>
            <xsl:element name="br" />
    </xsl:element>

</xsl:element><!-- /body -->
</xsl:element><!-- /html -->
</xsl:template>


<!-- CATEGORIES TEMPLATE -->
<xsl:template match="wp:category">
<xsl:if test="position()=1">
<xsl:element name="tr">
    <xsl:element name="th"><xsl:text>Name</xsl:text></xsl:element>
    <xsl:element name="th"><xsl:text>Description</xsl:text></xsl:element>
    <xsl:element name="th"><xsl:text>Parent</xsl:text></xsl:element>
    <xsl:element name="th"><xsl:text>Posts</xsl:text></xsl:element>
    <xsl:element name="th"><xsl:text>Nice Name</xsl:text></xsl:element>
    <xsl:element name="th"><xsl:text>id</xsl:text></xsl:element>
</xsl:element>
</xsl:if>
<xsl:element name="tr">
    <xsl:element name="td">
        <xsl:attribute name="style">font-weight:bold;</xsl:attribute>
        <xsl:value-of select="wp:cat_name"/>
    </xsl:element>
    <xsl:element name="td">
        <xsl:attribute name="style">font-style:italic;</xsl:attribute>
        <xsl:value-of select="wp:category_description"/>
    </xsl:element>
    <xsl:element name="td">
        <xsl:value-of select="wp:category_parent"/>
    </xsl:element>
    <xsl:element name="td">
        <xsl:attribute name="style">text-align:right;</xsl:attribute>
        <xsl:variable name="category" select="wp:category_nicename" />
        <xsl:value-of select="count(/rss/channel/item[wp:post_type='post' and wp:status='publish' and category/@domain='category' and category/@nicename=$category])"/>
    </xsl:element>
    <xsl:element name="td">
        <xsl:value-of select="wp:category_nicename"/>
    </xsl:element>
    <xsl:element name="td">
        <xsl:attribute name="style">font-weight:bold; text-align:right;</xsl:attribute>
        <xsl:value-of select="wp:term_id"/>
    </xsl:element>
</xsl:element>
</xsl:template>


<!-- TAGS TEMPLATE -->
<xsl:template match="wp:tag">
<xsl:if test="position()=1">
<xsl:element name="tr">
    <xsl:element name="th"><xsl:text>Name</xsl:text></xsl:element>
    <xsl:element name="th"><xsl:text>Slug</xsl:text></xsl:element>
    <xsl:element name="th"><xsl:text>Posts</xsl:text></xsl:element>
    <xsl:element name="th"><xsl:text>id</xsl:text></xsl:element>
</xsl:element>
</xsl:if>
<xsl:element name="tr">
    <xsl:element name="td">
        <xsl:attribute name="style">font-weight:bold;</xsl:attribute>
        <xsl:value-of select="wp:tag_name"/>
    </xsl:element>
    <xsl:element name="td">
        <xsl:value-of select="wp:tag_slug"/>
    </xsl:element>
    <xsl:element name="td">
        <xsl:attribute name="style">text-align:right;</xsl:attribute>
        <xsl:variable name="tag" select="wp:tag_slug" />
        <xsl:value-of select="count(/rss/channel/item[wp:post_type='post' and wp:status='publish' and category/@domain='post_tag' and category/@nicename=$tag])"/>
    </xsl:element>
    <xsl:element name="td">
        <xsl:attribute name="style">font-weight:bold; text-align:right;</xsl:attribute>
        <xsl:value-of select="wp:term_id"/>
    </xsl:element>
</xsl:element>
</xsl:template>



</xsl:stylesheet>

<!-- eof -->
