comparison xslt/text-tools.xsl @ 1:7f803979305f

improved cs-dom generation, added getMember, getKeyMember templates
author cin
date Thu, 22 Feb 2018 19:14:00 +0300
parents cbdada054b4a
children
comparison
equal deleted inserted replaced
0:cbdada054b4a 1:7f803979305f
1 <?xml version="1.0" encoding="UTF-8"?> 1 <?xml version="1.0" encoding="UTF-8"?>
2 <xsl:stylesheet version="1.0" 2 <xsl:stylesheet version="1.0"
3 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 3 xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:t="http://implab.org/schemas/temp"
4 xmlns:exsl="http://exslt.org/common" extension-element-prefixes="exsl">
4 <!-- TEXT ROUTINES --> 5 <!-- TEXT ROUTINES -->
5 <xsl:template name="write-line"> 6 <xsl:template name="writeLine">
6 <xsl:param name="level" select="0" /> 7 <xsl:param name="level" select="0" />
7 <xsl:param name="text" /> 8 <xsl:param name="text" />
8 <xsl:call-template name="indent"> 9 <xsl:call-template name="indent">
9 <xsl:with-param name="level" select="$level" /> 10 <xsl:with-param name="level" select="$level" />
10 </xsl:call-template> 11 </xsl:call-template>
20 <xsl:with-param name="level" select="$level - 1" /> 21 <xsl:with-param name="level" select="$level - 1" />
21 </xsl:call-template> 22 </xsl:call-template>
22 </xsl:if> 23 </xsl:if>
23 </xsl:template> 24 </xsl:template>
24 25
25 <xsl:template name="to-lower-first"> 26 <xsl:template name="toLowerFirst">
26 <xsl:param name="value" /> 27 <xsl:param name="value" />
27 <xsl:variable name="smallcase" select="'abcdefghijklmnopqrstuvwxyz'" /> 28 <xsl:variable name="smallcase" select="'abcdefghijklmnopqrstuvwxyz'" />
28 <xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" /> 29 <xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />
29 <xsl:variable name="before" select="substring($value,1,1)" /> 30 <xsl:variable name="before" select="substring($value,1,1)" />
30 <xsl:variable name="after" select="substring($value,2)" /> 31 <xsl:variable name="after" select="substring($value,2)" />
31 <xsl:value-of 32 <xsl:value-of
32 select="concat(translate($before,$uppercase,$smallcase), $after)" /> 33 select="concat(translate($before,$uppercase,$smallcase), $after)" />
33 </xsl:template> 34 </xsl:template>
34 35
35 <xsl:template name="to-lower"> 36 <xsl:template name="toLower">
36 <xsl:param name="value" /> 37 <xsl:param name="value" />
37 <xsl:variable name="smallcase" select="'abcdefghijklmnopqrstuvwxyz'" /> 38 <xsl:variable name="smallcase" select="'abcdefghijklmnopqrstuvwxyz'" />
38 <xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" /> 39 <xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />
39 <xsl:value-of select="translate($value,$uppercase,$smallcase)" /> 40 <xsl:value-of select="translate($value,$uppercase,$smallcase)" />
40 </xsl:template> 41 </xsl:template>
42
43 <xsl:template name="warn">
44 <xsl:param name="msg" />
45 <xsl:message terminate="no">
46 <xsl:apply-templates select="exsl:node-set($msg)"
47 mode="trace" />
48 </xsl:message>
49 </xsl:template>
50
51 <xsl:template name="error">
52 <xsl:param name="msg" />
53 <xsl:message terminate="no">
54 <xsl:apply-templates select="exsl:node-set($msg)"
55 mode="trace" />
56 </xsl:message>
57 </xsl:template>
58
59 <xsl:template match="t:trace" mode="trace">
60 <xsl:param name="level" select="0" />
61 <xsl:call-template name="writeLine">
62 <xsl:with-param name="text" select="@msg" />
63 <xsl:with-param name="level" select="$level" />
64 </xsl:call-template>
65 <xsl:apply-templates mode="trace">
66 <xsl:with-param name="level" select="$level + 1" />
67 </xsl:apply-templates>
68 </xsl:template>
41 </xsl:stylesheet> 69 </xsl:stylesheet>