Mercurial > pub > ModelGenerator
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> |