summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/ebusSpecification.html52
-rw-r--r--doc/sample_log185
-rw-r--r--doc/spec2html.xslt33
3 files changed, 38 insertions, 232 deletions
diff --git a/doc/ebusSpecification.html b/doc/ebusSpecification.html
index 116b716..17dc6e7 100644
--- a/doc/ebusSpecification.html
+++ b/doc/ebusSpecification.html
@@ -1,9 +1,11 @@
-<html><body>
-<h2>Ebus Geräte</h2>
-<table border="1">
-<tr bgcolor="#9acd32">
+<html>
+<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head>
+<body>
+<h2>Ebus Geräte</h2>
+<table class="ebus_devices">
+<tr>
<th>Adresse</th>
-<th>Gerät</th>
+<th>Gerät</th>
<th>Typ</th>
</tr>
<tr>
@@ -23,8 +25,8 @@
</tr>
</table>
<h2>Ebus Packete</h2>
-<table border="1">
-<tr bgcolor="#9acd32">
+<table class="ebus_packets">
+<tr>
<th>Primary command</th>
<th>Secondary command</th>
<th>Description</th>
@@ -34,14 +36,17 @@
<td>0x05</td>
<td>0x03</td>
<td>Betriebsdaten des Feuerungsautomaten an den Regler Block1</td>
-<td></td>
+<td><table><tr>
+<th>name</th>
+<th>typ</th>
+<th>offset</th>
+</tr></table></td>
</tr>
<tr>
<td>0x05</td>
<td>0x07</td>
<td>Betriebsdaten des Reglers an den Feuerungsautomaten</td>
-<td>
-<table>
+<td><table>
<tr>
<th>name</th>
<th>typ</th>
@@ -52,44 +57,23 @@
<td>byteEnum</td>
<td>0</td>
</tr>
-</table>
-<table>
-<tr>
-<th>name</th>
-<th>typ</th>
-<th>offset</th>
-</tr>
<tr>
<td>aktion</td>
<td>byteEnum</td>
<td>1</td>
</tr>
-</table>
-<table>
-<tr>
-<th>name</th>
-<th>typ</th>
-<th>offset</th>
-</tr>
<tr>
<td>kesselSollwertTemperatur</td>
<td>data2c</td>
<td>2</td>
</tr>
-</table>
-<table>
-<tr>
-<th>name</th>
-<th>typ</th>
-<th>offset</th>
-</tr>
<tr>
<td>kesselSollwertDruck</td>
<td>data2b</td>
<td>4</td>
</tr>
-</table>
-</td>
+</table></td>
</tr>
</table>
-</body></html>
+</body>
+</html>
diff --git a/doc/sample_log b/doc/sample_log
deleted file mode 100644
index d75193b..0000000
--- a/doc/sample_log
+++ /dev/null
@@ -1,185 +0,0 @@
-<EbusMasterSlave name="UNKNOWN " source="Heizungsregler #10" destination="Mischer 1" primary=0x22 secondary=0x3>
-<EbusMasterSlave name="UNKNOWN " source="Heizkreisregler 2" destination="Mischer 2" primary=0x22 secondary=0x3>
-<EbusMasterSlave name="UNKNOWN " source="Heizkreisregler 2" destination="Mischer 2" primary=0x14 secondary=0x7>
-<EbusMasterMaster name="UNKNOWN " source="Heizungsregler #2" destination="Feuerungsautomat" primary=0x7 secondary=0x9>
-payload=03 28 03 00 80 ff 6e ff 71 00
-<EbusBroadcast name="Gesamtbrennstoffmengenzähle lesen" source="Heizungsregler #10" destination="Broadcast" primary=0x3 secondary=0x8>
-payload=01
-<EbusMasterMaster name="UNKNOWN " source="Heizungsregler #2" destination="Feuerungsautomat" primary=0x0 secondary=0x8>
-payload=32 00 0b 80 03 00 37 63 00
-Unvollständige Daten
-<EbusMasterMaster name="UNKNOWN " source="Heizungsregler #2" destination="Feuerungsautomat" primary=0x7 secondary=0x9>
-payload=03 28 03 00 80 ff 6e ff 71 00
-<EbusBroadcast name="Gesamtbrennstoffmengenzähle lesen" source="Heizungsregler #10" destination="Broadcast" primary=0x3 secondary=0x8>
-payload=01
-<EbusMasterMaster name="UNKNOWN " source="Heizungsregler #2" destination="Feuerungsautomat" primary=0x0 secondary=0x8>
-payload=32 00 0b 80 03 00 37 63 00
-<EbusBroadcast name="UNKNOWN " source="Heizungsregler #10" destination="Broadcast" primary=0x0 secondary=0x8>
-payload=32 cd 0b 00 00 00 37 9e
-<EbusMasterSlave name="UNKNOWN " source="Heizkreisregler 1" destination="Mischer 1" primary=0x14 secondary=0x7>
-<EbusMasterMaster name="UNKNOWN " source="Feuerungsautomat" destination="Heizungsregler #10" primary=0x0 secondary=0x8>
-payload=32 33 0b 00 03 00 37 98 00
-<EbusBroadcast name="UNKNOWN " source="Heizungsregler #9" destination="Broadcast" primary=0x17 secondary=0x10>
-payload=
-<EbusMasterSlave name="UNKNOWN " source="Heizungsregler #10" destination="Mischer 1" primary=0x22 secondary=0x3>
-<EbusMasterSlave name="UNKNOWN " source="Heizkreisregler 2" destination="Mischer 2" primary=0x22 secondary=0x3>
-<EbusMasterSlave name="UNKNOWN " source="Heizkreisregler 2" destination="Mischer 2" primary=0x14 secondary=0x7>
-<EbusMasterMaster name="UNKNOWN " source="Heizungsregler #2" destination="Feuerungsautomat" primary=0x7 secondary=0x9>
-payload=06 28 03 00 80 ff 6e ff c9 00
-<EbusBroadcast name="Gesamtbrennstoffmengenzähle lesen" source="Heizungsregler #10" destination="Broadcast" primary=0x3 secondary=0x8>
-payload=01
-<EbusMasterMaster name="UNKNOWN " source="Heizungsregler #9" destination="Heizkreisregler 1" primary=0x23 secondary=0x9>
-payload=f4 02 00 04 5d 01 00 00 80 00
-<EbusMasterMaster name="UNKNOWN " source="Heizungsregler #2" destination="Feuerungsautomat" primary=0x0 secondary=0x8>
-payload=32 00 0b 80 03 00 37 63 00 f1 fe 08 00 08 80 32 cd 0b 00 00 00 37 9e
-<EbusMasterSlave name="UNKNOWN " source="Heizkreisregler 1" destination="Mischer 1" primary=0x14 secondary=0x7>
-<EbusBroadcast name="Gesamtbrennstoffmengenzähle lesen" source="Feuerungsautomat" destination="Broadcast" primary=0x3 secondary=0x8>
-payload=01
-<EbusMasterSlave name="UNKNOWN " source="Heizungsregler #10" destination="Mischer 1" primary=0x22 secondary=0x3>
-<EbusMasterSlave name="UNKNOWN " source="Heizkreisregler 2" destination="Mischer 2" primary=0x22 secondary=0x3>
-<EbusMasterSlave name="UNKNOWN " source="Heizkreisregler 2" destination="Mischer 2" primary=0x14 secondary=0x7>
-<EbusMasterMaster name="UNKNOWN " source="Heizungsregler #2" destination="Feuerungsautomat" primary=0x7 secondary=0x9>
-payload=01 28 03 00 80 ff 6e ff 46 00
-<EbusBroadcast name="Gesamtbrennstoffmengenzähle lesen" source="Heizungsregler #10" destination="Broadcast" primary=0x3 secondary=0x8>
-payload=01
-<EbusBroadcast name="UNKNOWN " source="Heizungsregler #9" destination="Broadcast" primary=0x18 secondary=0xe>
-payload=
-<EbusMasterMaster name="UNKNOWN " source="Heizungsregler #2" destination="Feuerungsautomat" primary=0x0 secondary=0x8>
-payload=32 00 0b 80 03 00 37 63 00
-<EbusBroadcast name="UNKNOWN " source="Heizungsregler #10" destination="Broadcast" primary=0x0 secondary=0x8>
-payload=32 cd 0b 00 00 00 37 9e
-<EbusMasterSlave name="UNKNOWN " source="Heizkreisregler 1" destination="Mischer 1" primary=0x14 secondary=0x7>
-<EbusMasterMaster name="UNKNOWN " source="Feuerungsautomat" destination="Heizungsregler #10" primary=0x0 secondary=0x8>
-payload=32 33 0b 00 03 00 37 98 00
-<EbusMasterSlave name="UNKNOWN " source="Heizungsregler #10" destination="Mischer 1" primary=0x22 secondary=0x3>
-<EbusMasterSlave name="UNKNOWN " source="Heizkreisregler 2" destination="Mischer 2" primary=0x22 secondary=0x3>
-<EbusMasterSlave name="UNKNOWN " source="Heizkreisregler 2" destination="Mischer 2" primary=0x14 secondary=0x7>
-<EbusMasterMaster name="UNKNOWN " source="Heizungsregler #2" destination="Feuerungsautomat" primary=0x7 secondary=0x9>
-payload=03 28 03 00 80 ff 6e ff 71 00
-<EbusBroadcast name="Gesamtbrennstoffmengenzähle lesen" source="Heizungsregler #10" destination="Broadcast" primary=0x3 secondary=0x8>
-payload=01
-<EbusMasterMaster name="UNKNOWN " source="Heizungsregler #2" destination="Feuerungsautomat" primary=0x0 secondary=0x8>
-payload=32 00 0b 80 03 00 37 63 00
-<EbusBroadcast name="UNKNOWN " source="Heizungsregler #10" destination="Broadcast" primary=0x0 secondary=0x8>
-payload=32 cd 0b 00 00 00 37 9e
-<EbusMasterSlave name="UNKNOWN " source="Heizkreisregler 1" destination="Mischer 1" primary=0x14 secondary=0x7>
-<EbusBroadcast name="Gesamtbrennstoffmengenzähle lesen" source="Feuerungsautomat" destination="Broadcast" primary=0x3 secondary=0x8>
-payload=01
-<EbusMasterSlave name="UNKNOWN " source="Heizungsregler #10" destination="Mischer 1" primary=0x22 secondary=0x3>
-<EbusMasterSlave name="UNKNOWN " source="Heizkreisregler 2" destination="Mischer 2" primary=0x22 secondary=0x3>
-<EbusMasterSlave name="UNKNOWN " source="Heizkreisregler 2" destination="Mischer 2" primary=0x14 secondary=0x7>
-<EbusMasterMaster name="UNKNOWN " source="Heizkreisregler 1" destination="Heizungsregler #9" primary=0x23 secondary=0x9>
-payload=66 00 00 00 5d 01 00 00 88 00
-<EbusMasterMaster name="UNKNOWN " source="Heizkreisregler 1" destination="Heizungsregler #9" primary=0x23 secondary=0x9>
-payload=13 00 26 02 5d 01 00 00 94 00
-<EbusMasterMaster name="UNKNOWN " source="Heizkreisregler 1" destination="Heizungsregler #9" primary=0x23 secondary=0x9>
-payload=72 00 00 00 5d 01 00 00 04 00
-<EbusMasterMaster name="UNKNOWN " source="Heizungsregler #2" destination="Feuerungsautomat" primary=0x7 secondary=0x9>
-payload=06 28 03 00 80 ff 6e ff c9 00
-<EbusBroadcast name="Gesamtbrennstoffmengenzähle lesen" source="Heizungsregler #10" destination="Broadcast" primary=0x3 secondary=0x8>
-payload=01
-<EbusBroadcast name="UNKNOWN " source="Heizkreisregler 1" destination="Broadcast" primary=0x23 secondary=0x9>
-payload=14 01 00 00 5d 01 00 00 22
-<EbusMasterMaster name="UNKNOWN " source="Heizungsregler #9" destination="Heizkreisregler 1" primary=0x23 secondary=0x9>
-payload=f4 02 00 04 5d 01 00 00 80 00
-<EbusMasterMaster name="UNKNOWN " source="Heizungsregler #2" destination="Feuerungsautomat" primary=0x0 secondary=0x8>
-payload=32 00 0b 80 03 00 37 63 00
-<EbusBroadcast name="UNKNOWN " source="Heizungsregler #10" destination="Broadcast" primary=0x0 secondary=0x8>
-payload=32 cd 0b 00 00 00 37 9e
-<EbusMasterSlave name="UNKNOWN " source="Heizkreisregler 1" destination="Mischer 1" primary=0x14 secondary=0x7>
-<EbusBroadcast name="UNKNOWN " source="Heizkreisregler 1" destination="Broadcast" primary=0x0 secondary=0x9>
-payload=
-<EbusMasterMaster name="UNKNOWN " source="Feuerungsautomat" destination="Heizungsregler #10" primary=0x0 secondary=0x8>
-payload=32 33 0b 00 03 00 37 98 00
-<EbusMasterSlave name="UNKNOWN " source="Heizungsregler #10" destination="Mischer 1" primary=0x22 secondary=0x3>
-<EbusMasterSlave name="UNKNOWN " source="Heizkreisregler 2" destination="Mischer 2" primary=0x22 secondary=0x3>
-<EbusMasterSlave name="UNKNOWN " source="Heizkreisregler 2" destination="Mischer 2" primary=0x14 secondary=0x7>
-<EbusMasterMaster name="UNKNOWN " source="Heizungsregler #2" destination="Feuerungsautomat" primary=0x7 secondary=0x9>
-payload=01 28 03 00 80 ff 6e ff 46 00
-<EbusBroadcast name="Gesamtbrennstoffmengenzähle lesen" source="Heizungsregler #10" destination="Broadcast" primary=0x3 secondary=0x8>
-payload=01
-<EbusBroadcast name="UNKNOWN " source="Heizungsregler #9" destination="Broadcast" primary=0x18 secondary=0xe>
-payload=
-<EbusMasterMaster name="UNKNOWN " source="Heizungsregler #2" destination="Feuerungsautomat" primary=0x0 secondary=0x8>
-payload=32 00 0b 80 03 00 37 63 00
-<EbusBroadcast name="UNKNOWN " source="Heizungsregler #10" destination="Broadcast" primary=0x0 secondary=0x8>
-payload=32 cd 0b 00 00 00 37 9e
-<EbusBroadcast name="Gesamtbrennstoffmengenzähle lesen" source="Feuerungsautomat" destination="Broadcast" primary=0x3 secondary=0x8>
-payload=01
-<EbusMasterSlave name="UNKNOWN " source="Heizkreisregler 1" destination="Mischer 1" primary=0x14 secondary=0x7>
-<EbusMasterSlave name="UNKNOWN " source="Heizungsregler #10" destination="Mischer 1" primary=0x22 secondary=0x3>
-<EbusMasterSlave name="UNKNOWN " source="Heizkreisregler 2" destination="Mischer 2" primary=0x22 secondary=0x3>
-<EbusMasterSlave name="UNKNOWN " source="Heizkreisregler 2" destination="Mischer 2" primary=0x14 secondary=0x7>
-<EbusMasterMaster name="UNKNOWN " source="Heizungsregler #2" destination="Feuerungsautomat" primary=0x7 secondary=0x9>
-payload=03 28 03 00 80 ff 6e ff 71 00
-<EbusBroadcast name="Gesamtbrennstoffmengenzähle lesen" source="Heizungsregler #10" destination="Broadcast" primary=0x3 secondary=0x8>
-payload=01
-<EbusMasterMaster name="UNKNOWN " source="Heizungsregler #2" destination="Feuerungsautomat" primary=0x0 secondary=0x8>
-payload=32 00 0b 80 03 00 37 63 00
-<EbusBroadcast name="UNKNOWN " source="Heizungsregler #10" destination="Broadcast" primary=0x0 secondary=0x8>
-payload=32 cd 0b 00 00 00 37 9e
-<EbusMasterMaster name="UNKNOWN " source="Feuerungsautomat" destination="Heizungsregler #10" primary=0x0 secondary=0x8>
-payload=32 33 0b 00 03 00 37 98 00
-<EbusMasterSlave name="UNKNOWN " source="Heizkreisregler 1" destination="Mischer 1" primary=0x14 secondary=0x7>
-<EbusBroadcast name="UNKNOWN " source="Heizungsregler #9" destination="Broadcast" primary=0x17 secondary=0x10>
-payload=
-<EbusMasterSlave name="UNKNOWN " source="Heizungsregler #10" destination="Mischer 1" primary=0x22 secondary=0x3>
-<EbusMasterSlave name="UNKNOWN " source="Heizkreisregler 2" destination="Mischer 2" primary=0x22 secondary=0x3>
-<EbusMasterSlave name="UNKNOWN " source="Heizkreisregler 2" destination="Mischer 2" primary=0x14 secondary=0x7>
-<EbusMasterMaster name="UNKNOWN " source="Heizungsregler #2" destination="Feuerungsautomat" primary=0x7 secondary=0x9>
-payload=06 28 03 00 80 ff 6e ff c9 00
-<EbusBroadcast name="Gesamtbrennstoffmengenzähle lesen" source="Heizungsregler #10" destination="Broadcast" primary=0x3 secondary=0x8>
-payload=01
-<EbusMasterMaster name="UNKNOWN " source="Heizungsregler #9" destination="Heizkreisregler 1" primary=0x23 secondary=0x9>
-payload=f4 02 00 04 5d 01 00 00 80 00
-<EbusMasterMaster name="UNKNOWN " source="Heizungsregler #2" destination="Feuerungsautomat" primary=0x0 secondary=0x8>
-payload=32 00 0b 80 03 00 37 63 00
-<EbusBroadcast name="UNKNOWN " source="Heizungsregler #10" destination="Broadcast" primary=0x0 secondary=0x8>
-payload=32 cd 0b 00 00 00 37 9e
-GAGA
-<EbusMasterSlave name="UNKNOWN " source="Heizkreisregler 1" destination="Mischer 1" primary=0x14 secondary=0x7>
-<EbusBroadcast name="Gesamtbrennstoffmengenzähle lesen" source="Feuerungsautomat" destination="Broadcast" primary=0x3 secondary=0x8>
-payload=01
-<EbusMasterSlave name="UNKNOWN " source="Heizungsregler #10" destination="Mischer 1" primary=0x22 secondary=0x3>
-<EbusMasterSlave name="UNKNOWN " source="Heizkreisregler 2" destination="Mischer 2" primary=0x22 secondary=0x3>
-<EbusMasterSlave name="UNKNOWN " source="Heizkreisregler 2" destination="Mischer 2" primary=0x14 secondary=0x7>
-<EbusMasterMaster name="UNKNOWN " source="Heizungsregler #2" destination="Feuerungsautomat" primary=0x7 secondary=0x9>
-payload=01 28 03 00 80 ff 6e ff 46 00
-<EbusBroadcast name="Gesamtbrennstoffmengenzähle lesen" source="Heizungsregler #10" destination="Broadcast" primary=0x3 secondary=0x8>
-payload=01
-<EbusBroadcast name="UNKNOWN " source="Heizungsregler #9" destination="Broadcast" primary=0x18 secondary=0xe>
-payload=
-<EbusMasterMaster name="UNKNOWN " source="Heizungsregler #2" destination="Feuerungsautomat" primary=0x0 secondary=0x8>
-payload=32 00 0b 80 03 00 37 63 00
-<EbusBroadcast name="UNKNOWN " source="Heizungsregler #10" destination="Broadcast" primary=0x0 secondary=0x8>
-payload=32 cd 0b 00 00 00 37 9e
-<EbusMasterSlave name="UNKNOWN " source="Heizkreisregler 1" destination="Mischer 1" primary=0x14 secondary=0x7>
-<EbusMasterMaster name="UNKNOWN " source="Feuerungsautomat" destination="Heizungsregler #10" primary=0x0 secondary=0x8>
-payload=32 33 0b 00 03 00 37 98 00
-<EbusMasterSlave name="UNKNOWN " source="Heizungsregler #10" destination="Mischer 1" primary=0x22 secondary=0x3>
-<EbusMasterSlave name="UNKNOWN " source="Heizkreisregler 2" destination="Mischer 2" primary=0x22 secondary=0x3>
-<EbusMasterSlave name="UNKNOWN " source="Heizkreisregler 2" destination="Mischer 2" primary=0x14 secondary=0x7>
-<EbusMasterMaster name="UNKNOWN " source="Heizungsregler #2" destination="Feuerungsautomat" primary=0x7 secondary=0x9>
-payload=03 28 03 00 80 ff 6e ff 71 00
-<EbusBroadcast name="Gesamtbrennstoffmengenzähle lesen" source="Heizungsregler #10" destination="Broadcast" primary=0x3 secondary=0x8>
-payload=01
-<EbusMasterMaster name="UNKNOWN " source="Heizungsregler #2" destination="Feuerungsautomat" primary=0x0 secondary=0x8>
-payload=32 00 0b 80 03 00 37 63 00
-<EbusBroadcast name="UNKNOWN " source="Heizungsregler #10" destination="Broadcast" primary=0x0 secondary=0x8>
-payload=32 cd 0b 00 00 00 37 9e
-<EbusMasterSlave name="UNKNOWN " source="Heizkreisregler 1" destination="Mischer 1" primary=0x14 secondary=0x7>
-<EbusBroadcast name="Gesamtbrennstoffmengenzähle lesen" source="Feuerungsautomat" destination="Broadcast" primary=0x3 secondary=0x8>
-payload=01
-<EbusBroadcast name="UNKNOWN " source="Heizungsregler #9" destination="Broadcast" primary=0x17 secondary=0x10>
-payload=
-<EbusMasterSlave name="UNKNOWN " source="Heizungsregler #10" destination="Mischer 1" primary=0x22 secondary=0x3>
-<EbusMasterSlave name="UNKNOWN " source="Heizkreisregler 2" destination="Mischer 2" primary=0x22 secondary=0x3>
-<EbusMasterSlave name="UNKNOWN " source="Heizkreisregler 2" destination="Mischer 2" primary=0x14 secondary=0x7>
-<EbusMasterMaster name="UNKNOWN " source="Heizkreisregler 1" destination="Heizungsregler #9" primary=0x23 secondary=0x9>
-payload=66 00 00 00 5d 01 00 00 88 00
-<EbusMasterMaster name="UNKNOWN " source="Heizkreisregler 1" destination="Heizungsregler #9" primary=0x23 secondary=0x9>
-payload=13 00 26 02 5d 01 00 00 94 00
-<EbusMasterMaster name="UNKNOWN " source="Heizkreisregler 1" destination="Heizungsregler #9" primary=0x23 secondary=0x9>
-payload=72 00 00 00 5d 01 00 00 04 00
-<EbusMasterMaster name="UNKNOWN " source="Heizungsregler #2" destination="Feuerungsautomat" primary=0x7 secondary=0x9>
-payload=06 28 03 00 80 ff 6e ff c9 00
diff --git a/doc/spec2html.xslt b/doc/spec2html.xslt
index a18127e..b0b2728 100644
--- a/doc/spec2html.xslt
+++ b/doc/spec2html.xslt
@@ -1,14 +1,16 @@
-<?xml version="1.0"?>
-
+<?xml version="1.0" encoding="utf8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf8" />
+ </head>
<body>
<h2>Ebus Geräte</h2>
- <table border="1">
- <tr bgcolor="#9acd32">
+ <table class="ebus_devices">
+ <tr>
<th>Adresse</th>
<th>Gerät</th>
<th>Typ</th>
@@ -24,13 +26,14 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
</tr>
</xsl:for-each>
</table>
+
<h2>Ebus Packete</h2>
- <table border="1">
- <tr bgcolor="#9acd32">
+ <table class="ebus_packets">
+ <tr>
<th>Primary command</th>
<th>Secondary command</th>
- <th>Description</th>
- <th>Content</th>
+ <th>Beschreibung</th>
+ <th>Felder</th>
</tr>
<xsl:for-each select="ebus/packets/packet">
<tr>
@@ -38,16 +41,20 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<td><xsl:value-of select="@secondary"/></td>
<td><xsl:value-of select="@description"/></td>
<td>
- <xsl:for-each select="fields/*">
- <table>
- <tr><th>name</th><th>typ</th><th>offset</th></tr>
+ <table>
+ <tr>
+ <th>name</th>
+ <th>typ</th>
+ <th>offset</th>
+ </tr>
+ <xsl:for-each select="fields/*">
<tr>
<td><xsl:value-of select="@name"/></td>
<td><xsl:value-of select="name()"/></td>
<td><xsl:value-of select="@offset"/></td>
</tr>
- </table>
- </xsl:for-each>
+ </xsl:for-each>
+ </table>
</td>
</tr>
</xsl:for-each>