Mercurial > hg > xslscript
annotate xslscript.txt @ 6:d3340fdeadf6
XSLScript: better file names.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Fri, 21 Feb 2014 18:53:17 +0400 |
parents | xsls.txt@c9be645cc395 |
children |
rev | line source |
---|---|
0
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
1 JAR can be found here: |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
2 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
3 http://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/www/hiawatha/README.html |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
4 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
5 Recovered from: |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
6 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
7 http://moemesto.ru/link/6865082 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
8 http://moemesto.ru/philonov/page/6865082/download/INODE.RU%20/%20ProgrammaZm%20/%20XSLScript%20-%20%D0%B7%D0%B0%D0%BC%D0%B5%D0%BD%D0%B0%20XSLT |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
9 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
10 XSLScript - замена XSLT |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
11 [ 2004/07/16 ProgrammaZm ] |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
12 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
13 Возможно удобная замена XSLT. Файлы XSLScript преобразуются в xslt. |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
14 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
15 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
16 // Источник: http://pault.com/pault/XSLScript/ |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
17 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
18 Since Year 2000 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
19 Version 0.7 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
20 Check out TerseXML project |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
21 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
22 XSLScript is for those, who are writing complex XSLT stylesheets. |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
23 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
24 XSLScript is a terse notation for writing complex XSLT stylesheets. XSLScript is part of Hiawatha web-server, but XSLScript also can be used stand-alone. |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
25 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
26 To execute XSLScript script: |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
27 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
28 xsls some.xml some.xsls |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
29 The XSLScript script (some.xsls) gets compiled into corresponding XSLT stylesheet and then generated XSLT stylesheet is applied to the file some.xml (no temporary .xsl file is created, this all happens in the memory). The actual XSLT tranformation is performed by SAXON. There is 1-1 lines mapping between XSLScript script and generated XSLT ( this means if some XSLScript construction starts on line 5, the corresponding XSLT construction will also start on the same line 5. ) |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
30 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
31 To generate the XSLT stylesheet out of XSLScript script: |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
32 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
33 xslsdump some.xsls |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
34 or |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
35 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
36 xslsdump-indent some.xsls |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
37 if you want a nice looking indentation. |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
38 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
39 Why XSLScript ? |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
40 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
41 XSLT syntax is not for human beings. |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
42 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
43 One can write complex XSLT code in XSLScript and then generate the 100% XSLT stylesheet. Like I do. Occasionaly. |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
44 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
45 Can I use my XSLT stylesheets with XSLScript? |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
46 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
47 You can use xsl:import / xsl:include to include .xsl into .xsls and to include .xsls into .xsl. |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
48 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
49 What if I like writing <xsl:something? |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
50 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
51 You can write XSLT instructions in plain XSLT, XSLScript preprocessor will not touch them and will pass those constructions as-is. |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
52 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
53 Top-level elements should be plain XSLScript. |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
54 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
55 What is XSLScript ? |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
56 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
57 XSLScript is just syntax sugar, 1-1 mapping of XSLT. The only exception is that XSLScript has 'else' (which is missing in XSLT). In XSLScript if-else is translated into appropriate xsl:choose-when-otherwise. XSLScript could get more 'non-xslt' semantics if you ask me for something you need. |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
58 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
59 OK, but what is XSLScript ? |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
60 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
61 Snippet 1 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
62 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
63 X:stylesheet { |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
64 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
65 X:template = "poem" { |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
66 <html> |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
67 <head> |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
68 <title> !{title} </title> |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
69 </head> |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
70 <body> |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
71 !! "title"; |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
72 !! "author"; |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
73 X:apply-templates "stanza"; |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
74 X:apply-templates "date"; |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
75 </body> |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
76 </html> |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
77 } |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
78 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
79 X:template = "title" { <div align="center"><h1> !{.} </h1></div> } |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
80 X:template = "author" { <div align="center"><h2> By <% !{.} %> </h2></div> } |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
81 X:template = "stanza" { <p> !! "line"; </p> } |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
82 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
83 X:template = "line" { |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
84 X:if "position() mod 2 = 0" {  } |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
85 !{.} <br/> |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
86 } |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
87 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
88 X:template = "date" { <p><i> !{.} </i></p> } |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
89 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
90 } |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
91 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
92 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
93 Snippet 2 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
94 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
95 X:transform { |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
96 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
97 X:template max( list ) { |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
98 X:if "$list" { |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
99 X:variable first="count($list[1]/LINE)" |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
100 X:variable max-of-rest={ !max( list="$list[position()!=1]" ) } |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
101 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
102 X:if "$first > $max-of-rest" { |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
103 !{$first} |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
104 } else { |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
105 !{$max-of-rest} |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
106 } |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
107 } else { |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
108 0 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
109 } |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
110 } |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
111 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
112 X:template ="/" { |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
113 Longest speech is <% X:text; !max( list="//SPEECH" ) X:text; %> lines. |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
114 } |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
115 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
116 } |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
117 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
118 Syntax overview |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
119 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
120 Rather than drawing the mapping for all of 35 XSLT elements, I'l just provide the mapping rules. If this is not enough, please note that XSLScript distribution contains more than 10 examples of XSLScript code. Those examples are XSLT stylesheets from Michael Kay's XSLT Programming Reference (available for download from Wrox website) rewritten in XSLScript. This results in XSLScript examples being educational and covering almost every XSLT (XSLScript) command. |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
121 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
122 Rules |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
123 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
124 There are top-level XSLScript constructions and instructions. (exactly like it is in XSLT). Instructions could be separated from the content with <% and %> ( optional ). |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
125 Instruction has body and header. Body is separated from header with { } |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
126 'match', 'select', 'test' and 'name' are not written (but also could be written in some exotic cases.) |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
127 Symbols ', ", {, are special. Use \{ e t.c. if you need those special symbols in tne content of your stylesheet. |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
128 xsl:apply-templates, !! and xsl:number should end with ";" |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
129 Syntax of apply-templates is extremely close to the syntax of call-template. |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
130 There are few shortcuts: |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
131 You can use !{xpath-expression} for |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
132 X:value-of select="xpath-expression"; |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
133 !! for X:apply-templates |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
134 !foo() for X:call-template name="foo" |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
135 X:var for X:variable |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
136 There is 'comma' shortcut. It exists for X:stylesheet (see date.xsls for example of XSLT-engine independent java binding). And also it exists for X:for-each and X:apply-templates. |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
137 X:for-each "//*" , X:sort { |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
138 You can not write X:sort as an element, but you should use 'comma' shortcut. |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
139 The shortcut for template allows : |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
140 X:template foo( bar="init", baz={markup} ) = "match" mode="some" { |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
141 Download |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
142 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
143 Because SAXON (http://users.iclway.co.uk/mhkay/saxon/) is 100% free, XSLScript distribution contains everything you need to run XSLScript. |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
144 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
145 xsls.jar includes not only .class files, but also the source code of XSLScript |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
146 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
147 XSLScript is 100% free. |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
148 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
149 Contact |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
150 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
151 Paul Tchistopolskii. |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
152 http://www.pault.com |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
153 paul@pault.com |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
154 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
155 Changes in version 0.7 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
156 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
157 (major rewrite) |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
158 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
159 <% %> are optional. |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
160 Some verbose forms are dropped ( no X:with-param and call-template ever, e t.c. ) |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
161 Parser is less forgiving and some things become not intuitive. |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
162 \{ \' " required. |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
163 Nice dumping of generated stylesheet. |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
164 1-1 line mapping. |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
165 Based on SAXON / SAX2, but still should work with XT. |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
166 Changes in version 0.51 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
167 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
168 (small bugfixes) |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
169 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
170 ':' was not allowed in #NAME token. ( Allows xmlns:some= ) |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
171 Multiple <!-- comments bugfixed. |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
172 \{ bugfixed and \' allowed. This is actually not obvious, I should explain how to use \{ and \' ... some day ... |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
173 Few examples from XSL-list are included. |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
174 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
175 |
c9be645cc395
XSLScript: added some description found.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
176 // Источник: http://pault.com/pault/XSLScript/ |