views:

843

answers:

2

Does anyone have an XSLT that will take the app.config and render it into a non-techie palatable format?

The purpose being mainly informational, but with the nice side-effect of validating the XML (if it's been made invalid, it won't render)

A: 

What type of conversion are you looking for? Just for informational purposes? What level of detail are you looking to transform?

Mitchel Sellers
+1  A: 

First draft at a solution to show

  • Connection Strings
  • App Settings

Whack this in the app.config:

<?xml-stylesheet type="text/xsl" href="display-config.xslt"?>

And this is the contents of display-config.xslt:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"&gt;

  <xsl:template match="/">
   <html>
    <body>
     <h2>Settings</h2> 
     <xsl:apply-templates /> 
    </body>
   </html>
  </xsl:template>      


  <xsl:template match="connectionStrings">
   <h3>Connection Strings</h3>
   <table border="1">
    <tr bgcolor="#abcdef">
     <th align="left">Name</th>
     <th align="left">Connection String</th>
    </tr>
    <xsl:for-each select="add">
     <tr>
      <td><xsl:value-of select="@name"/></td>
      <td><xsl:value-of select="@connectionString"/></td>
     </tr>
    </xsl:for-each>
   </table>
  </xsl:template>


  <xsl:template match="appSettings">
   <h3>Settings</h3>
   <table border="1">
    <tr bgcolor="#abcdef">
     <th align="left">Key</th>
     <th align="left">Value</th>
    </tr>
    <xsl:for-each select="add">
     <tr>
      <td><xsl:value-of select="@key"/></td>
      <td><xsl:value-of select="@value"/></td>
     </tr>
    </xsl:for-each>
   </table>
  </xsl:template>
</xsl:stylesheet>
Don Vince