rjack-solr 3.6.0.0-java
Sign up to get free protection for your applications and to get access to all the features.
- data/History.rdoc +2 -0
- data/Manifest.txt +62 -0
- data/NOTICE.txt +7 -0
- data/README.rdoc +71 -0
- data/Rakefile +12 -0
- data/assembly.xml +20 -0
- data/bin/rjack-solr-fg +53 -0
- data/config/config.rb +9 -0
- data/init/rjack-solr +44 -0
- data/lib/rjack-solr.rb +30 -0
- data/lib/rjack-solr/base.rb +28 -0
- data/lib/rjack-solr/commons-fileupload-1.2.1.jar +0 -0
- data/lib/rjack-solr/commons-io-2.1.jar +0 -0
- data/lib/rjack-solr/commons-lang-2.6.jar +0 -0
- data/lib/rjack-solr/config.rb +24 -0
- data/lib/rjack-solr/server.rb +70 -0
- data/lib/rjack-solr/solr-core-3.6.0.jar +0 -0
- data/lib/rjack-solr/solr-solrj-3.6.0.jar +0 -0
- data/pom.xml +96 -0
- data/test/test_solr.rb +43 -0
- data/webapp/META-INF/LICENSE.txt +1166 -0
- data/webapp/META-INF/MANIFEST.MF +13 -0
- data/webapp/META-INF/NOTICE.txt +438 -0
- data/webapp/WEB-INF/web.xml +153 -0
- data/webapp/WEB-INF/weblogic.xml +12 -0
- data/webapp/admin/_info.jsp +120 -0
- data/webapp/admin/action.jsp +94 -0
- data/webapp/admin/analysis.jsp +496 -0
- data/webapp/admin/analysis.xsl +179 -0
- data/webapp/admin/dataimport.jsp +53 -0
- data/webapp/admin/debug.jsp +103 -0
- data/webapp/admin/distributiondump.jsp +160 -0
- data/webapp/admin/favicon.ico +0 -0
- data/webapp/admin/form.jsp +152 -0
- data/webapp/admin/get-file.jsp +72 -0
- data/webapp/admin/get-properties.jsp +24 -0
- data/webapp/admin/header.jsp +44 -0
- data/webapp/admin/index.jsp +162 -0
- data/webapp/admin/jquery-1.4.3.min.js +166 -0
- data/webapp/admin/meta.xsl +34 -0
- data/webapp/admin/ping.jsp +52 -0
- data/webapp/admin/ping.xsl +71 -0
- data/webapp/admin/raw-schema.jsp +38 -0
- data/webapp/admin/registry.jsp +107 -0
- data/webapp/admin/registry.xsl +321 -0
- data/webapp/admin/replication/header.jsp +89 -0
- data/webapp/admin/replication/index.jsp +378 -0
- data/webapp/admin/schema.jsp +690 -0
- data/webapp/admin/solr-admin.css +215 -0
- data/webapp/admin/solr_small.png +0 -0
- data/webapp/admin/stats.jsp +92 -0
- data/webapp/admin/stats.xsl +220 -0
- data/webapp/admin/tabular.xsl +141 -0
- data/webapp/admin/threaddump.jsp +110 -0
- data/webapp/admin/threaddump.xsl +103 -0
- data/webapp/favicon.ico +0 -0
- data/webapp/index.jsp +49 -0
- metadata +217 -0
@@ -0,0 +1,215 @@
|
|
1
|
+
/**
|
2
|
+
* Licensed to the Apache Software Foundation (ASF) under one or more
|
3
|
+
* contributor license agreements. See the NOTICE file distributed with
|
4
|
+
* this work for additional information regarding copyright ownership.
|
5
|
+
* The ASF licenses this file to You under the Apache License, Version 2.0
|
6
|
+
* (the "License"); you may not use this file except in compliance with
|
7
|
+
* the License. You may obtain a copy of the License at
|
8
|
+
*
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
*
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
* See the License for the specific language governing permissions and
|
15
|
+
* limitations under the License.
|
16
|
+
*/
|
17
|
+
|
18
|
+
h1, h2, h3, h4, h5 {
|
19
|
+
display: block;
|
20
|
+
font-family: ITC Officina Sans Book, Terminator Two, Helvetica, Arial, sans-serif;
|
21
|
+
font-style: bold;
|
22
|
+
margin: 0;
|
23
|
+
}
|
24
|
+
|
25
|
+
strong {
|
26
|
+
font-family: ITC Officina Sans Book, Terminator Two, Helvetica, Arial, sans-serif;
|
27
|
+
font-style: bold;
|
28
|
+
margin: 0;
|
29
|
+
}
|
30
|
+
|
31
|
+
input.std, textarea.std {
|
32
|
+
color: black;
|
33
|
+
border: 2px inset #ff9933;
|
34
|
+
background-color: #ffffff;
|
35
|
+
width:450px;
|
36
|
+
max-width:450px;
|
37
|
+
}
|
38
|
+
|
39
|
+
input.stdbutton {
|
40
|
+
font-family: ITC Officina Sans Book, Helvetica, Arial, sans-serif;
|
41
|
+
font-style: bold;
|
42
|
+
font-size: 11;
|
43
|
+
text-transform: capitalize;
|
44
|
+
color: black;
|
45
|
+
background-color: #dddddd;
|
46
|
+
border: groove #ff9933;
|
47
|
+
}
|
48
|
+
|
49
|
+
input.stdbutton:hover {
|
50
|
+
color: #0000ff;
|
51
|
+
border: groove #0000ff;
|
52
|
+
}
|
53
|
+
|
54
|
+
input.stdbuttondis{
|
55
|
+
font-family: ITC Officina Sans Book, Helvetica, Arial, sans-serif;
|
56
|
+
font-style: bold;
|
57
|
+
font-size: 11;
|
58
|
+
text-transform: capitalize;
|
59
|
+
color: #8B8B83;
|
60
|
+
background-color: #dddddd;
|
61
|
+
border: groove #8B8B83;
|
62
|
+
}
|
63
|
+
|
64
|
+
body {
|
65
|
+
background-color: #bbbbbb;
|
66
|
+
}
|
67
|
+
|
68
|
+
table {
|
69
|
+
display: table;
|
70
|
+
background-color: #FAF7E4;
|
71
|
+
width: 100%;
|
72
|
+
border-top: 4px solid #666666;
|
73
|
+
border-left: 2px solid #666666;
|
74
|
+
text-align: left;
|
75
|
+
vertical-align: top;
|
76
|
+
cellpadding-right: 8px;
|
77
|
+
}
|
78
|
+
|
79
|
+
table.responseHeader, table.analysis {
|
80
|
+
width: auto;
|
81
|
+
}
|
82
|
+
|
83
|
+
table {
|
84
|
+
border-collapse: collapse
|
85
|
+
}
|
86
|
+
|
87
|
+
tr > td:first-child {
|
88
|
+
width: 30%;
|
89
|
+
}
|
90
|
+
|
91
|
+
td.debugdata, td.highlight, td.responseHeader {
|
92
|
+
width: auto;
|
93
|
+
}
|
94
|
+
|
95
|
+
td.highlight {
|
96
|
+
background: #ccccff;
|
97
|
+
}
|
98
|
+
|
99
|
+
td.responseHeader {
|
100
|
+
width: auto;
|
101
|
+
text-align: right;
|
102
|
+
}
|
103
|
+
|
104
|
+
td.responseHeader + td {
|
105
|
+
text-align: left;
|
106
|
+
font-family: Courier;
|
107
|
+
}
|
108
|
+
|
109
|
+
|
110
|
+
th, td {
|
111
|
+
text-align: left;
|
112
|
+
vertical-align: top;
|
113
|
+
border-bottom: 1px solid #ff9933;
|
114
|
+
}
|
115
|
+
|
116
|
+
a {
|
117
|
+
text-decoration: none;
|
118
|
+
font-weight: bold;
|
119
|
+
font-size: 11px;
|
120
|
+
background: #FAF7E4;
|
121
|
+
text-transform: uppercase;
|
122
|
+
}
|
123
|
+
|
124
|
+
a:link {
|
125
|
+
color: #0000aa;
|
126
|
+
}
|
127
|
+
|
128
|
+
a:visited {
|
129
|
+
color: #0000ff;
|
130
|
+
}
|
131
|
+
|
132
|
+
a:active {
|
133
|
+
color: #4444ff;
|
134
|
+
}
|
135
|
+
|
136
|
+
a:hover {
|
137
|
+
color: #0000ff;
|
138
|
+
background: #ccccff;
|
139
|
+
}
|
140
|
+
|
141
|
+
a:offsite {
|
142
|
+
color: #0000aa;
|
143
|
+
}
|
144
|
+
|
145
|
+
table.analysis th, table.analysis td {
|
146
|
+
border-right:1px solid black;
|
147
|
+
}
|
148
|
+
|
149
|
+
/**
|
150
|
+
* styles for the schema browser
|
151
|
+
*/
|
152
|
+
|
153
|
+
table.topTerms {
|
154
|
+
width: 450px;
|
155
|
+
}
|
156
|
+
|
157
|
+
table.histogram {
|
158
|
+
vertical-align: bottom;
|
159
|
+
}
|
160
|
+
|
161
|
+
table.histogram td, table.histogram th {
|
162
|
+
text-align: center;
|
163
|
+
vertical-align: bottom;
|
164
|
+
border-bottom: 1px solid #ff9933;
|
165
|
+
width: auto;
|
166
|
+
}
|
167
|
+
|
168
|
+
#menu {
|
169
|
+
background-color: #FAF7E4;
|
170
|
+
height:100%;
|
171
|
+
min-height:100%;
|
172
|
+
width:140px;
|
173
|
+
float:left;
|
174
|
+
margin-right:20px
|
175
|
+
}
|
176
|
+
#menu h3 {
|
177
|
+
padding-left:10px;
|
178
|
+
}
|
179
|
+
#menu ul {
|
180
|
+
list-style: none;
|
181
|
+
text-align: right;
|
182
|
+
margin: 0;
|
183
|
+
padding: 0
|
184
|
+
}
|
185
|
+
#menu li.header {
|
186
|
+
text-align: left;
|
187
|
+
}
|
188
|
+
#menu li {
|
189
|
+
border: 1px solid #ff9933;
|
190
|
+
margin: 0
|
191
|
+
}
|
192
|
+
#menu li a {
|
193
|
+
display:block;
|
194
|
+
}
|
195
|
+
#menu li.selected a {
|
196
|
+
background-color: #ccccff
|
197
|
+
}
|
198
|
+
#menu a:hover {
|
199
|
+
background: #ccccff
|
200
|
+
}
|
201
|
+
|
202
|
+
#schemaTop {
|
203
|
+
border-bottom:1px black solid;
|
204
|
+
}
|
205
|
+
|
206
|
+
#content {
|
207
|
+
margin-left: 160px;
|
208
|
+
}
|
209
|
+
#topTerms {
|
210
|
+
float:left;
|
211
|
+
margin-right:40px;
|
212
|
+
}
|
213
|
+
div.analyzer {
|
214
|
+
margin-left:20px;
|
215
|
+
}
|
Binary file
|
@@ -0,0 +1,92 @@
|
|
1
|
+
<%@ page contentType="text/xml; charset=utf-8" pageEncoding="UTF-8" language="java" %>
|
2
|
+
<%--
|
3
|
+
Licensed to the Apache Software Foundation (ASF) under one or more
|
4
|
+
contributor license agreements. See the NOTICE file distributed with
|
5
|
+
this work for additional information regarding copyright ownership.
|
6
|
+
The ASF licenses this file to You under the Apache License, Version 2.0
|
7
|
+
(the "License"); you may not use this file except in compliance with
|
8
|
+
the License. You may obtain a copy of the License at
|
9
|
+
|
10
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
|
12
|
+
Unless required by applicable law or agreed to in writing, software
|
13
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
See the License for the specific language governing permissions and
|
16
|
+
limitations under the License.
|
17
|
+
--%>
|
18
|
+
<%@ page import="org.apache.solr.core.SolrInfoMBean,
|
19
|
+
org.apache.solr.core.SolrInfoRegistry,
|
20
|
+
org.apache.solr.common.util.NamedList,
|
21
|
+
java.util.Date,
|
22
|
+
java.util.Map"%>
|
23
|
+
<?xml-stylesheet type="text/xsl" href="stats.xsl"?>
|
24
|
+
<%@include file="_info.jsp" %>
|
25
|
+
|
26
|
+
|
27
|
+
<solr>
|
28
|
+
<%
|
29
|
+
if (core.getName() != null) { %>
|
30
|
+
<core><% XML.escapeCharData(core.getName(), out); %></core>
|
31
|
+
<% } %>
|
32
|
+
<schema><% XML.escapeCharData(collectionName, out); %></schema>
|
33
|
+
<host><% XML.escapeCharData(hostname, out); %></host>
|
34
|
+
<now><% XML.escapeCharData(new Date().toString(), out); %></now>
|
35
|
+
<start><% XML.escapeCharData(new Date(core.getStartTime()).toString(), out); %></start>
|
36
|
+
<solr-info>
|
37
|
+
<%
|
38
|
+
for (SolrInfoMBean.Category cat : SolrInfoMBean.Category.values()) {
|
39
|
+
%>
|
40
|
+
<<%= cat.toString() %>>
|
41
|
+
<%
|
42
|
+
Map<String,SolrInfoMBean> reg = core.getInfoRegistry();
|
43
|
+
for (Map.Entry<String,SolrInfoMBean> entry : reg.entrySet()) {
|
44
|
+
String key = entry.getKey();
|
45
|
+
SolrInfoMBean m = entry.getValue();
|
46
|
+
|
47
|
+
if (m.getCategory() != cat) continue;
|
48
|
+
|
49
|
+
NamedList nl = m.getStatistics();
|
50
|
+
if ((nl != null) && (nl.size() != 0)) {
|
51
|
+
String na = "None Provided";
|
52
|
+
String name = (m.getName()!=null ? m.getName() : na);
|
53
|
+
String vers = (m.getVersion()!=null ? m.getVersion() : na);
|
54
|
+
String desc = (m.getDescription()!=null ? m.getDescription() : na);
|
55
|
+
%>
|
56
|
+
<entry>
|
57
|
+
<name>
|
58
|
+
<% XML.escapeCharData(key, out); %>
|
59
|
+
</name>
|
60
|
+
<class>
|
61
|
+
<% XML.escapeCharData(name, out); %>
|
62
|
+
</class>
|
63
|
+
<version>
|
64
|
+
<% XML.escapeCharData(vers, out); %>
|
65
|
+
</version>
|
66
|
+
<description>
|
67
|
+
<% XML.escapeCharData(desc, out); %>
|
68
|
+
</description>
|
69
|
+
<stats>
|
70
|
+
<%
|
71
|
+
for (int i = 0; i < nl.size() ; i++) {
|
72
|
+
%>
|
73
|
+
<stat name="<% XML.escapeAttributeValue(nl.getName(i), out); %>" >
|
74
|
+
<% XML.escapeCharData(nl.getVal(i).toString(), out); %>
|
75
|
+
</stat>
|
76
|
+
<%
|
77
|
+
}
|
78
|
+
%>
|
79
|
+
</stats>
|
80
|
+
</entry>
|
81
|
+
<%
|
82
|
+
}
|
83
|
+
%>
|
84
|
+
<%
|
85
|
+
}
|
86
|
+
%>
|
87
|
+
</<%= cat.toString() %>>
|
88
|
+
<%
|
89
|
+
}
|
90
|
+
%>
|
91
|
+
</solr-info>
|
92
|
+
</solr>
|
@@ -0,0 +1,220 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<!--
|
3
|
+
Licensed to the Apache Software Foundation (ASF) under one or more
|
4
|
+
contributor license agreements. See the NOTICE file distributed with
|
5
|
+
this work for additional information regarding copyright ownership.
|
6
|
+
The ASF licenses this file to You under the Apache License, Version 2.0
|
7
|
+
(the "License"); you may not use this file except in compliance with
|
8
|
+
the License. You may obtain a copy of the License at
|
9
|
+
|
10
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
|
12
|
+
Unless required by applicable law or agreed to in writing, software
|
13
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
See the License for the specific language governing permissions and
|
16
|
+
limitations under the License.
|
17
|
+
-->
|
18
|
+
<!-- $Id: stats.xsl 1075192 2011-02-28 00:50:09Z uschindler $ -->
|
19
|
+
<!-- $URL: https://svn.apache.org/repos/asf/lucene/dev/branches/branch_3x/solr/webapp/web/admin/stats.xsl $ -->
|
20
|
+
|
21
|
+
<xsl:stylesheet
|
22
|
+
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
23
|
+
version="1.0">
|
24
|
+
|
25
|
+
|
26
|
+
<xsl:output
|
27
|
+
method="html"
|
28
|
+
encoding="utf-8"
|
29
|
+
media-type="text/html"
|
30
|
+
indent="yes"
|
31
|
+
doctype-public="-//W3C//DTD HTML 4.01//EN"
|
32
|
+
doctype-system="http://www.w3.org/TR/html4/strict.dtd" />
|
33
|
+
|
34
|
+
|
35
|
+
<xsl:template match="/">
|
36
|
+
<xsl:variable name="title">
|
37
|
+
<!-- no whitespace before the colon -->
|
38
|
+
Solr Statistics<xsl:if test="solr/core">:
|
39
|
+
<xsl:value-of select="solr/core"/>
|
40
|
+
</xsl:if>
|
41
|
+
(<xsl:value-of select="solr/schema" />)
|
42
|
+
</xsl:variable>
|
43
|
+
<html>
|
44
|
+
<head>
|
45
|
+
<link rel="stylesheet" type="text/css" href="solr-admin.css"></link>
|
46
|
+
<link rel="icon" href="favicon.ico" type="image/ico"></link>
|
47
|
+
<link rel="shortcut icon" href="favicon.ico" type="image/ico"></link>
|
48
|
+
<title><xsl:value-of select="$title"/></title>
|
49
|
+
</head>
|
50
|
+
<body>
|
51
|
+
<a href=".">
|
52
|
+
<img border="0" align="right" height="78" width="142" src="solr_small.png" alt="Apache Solr">
|
53
|
+
</img>
|
54
|
+
</a>
|
55
|
+
<h1><xsl:value-of select="$title"/></h1>
|
56
|
+
<xsl:value-of select="solr/host" />
|
57
|
+
<br clear="all" />
|
58
|
+
<xsl:apply-templates/>
|
59
|
+
<br /><br />
|
60
|
+
<a href=".">Return to Admin Page</a>
|
61
|
+
</body>
|
62
|
+
</html>
|
63
|
+
</xsl:template>
|
64
|
+
|
65
|
+
<xsl:template match="solr">
|
66
|
+
<table>
|
67
|
+
<tr>
|
68
|
+
<td>
|
69
|
+
<H3>Category</H3>
|
70
|
+
</td>
|
71
|
+
<td>
|
72
|
+
[<a href="#core">Core</a>]
|
73
|
+
[<a href="#cache">Cache</a>]
|
74
|
+
[<a href="#query">Query</a>]
|
75
|
+
[<a href="#update">Update</a>]
|
76
|
+
[<a href="#highlight">Highlighting</a>]
|
77
|
+
[<a href="#other">Other</a>]
|
78
|
+
</td>
|
79
|
+
</tr>
|
80
|
+
<tr>
|
81
|
+
<td>
|
82
|
+
</td>
|
83
|
+
<td>
|
84
|
+
Current Time: <xsl:value-of select="now" />
|
85
|
+
</td>
|
86
|
+
</tr>
|
87
|
+
<tr>
|
88
|
+
<td>
|
89
|
+
</td>
|
90
|
+
<td>
|
91
|
+
Server Start Time: <xsl:value-of select="start" />
|
92
|
+
</td>
|
93
|
+
</tr>
|
94
|
+
<xsl:apply-templates select="*" mode="header" />
|
95
|
+
</table>
|
96
|
+
<xsl:apply-templates select="solr-info" mode="main" />
|
97
|
+
</xsl:template>
|
98
|
+
|
99
|
+
<!-- catch all in case new header info gets added to XML -->
|
100
|
+
<xsl:template match="solr/*" mode="header" priority="-10">
|
101
|
+
<tr>
|
102
|
+
<td>
|
103
|
+
</td>
|
104
|
+
<td>
|
105
|
+
<xsl:value-of select="local-name()" />: <xsl:value-of select="text()" />
|
106
|
+
</td>
|
107
|
+
</tr>
|
108
|
+
</xsl:template>
|
109
|
+
|
110
|
+
<!-- things we've already explicitly taken care of -->
|
111
|
+
<xsl:template match="solr/schema" mode="header" />
|
112
|
+
<xsl:template match="solr/core" mode="header" />
|
113
|
+
<xsl:template match="solr/host" mode="header" />
|
114
|
+
<xsl:template match="solr/now" mode="header" />
|
115
|
+
<xsl:template match="solr/start" mode="header" />
|
116
|
+
<xsl:template match="solr/solr-info" mode="header" />
|
117
|
+
|
118
|
+
<xsl:template match="solr/solr-info" mode="main">
|
119
|
+
<xsl:apply-templates/>
|
120
|
+
</xsl:template>
|
121
|
+
|
122
|
+
<xsl:template match="solr/solr-info/*">
|
123
|
+
<br />
|
124
|
+
<xsl:apply-templates select="." mode="sub-header" />
|
125
|
+
<table>
|
126
|
+
<tr>
|
127
|
+
<td align="right">
|
128
|
+
 
