diff options
author | Dean Camera <dean@fourwalledcubicle.com> | 2013-01-03 10:40:35 +0000 |
---|---|---|
committer | Dean Camera <dean@fourwalledcubicle.com> | 2013-01-03 10:40:35 +0000 |
commit | 04d13d264c924d5c3380076f8977ca2dd0b14fd8 (patch) | |
tree | 74449519ca2d4cb7bacb9fc42523986951932e71 /LUFA/StudioIntegration/lufa_module_transform.xslt | |
parent | aa61ee1c118e62e13e7fa4e2a4397e933322a52d (diff) | |
download | lufa-04d13d264c924d5c3380076f8977ca2dd0b14fd8.tar.gz lufa-04d13d264c924d5c3380076f8977ca2dd0b14fd8.tar.bz2 lufa-04d13d264c924d5c3380076f8977ca2dd0b14fd8.zip |
Add Atmel Studio integration files.
Diffstat (limited to 'LUFA/StudioIntegration/lufa_module_transform.xslt')
-rw-r--r-- | LUFA/StudioIntegration/lufa_module_transform.xslt | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/LUFA/StudioIntegration/lufa_module_transform.xslt b/LUFA/StudioIntegration/lufa_module_transform.xslt new file mode 100644 index 000000000..8efc706c4 --- /dev/null +++ b/LUFA/StudioIntegration/lufa_module_transform.xslt @@ -0,0 +1,73 @@ +<!-- + LUFA Library + Copyright (C) Dean Camera, 2012. + + dean [at] fourwalledcubicle [dot] com + www.lufa-lib.org +--> + +<!-- Atmel Studio framework Module XML transform file --> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> + <xsl:output method="xml" omit-xml-declaration="yes"/> + + <!-- Store the LUFA Doxygen tag filename mentioned in the root node for later use --> + <xsl:param name="lufa-doxygen-tagfile" select="lufa-manifest/@tagfile"/> + + <!-- Read manifest list, add a comment to indicate the source filename + and then copy/process all ASF nodes in the referenced document --> + <xsl:template match="lufa-manifest"> + <xsl:comment>This file has been automatically generated from the LUFA Atmel Studio integration XML files.</xsl:comment> + + <asf xmlversion="1.0"> + <xsl:for-each select="xml-source"> + + <xsl:text>

</xsl:text> + <xsl:comment>Sourced from <xsl:value-of select="@filename"/></xsl:comment> + <xsl:text>
</xsl:text> + + <xsl:apply-templates select="document(@filename)/lufa/asf/*"/> + + <xsl:if test="position()=last()"> + <xsl:text>

</xsl:text> + </xsl:if> + + </xsl:for-each> + </asf> + </xsl:template> + + <!-- Recursively match and copy/process all nodes/attributes --> + <xsl:template match="@*|node()"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + + <!-- For Doxygen entry point nodes we need to convert them to add additional + help link nodes so that they show up as links in Studio correctly --> + <xsl:template match="build[@type='doxygen-entry-point']"> + <xsl:copy-of select="current()"/> + + <xsl:call-template name="add_help_nodes"> + <xsl:with-param name="filename" select="document($lufa-doxygen-tagfile)//compound[name=current()/@value]/filename"/> + </xsl:call-template> + </xsl:template> + + <!-- Generate additional help nodes from the given help filename --> + <xsl:template name="add_help_nodes"> + <xsl:param name="filename"/> + + <build type="online-help" subtype="module-help-page-append"> + <xsl:attribute name="value"> + <xsl:value-of select="$filename"/> + </xsl:attribute> + </build> + + <build type="offline-help" subtype="module-help-page-append"> + <xsl:attribute name="value"> + <xsl:value-of select="$filename"/> + </xsl:attribute> + </build> + </xsl:template> + +</xsl:stylesheet> |