/XSL-Sublime-Snippets

Some helpful XSL snippets for Sublime Text

GNU General Public License v2.0GPL-2.0

XSL-Sublime-Snippets

Some helpful XSL snippets for Sublime Text 3 (has not been tested elsewhere)

##Lazy install - sorry no sublime-package Open a command prompt. i.e. gitBash.

CD to.

  • OS X: ~/Library/Application Support/Sublime Text 3/Packages/User
  • Windows: %APPDATA%\Sublime Text 3\Packages\User
  • Linux: ~/.config/sublime-text-3/Packages/User

clone the repo

git clone https://github.com/nibzo1/XSL-Sublime-Snippets

restart Sublime Text

Enjoy!

##Credit ###Initial Todd Ditchendorf's (http://www.ditchnet.org/) made a collection of TextMate snippets for XSLT 1.1. URL: http://www.ditchnet.org/wp/2006/12/19/textmate-changed-my-life

###Further Credit hoest - Jelle de Jong

https://github.com/hoest/SublimeXSLT https://packagecontrol.io/packages/XSLT%20Snippets

*Package did not work for me, so extracted the snippets and changed a few things cheers lads :)

Snippets

ai

<xsl:apply-imports />

apw

<xsl:apply-templates${1: select="${2}"}${3: mode="${4}"}>
  <xsl:with-param name="${5}" select="${6}"/>
</xsl:apply-templates>

ap

<xsl:apply-templates${1: select="${2}"}${3: mode="${4}"} />

attrs

<xsl:attribute-set name="${1}"${2: use-attribute-sets="${3}"}>${4}</xsl:attribute-set>

attr

<xsl:attribute name="${1}"${2: namespace="${3}"}>${0}</xsl:attribute>

callw

<xsl:call-template name="${1}">
  <xsl:with-param name="${2}" select="${3}"/>
</xsl:call-template>

call

<xsl:call-template name="${1}" />

cw

<xsl:choose>
  <xsl:when test="${1}">${2}</xsl:when>
  ${3:<xsl:otherwise>${0}</xsl:otherwise>}
</xsl:choose>

ch

<xsl:choose>
  ${0}
</xsl:choose>

com

<xsl:comment>${0}</xsl:comment>

cpo

<xsl:copy-of select="${1}" />

cp

<xsl:copy${1: use-attribute-sets="${2}"}>${0}</xsl:copy>

dec

<xsl:decimal-format ${1:name="${2}"}${3: decimal-separator="${4}"}${5: grouping-separator="${6}"}${7: infinity="${8}"}${9: minus-sign="${10}"}${11: NaN="${12}"}${13: percent="${14}"}${15: per-mile="${16}"}${17: zero-digit="${18}"}${19: digit="${20}"}${21: pattern-separator="${22}"} />

doci

<xsl:document href="${1}" method="${2}" version="${3:1.0}" encoding="${4:utf-8}" indent="${5}"${6: omit-xml-declaration="${7}"}${8: standalone="${9}"}${10: media-type="${11:application/xml}"}${12: doctype-public="${13:-//W3C//DTD XHTML 1.0 Strict//EN}"}${14: doctype-system="${15:http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd}"}${16: cdata-section-elements="${17}"}>
  ${0}
</xsl:document>

doc

<xsl:document href="${1}" method="${2}" version="${3:1.0}" encoding="${4:utf-8}" indent="${5}"${6: omit-xml-declaration="${7}"}${8: standalone="${9}"}${10: media-type="${11:application/xml}"}${12: doctype-public="${13:-//W3C//DTD XHTML 1.0 Strict//EN}"}${14: doctype-system="${15:http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd}"}${16: cdata-section-elements="${17}"}/>

elt

<xsl:element name="${1}"${2: namespace="${3}"}>
  ${0}
</xsl:element>

fb

<xsl:fallback>${0}</xsl:fallback>

for

<xsl:for-each select="${1}">
  ${0}
</xsl:for-each>

if

<xsl:if test="${1}">${0}</xsl:if>

imp

<xsl:import href="${1}" />

inc

<xsl:include href="${1}" />

key

<xsl:key name="${1}" match="${2}" use="${3}" />

msg

<xsl:message${1: terminate="${2"}>${0}</xsl:message>

nam

<xsl:namespace-alias stylesheet-prefix="${1}" result-prefix="${2}" />

num

<xsl:number level="${1}" count="${2}" from="${3}" value="${4}" format="${5}" lang="${6}" letter-value="${7}" grouping-separator="${8}" grouping-size="${9}" />

ot

<xsl:otherwise>${0}</xsl:otherwise>

out

<xsl:output method="${1}" version="${2:1.0}" encoding="${3:utf-8}" indent="${4}"${5: omit-xml-declaration="${6}"}${7: standalone="${8}"}${9: media-type="${10:application/xml}"}${11: doctype-public="${12:-//W3C//DTD XHTML 1.0 Strict//EN}"}${13: doctype-system="${14:http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd}"}${15: cdata-section-elements="${16}"} />

pari

<xsl:param name="${1}">${0}</xsl:param>

par

<xsl:param name="${1}"${2: select="${3}"} />

pres

<xsl:preserve-space elements="${1}" />

proc

<xsl:processing-instruction name="{$1}">${0}</xsl:processing-instruction>

scr

<xsl:script implements-prefix="${1}" language="${2}" src="${3}" archive="${4}">${0}</xsl:script>

sort

<xsl:sort select="${1}"${2: data-type="${3}"}${4: order="${5}"}${6: case-order="${7}"}${8: lang="${9}"} />

strip

<xsl:strip-space elements="${1}" />

style

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="xml" version="1.0" encoding="utf-8" indent="yes"/>

  <xsl:template match="${1}">
    ${0}
  </xsl:template>
</xsl:stylesheet>

style-exslt

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exsl="http://exslt.org/common" extension-element-prefixes="exsl">
  <xsl:output method="xml" version="1.0" encoding="utf-8" indent="yes"/>

  <xsl:template match="${1}">
    ${0}
  </xsl:template>
</xsl:stylesheet>

style-exslt-all

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exsl="http://exslt.org/common"${1: xmlns:date="http://exslt.org/dates-and-times"}${2: xmlns:dynamic="http://exslt.org/dynamic"}${3: xmlns:math="http://exslt.org/math"}${4: xmlns:regexp="http://exslt.org/regular-expressions"}${5: xmlns:sets="http://exslt.org/sets"}${6: xmlns:str="http://exslt.org/strings"} extension-element-prefixes="exsl${7: date}${8: dynamic}${9: math}${10: regexp}${11: sets}${12: str}">
  <xsl:output method="xml" version="1.0" encoding="utf-8" indent="yes"/>

  <xsl:template match="${13}">
    ${0}
  </xsl:template>
</xsl:stylesheet>

tm

<xsl:template match="${1}"${2: mode="${3}"}>
  ${0}
</xsl:template>

tn

<xsl:template name="${1}"${2: mode="${3}"}>
  ${0}
</xsl:template>

txt

<xsl:text />

text

<xsl:text${1: disable-output-escaping="${2}"}>${0}</xsl:text

val

<xsl:value-of select="${1}"${2: disable-output-escaping="${3}"} />

vari

<xsl:variable name="${1}">${0}</xsl:variable>

var

<xsl:variable name="${1}"${2: select="${3}"} />

wh

<xsl:when test="${1}">${0}</xsl:when>

wpi

<xsl:with-param name="${1}">${0}</xsl:with-param>

wp

<xsl:with-param name="${1}" select="${2}" />