|
129
|
+
</td>
|
130
|
+
<td>
|
131
|
+
</td>
|
132
|
+
</tr>
|
133
|
+
<xsl:apply-templates/>
|
134
|
+
</table>
|
135
|
+
</xsl:template>
|
136
|
+
|
137
|
+
<xsl:template match="solr/solr-info/CORE" mode="sub-header">
|
138
|
+
<a name="core"><h2>Core</h2></a>
|
139
|
+
</xsl:template>
|
140
|
+
|
141
|
+
<xsl:template match="solr/solr-info/CACHE" mode="sub-header">
|
142
|
+
<a name="cache"><h2>Cache</h2></a>
|
143
|
+
</xsl:template>
|
144
|
+
|
145
|
+
<xsl:template match="solr/solr-info/QUERYHANDLER" mode="sub-header">
|
146
|
+
<a name="query"><h2>Query Handlers</h2></a>
|
147
|
+
</xsl:template>
|
148
|
+
|
149
|
+
<xsl:template match="solr/solr-info/UPDATEHANDLER" mode="sub-header">
|
150
|
+
<a name="update"><h2>Update Handlers</h2></a>
|
151
|
+
</xsl:template>
|
152
|
+
|
153
|
+
<xsl:template match="solr/solr-info/HIGHLIGHTING" mode="sub-header">
|
154
|
+
<a name="highlight"><h2>Highlighting</h2></a>
|
155
|
+
</xsl:template>
|
156
|
+
|
157
|
+
<!-- catch all for new types of plugins -->
|
158
|
+
<xsl:template match="solr/solr-info/*" mode="sub-header" priority="-10">
|
159
|
+
<h2><xsl:value-of select="local-name()"/></h2>
|
160
|
+
</xsl:template>
|
161
|
+
|
162
|
+
<xsl:template match="solr/solr-info/OTHER" mode="sub-header">
|
163
|
+
<a name="other"><h2>Other</h2></a>
|
164
|
+
</xsl:template>
|
165
|
+
|
166
|
+
<xsl:template match="solr/solr-info/*/entry">
|
167
|
+
<tr>
|
168
|
+
<td align="right">
|
169
|
+
<strong>name: </strong>
|
170
|
+
</td>
|
171
|
+
<td>
|
172
|
+
<tt><xsl:value-of select="name"/> </tt>
|
173
|
+
</td>
|
174
|
+
</tr>
|
175
|
+
<tr>
|
176
|
+
<td align="right">
|
177
|
+
<strong>class: </strong>
|
178
|
+
</td>
|
179
|
+
<td>
|
180
|
+
<tt><xsl:value-of select="class"/> </tt>
|
181
|
+
</td>
|
182
|
+
</tr>
|
183
|
+
<tr>
|
184
|
+
<td align="right">
|
185
|
+
<strong>version: </strong>
|
186
|
+
</td>
|
187
|
+
<td>
|
188
|
+
<tt><xsl:value-of select="version"/> </tt>
|
189
|
+
</td>
|
190
|
+
</tr>
|
191
|
+
<tr>
|
192
|
+
<td align="right">
|
193
|
+
<strong>description: </strong>
|
194
|
+
</td>
|
195
|
+
<td>
|
196
|
+
<tt><xsl:value-of select="description"/> </tt>
|
197
|
+
</td>
|
198
|
+
</tr>
|
199
|
+
<tr>
|
200
|
+
<td align="right">
|
201
|
+
<strong>stats: </strong>
|
202
|
+
</td>
|
203
|
+
<td>
|
204
|
+
<xsl:for-each select="stats/stat[@name]">
|
205
|
+
<xsl:value-of select="@name"/>
|
206
|
+
<xsl:text> : </xsl:text>
|
207
|
+
<xsl:variable name="name" select="@name" />
|
208
|
+
<xsl:value-of select="." /><br />
|
209
|
+
</xsl:for-each>
|
210
|
+
</td>
|
211
|
+
</tr>
|
212
|
+
<tr>
|
213
|
+
<td align="right">
|
214
|
+
</td>
|
215
|
+
<td>
|
216
|
+
</td>
|
217
|
+
</tr>
|
218
|
+
</xsl:template>
|
219
|
+
|
220
|
+
</xsl:stylesheet>
|