Commit c36bc551 authored by Dick Hollenbeck's avatar Dick Hollenbeck

add *.xsl pluging, fix eeschema/plugins/CMakeLists.txt to install it.

parent b9eca945
...@@ -2,8 +2,13 @@ if(UNIX) ...@@ -2,8 +2,13 @@ if(UNIX)
add_definitions(-D__UNIX__) add_definitions(-D__UNIX__)
endif(UNIX) endif(UNIX)
add_executable(netlist_form_pads-pcb netlist_form_pads-pcb.cpp) # add_executable(netlist_form_pads-pcb netlist_form_pads-pcb.cpp)
# install(TARGETS netlist_form_pads-pcb DESTINATION ${KICAD_PLUGINS} COMPONENT binary)
install(TARGETS netlist_form_pads-pcb # install the *.xsl file(s), user will need to install 'xsltproc' and setup
DESTINATION ${KICAD_PLUGINS} # EESCHEMA's netlist plugins
COMPONENT binary) install( FILES
netlist_form_pads-pcb.xsl
DESTINATION ${KICAD_PLUGINS}
COMPONENT binary
)
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--XSL style sheet to EESCHEMA Generic Netlist Format to PADS netlist format
Copyright (C) 2010, SoftPLC Corporation.
GPL v2.
-->
<!DOCTYPE xsl:stylesheet [
<!ENTITY nl "&#xd;&#xa;"> <!--new line CR, LF -->
]>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" omit-xml-declaration="yes" indent="no"/>
<xsl:template match="export">
<xsl:text>*PADS-PCB*&nl;*PART*&nl;</xsl:text>
<xsl:apply-templates select="components/comp"/>
<xsl:text>&nl;*NET*&nl;</xsl:text>
<xsl:apply-templates select="nets/net"/>
</xsl:template>
<!-- for each component -->
<xsl:template match="comp">
<xsl:value-of select="@ref"/>
<xsl:text> </xsl:text>
<xsl:choose>
<xsl:when test = "footprint = ''">
<xsl:text>unknown</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates select="footprint"/>
</xsl:otherwise>
</xsl:choose>
<xsl:text>&nl;</xsl:text>
</xsl:template>
<!-- for each net -->
<xsl:template match="net">
<xsl:text>*SIGNAL* </xsl:text>
<xsl:choose>
<xsl:when test = "@name != '' ">
<xsl:value-of select="@name"/>
</xsl:when>
<xsl:otherwise>
<xsl:text>N-</xsl:text>
<xsl:value-of select="@code"/>
</xsl:otherwise>
</xsl:choose>
<xsl:text>&nl;</xsl:text>
<xsl:apply-templates select="node"/>
</xsl:template>
<!-- for each node -->
<xsl:template match="node">
<xsl:text> </xsl:text>
<xsl:value-of select="@ref"/>
<xsl:text>.</xsl:text>
<xsl:value-of select="@pin"/>
<xsl:text>&nl;</xsl:text>
</xsl:template>
</xsl:stylesheet>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment