Kirill Simonov avatar Kirill Simonov committed 6924f94

Styling fixes for HTML and Shell.

Comments (0)

Files changed (9)

src/htsql/core/fmt/html.py

         if headers_height > 0:
             yield u"<thead>\n"
             for row in product_to_html.headers(headers_height):
-                yield u"<tr>%s</tr>\n" % u"".join(row)
+                line = []
+                for content, colspan, rowspan, classes in row:
+                    attributes = []
+                    if colspan != 1:
+                        attributes.append(u" colspan=\"%s\"" % colspan)
+                    if rowspan != 1:
+                        attributes.append(u" rowspan=\"%s\"" % rowspan)
+                    if classes:
+                        attributes.append(u" class=\"%s\""
+                                          % u" ".join(classes))
+                    line.append(u"<th%s>%s</th>" % (u"".join(attributes),
+                                                    cgi.escape(content)))
+                yield u"<tr>%s</tr>\n" % u"".join(line)
             yield u"</thead>\n"
         if cells_height > 0:
             yield u"<tbody>\n"
             index = 0
             for row in product_to_html.cells(self.data, cells_height):
+                line = []
+                for content, colspan, rowspan, classes in row:
+                    attributes = []
+                    if colspan != 1:
+                        attributes.append(u" colspan=\"%s\"" % colspan)
+                    if rowspan != 1:
+                        attributes.append(u" rowspan=\"%s\"" % rowspan)
+                    if classes:
+                        attributes.append(u" class=\"%s\""
+                                          % u" ".join(classes))
+                    line.append(u"<td%s>%s</td>" % (u"".join(attributes),
+                                                    cgi.escape(content)))
                 index += 1
                 attributes = []
                 if index % 2:
-                    attributes.append(" class=\"htsql-odd-row\"")
+                    attributes.append(u" class=\"htsql-odd-row\"")
                 else:
-                    attributes.append(" class=\"htsql-even-row\"")
+                    attributes.append(u" class=\"htsql-even-row\"")
                 yield u"<tr%s>%s</tr>\n" % (u"".join(attributes),
-                                            u"".join(row))
+                                            u"".join(line))
             yield u"</tbody>\n"
         yield u"</table>\n"
 
         assert isinstance(domain, Domain)
         self.domain = domain
         self.width = 1
+        self.is_bounded = True
 
     def __call__(self):
         return self
 
     def headers(self, height):
         if height > 0:
-            attributes = []
-            if height == 1:
-                attributes.append(u" rowspan=\"%s\"" % height)
-            attributes.append(u" class=\"htsql-empty-header\"")
-            yield [u"<th%s></th>" % "".join(attributes)]
+            yield [(u"", self.width, height, [u"htsql-empty-header"])]
 
     def headers_height(self):
         return 0
             classes.append(u"htsql-null-value")
         elif not content:
             classes.append(u"htsql-empty-value")
-        else:
-            content = cgi.escape(content)
         classes.extend(self.classes(value))
-        attributes = []
-        if height > 1:
-            attributes.append(u" rowspan=\"%s\"" % height)
-        attributes.append(u" class=\"%s\"" % u" ".join(classes))
-        yield [u"<td%s>%s</td>" % (u"".join(attributes), content)]
+        yield [(content, self.width, height, classes)]
 
     def cells_height(self, value):
         return 1
                                for field in domain.fields]
         self.width = sum(field_to_html.width
                          for field_to_html in self.fields_to_html)
+        self.is_bounded = all(field_to_html.is_bounded
+                              for field_to_html in self.fields_to_html)
 
     def headers(self, height):
         if not self.width:
         if not self.width or not height:
             return
         if value is None:
-            attributes = []
-            if height > 1:
-                attributes.append(u" rowspan=\"%s\"" % height)
-            attributes.append(u" class=\"htsql-null-record-value\"")
-            yield [u"<td%s></td>" % u"".join(attributes)]*self.width
+            yield [(u"", 1, height, [u"htsql-null-record-value"])]*self.width
         else:
             streams = [field_to_html.cells(item, height)
                        for item, field_to_html in zip(value,
         super(ListToHTML, self).__init__(domain)
         self.item_to_html = to_html(domain.item_domain)
         self.width = self.item_to_html.width+1
+        self.is_bounded = False
 
     def headers(self, height):
         if height > 0:
             item_stream = self.item_to_html.headers(height)
             first_row = next(item_stream)
-            attributes = []
-            if height > 1:
-                attributes.append(u" rowspan=\"%s\"" % height)
-            attributes.append(" class=\"htsql-empty-header\"")
-            first_row.insert(0, u"<th%s></th>" % u"".join(attributes))
+            first_row.insert(0, (u"", 1, height, [u"htsql-empty-header"]))
             yield first_row
             for row in item_stream:
                 yield row
             return
         if not value:
             row = []
-            attributes = []
-            if height > 1:
-                attributes.append(u" rowspan=\"%s\"" % height)
-            attributes.append(u" class=\"htsql-index htsql-null-record-value\"")
-            row.append(u"<td%s></td>" % u"".join(attributes))
-            attributes = []
-            if height > 1:
-                attributes.append(u" rowspan=\"%s\"" % height)
-            attributes.append(u" class=\"htsql-null-record-value\"")
-            row.extend([u"<td%s></td>" % u"".join(attributes)]*(self.width-1))
+            row.append((u"", 1, height,
+                        [u"htsql-index", u"htsql-null-record-value"]))
+            row.extend([(u"", 1, height,
+                         [u"htsql-null-record-value"])]*(self.width-1))
             yield row
             return
         items = iter(value)
             total_height -= item_height
             item_stream = self.item_to_html.cells(item, item_height)
             first_row = next(item_stream, [])
-            attributes = []
-            if item_height > 1:
-                attributes.append(u" rowspan=\"%s\"" % item_height)
-            attributes.append(u" class=\"htsql-index\"")
-            first_row.insert(0, u"<td%s>%s</td>"
-                                % (u"".join(attributes), index))
+            first_row.insert(0, (unicode(index), 1, item_height,
+                                 [u"htsql-index"]))
+            if not self.item_to_html.is_bounded:
+                first_row = [
+                        (content, colspan, rowspan,
+                         [u"htsql-section"]+classes
+                              if u"htsql-section" not in classes else classes)
+                        for content, colspan, rowspan, classes in first_row]
             yield first_row
             for row in item_stream:
                 yield row
         self.domain_to_html = to_html(profile.domain)
         self.width = self.domain_to_html.width
         self.header_level = self.domain_to_html.headers_height()+1
+        self.is_bounded = self.domain_to_html.is_bounded
 
     def headers(self, height):
         if not self.width or not height:
             for row in self.domain_to_html.headers(height):
                 yield row
             return
-        content = cgi.escape(self.profile.header)
-        attributes = []
-        if self.width > 1:
-            attributes.append(u" colspan=\"%s\"" % self.width)
-        if height > 1 and self.header_level == 1:
-            attributes.append(u" rowspan=\"%s\"" % height)
+        content = self.profile.header
+        classes = []
         if not content:
-            attributes.append(u" class=\"htsql-empty-header\"")
-        yield [u"<th%s>%s</th>" % (u"".join(attributes), content)]
+            classes.append(u"htsql-empty-header")
+        yield [(content, self.width, (height if self.header_level == 1 else 1),
+                classes)]
         if self.header_level > 1:
             for row in self.domain_to_html.headers(height-1):
                 yield row

src/htsql/core/fmt/static/template.html

 <title>{{ title }}</title>
 <style type="text/css">
 table.htsql-output { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; margin: 1em auto; color: #000000; background-color: #ffffff; border-collapse: collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px 3px rgba(0,0,0,0.25) }
-table.htsql-output > thead { background-color: #f2f2f2 }
-table.htsql-output > thead { border-color: #1a1a1a; border-width: 0 0 1px; border-style: solid }
-table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 1px 1px 0; border-style: solid }
+table.htsql-output > thead { background-color: #f2f2f2; border-bottom: 1px solid #1a1a1a }
+table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top: 1px solid #999999; border-left: 1px solid #999999 }
 table.htsql-output > thead > tr > th.htsql-empty-header:after { content: "\A0" }
 table.htsql-output > tbody > tr.htsql-odd-row { background-color: #ffffff }
 table.htsql-output > tbody > tr.htsql-even-row { background-color: #f2f2f2 }
 table.htsql-output > tbody > tr:hover { color: #ffffff; background-color: #333333 }
-table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 0 1px; border-style: solid; }
-table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
+table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right: 1px solid #999999 }
 table.htsql-output > tbody > tr > td.htsql-integer-type { text-align: right }
 table.htsql-output > tbody > tr > td.htsql-decimal-type { text-align: right }
 table.htsql-output > tbody > tr > td.htsql-float-type { text-align: right }
 table.htsql-output > tbody > tr > td.htsql-empty-value { color: #999999 }
 table.htsql-output > tbody > tr > td.htsql-empty-value:after { content: "\2B1A" }
 table.htsql-output > tbody > tr > td.htsql-false-value { font-style: italic }
-table.htsql-output > tbody > tr > td.htsql-null-record-value { border-style: dashed }
+table.htsql-output > tbody > tr > td.htsql-null-record-value { border-left-style: dashed; border-right-style: dashed }
+table.htsql-output > tbody > tr > td.htsql-section { border-top: 1px dotted #999999 }
+table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-left-style: solid; border-right-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
 div.htsql-welcome { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; text-align: center; margin: 1em auto; color: #000000; background-color: #ffffff }
 div.htsql-welcome > h1 { font-size: 200%; font-weight: bold; margin: 1px 0 0 }
 div.htsql-welcome > p { margin: 1px 0 0 }

src/htsql/tweak/shell/static/shell.css

   font-size: 100%;
   text-decoration: none;
   vertical-align: baseline;
-  border-size: 0;
+  border-width: 0;
   border-style: none;
   outline: 0;
   margin: 0;
 }
 
 #grid tbody td {
-  border: solid #999999;
-  border-width: 0 1px;
+  border-left: 1px solid #999999;
+  border-right: 1px solid #999999;
+}
+
+#grid tbody td.section {
+  border-top: 1px dotted #999999;
+}
+
+#grid tbody td.null-rec-val {
+  border-left-style: dashed;
+  border-right-style: dashed;
 }
 
 #grid tbody td.index {
   color: #999999;
-  border-color: #1a1a1a;
+  border-left-style: solid;
+  border-right-color: #1a1a1a;
   -moz-user-select: none;
   -webkit-user-select: none;
   user-select: none;
 }
 
-#grid tbody td.null-rec-val {
-  border-style: dashed;
-}
-
 #grid tbody td.empty-val:after {
   color: #999999;
 }

src/htsql/tweak/shell/static/shell.js

             var row = head[k];
             table += '<tr>';
             for (var i = 0; i < row.length; i ++) {
-                table += row[i];
+                var cell = row[i];
+                var attrs = '';
+                attrs += (cell.colspan || 1) > 1 ? ' colspan="'+cell.colspan+'"' : '';
+                attrs += (cell.rowspan || 1) > 1 ? ' rowspan="'+cell.rowspan+'"' : '';
+                attrs += (cell.classes && cell.classes.length > 0) ?
+                    ' class="'+cell.classes.join(' ')+'"' : '';
+                table += '<th'+attrs+'>'+(cell.content || '')+'</th>';
             }
             table += '</tr>';
         }
             var row = body[k];
             table += '<tr' + (k % 2 == 1 ? ' class="alt">' : '>');
             for (var i = 0; i < row.length; i ++) {
-                table += row[i];
+                var cell = row[i];
+                var attrs = '';
+                attrs += (cell.colspan || 1) > 1 ? ' colspan="'+cell.colspan+'"' : '';
+                attrs += (cell.rowspan || 1) > 1 ? ' rowspan="'+cell.rowspan+'"' : '';
+                attrs += (cell.classes && cell.classes.length > 0) ?
+                    ' class="'+cell.classes.join(' ')+'"' : '';
+                table += '<td'+attrs+'>'+(cell.content || '')+'</td>';
             }
             table += '</tr>';
         }
             var row = foot[k];
             table += '<tr class="foot">';
             for (var i = 0; i < row.length; i ++) {
-                table += row[i];
+                var cell = row[i];
+                var attrs = '';
+                attrs += (cell.colspan || 1) > 1 ? ' colspan="'+cell.colspan+'"' : '';
+                attrs += (cell.rowspan || 1) > 1 ? ' rowspan="'+cell.rowspan+'"' : '';
+                attrs += (cell.classes && cell.classes.length > 0) ?
+                    ' class="'+cell.classes.join(' ')+'"' : '';
+                table += '<td'+attrs+'>'+(cell.content || '')+'</td>';
             }
             table += '</tr>';
         }
         }
         return {
             size: profileBuild.size+1,
+            bounded: profileBuild.bounded,
             head: function () {
                 var height = profileBuild.headHeight();
                 if (height < 1) {
                     height = 1;
                 }
                 var rows = profileBuild.head(height);
-                var attrs = '';
-                attrs += height > 1 ? (' rowspan="'+height+'"') : '';
-                attrs += (rows.length == 0 && profileBuild.size > 0) ?
-                        (' colspan="'+(profileBuild.size+1)+'"') : '';
                 while (rows.length < height) {
                     rows.push([]);
                 }
-                attrs += ' class="dummy"'
-                rows[0].push('<th'+attrs+'></th>');
+                rows[0].push({ colspan: profileBuild.size+1,
+                               rowspan: height, classes: ['dummy'] });
                 return rows;
             },
             body: function () {
                 var height = profileBuild.bodyHeight(data);
                 var rows = profileBuild.body(data, height);
                 for (var k = 0; k < rows.length; k ++) {
-                    rows[k].push('<td class="dummy"></td>');
+                    rows[k].push({ classes: ['dummy'] });
                 }
                 return rows;
             },
                 var height = profileBuild.footHeight(more);
                 var rows = profileBuild.foot(more, height);
                 for (var k = 0; k < rows.length; k ++) {
-                    rows[k].push('<td class="dummy"></td>');
+                    rows[k].push({ classes: ['dummy'] });
                 }
                 return rows;
             }
         }
         return {
             size: domainBuild.size,
+            bounded: domainBuild.bounded,
             headHeight: function () {
                 return domainBuild.headHeight()+1;
             },
                         rows.push([]);
                     }
                 }
-                var attrs = '';
-                attrs += (height > 1 && domainBuild.headHeight() == 0)
-                        ? (' rowspan="'+height+'"') : '';
-                attrs += domainBuild.size > 1 ? (' colspan="'+domainBuild.size+'"') : '';
-                var cell = meta.header.replace(/&/g, '&amp;')
-                                      .replace(/</g, '&lt;')
-                                      .replace(/>/g, '&gt;');
-                rows[0].push('<th'+attrs+'>'+cell+'</th>');
+                var rowspan = (height > 1 && domainBuild.headHeight() == 0) ? height : 1,
+                    colspan = domainBuild.size,
+                    content = meta.header.replace(/&/g, '&amp;')
+                                         .replace(/</g, '&lt;')
+                                         .replace(/>/g, '&gt;');
+                rows[0].push({ rowspan: rowspan, colspan: colspan, content: content });
                 return rows;
             },
             bodyHeight: function (data) {
         }
         return {
             size: 1,
+            bounded: true,
             headHeight: function () {
                 return 0;
             },
                     rows.push([]);
                 }
                 if (height > 0) {
-                    var attrs = '';
-                    attrs += height > 1 ? ' rowspan="'+height+'"' : '';
-                    attrs += ' class="dummy"';
-                    rows[0].push('<th'+attrs+'></th>');
+                    rows[0].push({ rowspan: height, classes: ['dummy'] });
                 }
                 return rows;
             },
                 for (var k = 0; k < height; k ++) {
                     rows.push([]);
                 }
-                var attrs = '';
-                attrs += height > 1 ? ' rowspan="'+height+'"' : '';
-                classes = [];
+                var classes = [];
                 if (meta.type) {
                     classes.push(meta.type);
                 }
-                var cell = data;
-                if (cell === null) {
-                    cell = '';
+                var content = data;
+                if (content === null) {
+                    content = '';
                     classes.push('null-val');
                 }
-                else if (cell === true) {
-                    cell = 'true';
+                else if (content === true) {
+                    content = 'true';
                     classes.push('true-val');
                 }
-                else if (cell === false) {
-                    cell = 'false';
+                else if (content === false) {
+                    content = 'false';
                     classes.push('false-val');
                 }
                 else {
-                    cell = ''+cell;
-                    if (cell === '') {
+                    content = ''+content;
+                    if (content === '') {
                         classes.push('empty-val');
                     }
                 }
-                classes = classes.join(' ');
-                if (classes) {
-                    attrs += ' class="'+classes+'"';
-                }
-                cell = cell.replace(/&/g, '&amp;')
-                           .replace(/</g, '&lt;')
-                           .replace(/>/g, '&gt;');
-                rows[0].push('<td'+attrs+'>'+cell+'</td>');
+                content = content.replace(/&/g, '&amp;')
+                                 .replace(/</g, '&lt;')
+                                 .replace(/>/g, '&gt;');
+                rows[0].push({ rowspan: height, classes: classes, content: content });
                 return rows;
             },
             footHeight: function (more) {
                 for (var k = 0; k < height; k ++) {
                     rows.push([]);
                 }
-                var attrs = '';
-                attrs += height > 1 ? ' rowspan="'+height+'"' : '';
-                classes = [];
+                var classes = [];
                 if (meta.type) {
                     classes.push(meta.type);
                 }
                 else {
                     classes.push('dummy');
                 }
-                attrs += ' class="'+classes.join(' ')+'"';
-                rows[0].push('<td'+attrs+'></td>');
+                rows[0].push({ rowspan: height, classes: classes });
                 return rows;
             }
         };
     function buildForRecord(meta) {
         var fieldBuilds = [];
         var size = 0;
+        var bounded = true;
         for (var k = 0; k < meta.fields.length; k ++) {
             var fieldBuild = buildForProfile(meta.fields[k]);
             fieldBuilds.push(fieldBuild);
             size += fieldBuild.size;
+            bounded = bounded && fieldBuild.bounded;
         }
         return {
             size: size,
+            bounded: bounded,
             headHeight: function () {
                 if (!size) {
                     return 0;
                     rows.push([]);
                 }
                 if (data === null) {
-                    data = [];
-                    var attrs = '';
-                    attrs += (height > 1) ? ' rowspan="'+height+'"' : '';
-                    attrs += ' class="null-rec-val"';
                     for (var k = 0; k < fieldBuilds.length; k ++) {
-                        rows[0].push('<td'+attrs+'></td>');
+                        rows[0].push({ rowspan: height, classes: ['null-rec-val'] });
                     }
                 }
                 else {
         var itemBuild = buildForDomain(meta.item.domain);
         return {
             size: itemBuild.size+1,
+            bounded: false,
             headHeight: function () {
                 return itemBuild.headHeight();
             },
             head: function(height) {
                 var rows = itemBuild.head(height);
                 if (height > 0) {
-                    var attrs = '';
-                    attrs += height > 1 ? ' rowspan="'+height+'"' : '';
-                    attrs += ' class="dummy"';
-                    rows[0].unshift('<th'+attrs+'></th>');
+                    rows[0].unshift({ rowspan: height, classes: ['dummy'] });
                 }
                 return rows;
             },
                     for (var k = 0; k < height; k ++) {
                         rows.push([]);
                     }
-                    var attrs = '';
-                    attrs += (height > 1) ? ' rowspan="'+height+'"' : '';
-                    attrs += ' class="index null-rec-val"';
-                    rows[0].push('<td'+attrs+'></td>');
-                    attrs = '';
-                    attrs += (height > 1) ? ' rowspan="'+height+'"' : '';
-                    attrs += ' class="null-rec-val"';
+                    rows[0].push({ rowspan: height, classes: ['index', 'null-rec-val'] });
                     for (var k = 0; k < itemBuild.size; k ++) {
-                        rows[0].push('<td'+attrs+'></td>');
+                        rows[0].push({ rowspan: height, classes: ['null-rec-val']});
                     }
                 }
                 else {
                         }
                         height -= itemHeight;
                         var itemRows = itemBuild.body(data[k], itemHeight);
-                        var attrs = '';
-                        attrs += itemHeight > 1 ? ' rowspan="'+itemHeight+'"' : '';
-                        attrs += ' class="index"';
-                        itemRows[0].unshift('<td'+attrs+'>'+(k+1)+'</td>');
+                        itemRows[0].unshift({ rowspan: itemHeight, classes: ['index'],
+                                              content: ''+(k+1) });
+                        if (!itemBuild.bounded) {
+                            var row = itemRows[0];
+                            for (var i = 0; i < row.length; i ++) {
+                                var classes = row[i].classes || [];
+                                if (classes[0] != 'section') {
+                                    classes.unshift('section');
+                                }
+                                row[i].classes = classes;
+                            }
+                        }
                         for (var i = 0; i < itemRows.length; i ++) {
                             rows.push(itemRows[i]);
                         }
             foot: function (more, height) {
                 var rows = itemBuild.foot(more, height);
                 if (height > 0) {
-                    var attrs = '';
-                    attrs += height > 1 ? ' rowspan="'+height+'"' : '';
-                    classes = [];
+                    var classes = [];
                     classes.push('index');
                     if (more) {
                         classes.push('more');
                     else {
                         classes.push('dummy');
                     }
-                    attrs += ' class="'+classes.join(' ')+'"';
-                    rows[0].unshift('<td'+attrs+'></th>');
+                    rows[0].unshift({ rowspan: height, classes: classes });
                 }
                 return rows;
             }
     function buildForVoid(meta) {
         return {
             size: 0,
+            bounded: true,
             headHeight: function () {
                 return 0;
             },

test/output/mssql.yaml

             <title>school</title>
             <style type="text/css">
             table.htsql-output { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; margin: 1em auto; color: #000000; background-color: #ffffff; border-collapse: collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px 3px rgba(0,0,0,0.25) }
-            table.htsql-output > thead { background-color: #f2f2f2 }
-            table.htsql-output > thead { border-color: #1a1a1a; border-width: 0 0 1px; border-style: solid }
-            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 1px 1px 0; border-style: solid }
+            table.htsql-output > thead { background-color: #f2f2f2; border-bottom: 1px solid #1a1a1a }
+            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top: 1px solid #999999; border-left: 1px solid #999999 }
             table.htsql-output > thead > tr > th.htsql-empty-header:after { content: "\A0" }
             table.htsql-output > tbody > tr.htsql-odd-row { background-color: #ffffff }
             table.htsql-output > tbody > tr.htsql-even-row { background-color: #f2f2f2 }
             table.htsql-output > tbody > tr:hover { color: #ffffff; background-color: #333333 }
-            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 0 1px; border-style: solid; }
-            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
+            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right: 1px solid #999999 }
             table.htsql-output > tbody > tr > td.htsql-integer-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-decimal-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-float-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-empty-value { color: #999999 }
             table.htsql-output > tbody > tr > td.htsql-empty-value:after { content: "\2B1A" }
             table.htsql-output > tbody > tr > td.htsql-false-value { font-style: italic }
-            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-left-style: dashed; border-right-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-section { border-top: 1px dotted #999999 }
+            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-left-style: solid; border-right-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
             div.htsql-welcome { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; text-align: center; margin: 1em auto; color: #000000; background-color: #ffffff }
             div.htsql-welcome > h1 { font-size: 200%; font-weight: bold; margin: 1px 0 0 }
             div.htsql-welcome > p { margin: 1px 0 0 }
             <title>school</title>
             <style type="text/css">
             table.htsql-output { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; margin: 1em auto; color: #000000; background-color: #ffffff; border-collapse: collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px 3px rgba(0,0,0,0.25) }
-            table.htsql-output > thead { background-color: #f2f2f2 }
-            table.htsql-output > thead { border-color: #1a1a1a; border-width: 0 0 1px; border-style: solid }
-            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 1px 1px 0; border-style: solid }
+            table.htsql-output > thead { background-color: #f2f2f2; border-bottom: 1px solid #1a1a1a }
+            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top: 1px solid #999999; border-left: 1px solid #999999 }
             table.htsql-output > thead > tr > th.htsql-empty-header:after { content: "\A0" }
             table.htsql-output > tbody > tr.htsql-odd-row { background-color: #ffffff }
             table.htsql-output > tbody > tr.htsql-even-row { background-color: #f2f2f2 }
             table.htsql-output > tbody > tr:hover { color: #ffffff; background-color: #333333 }
-            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 0 1px; border-style: solid; }
-            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
+            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right: 1px solid #999999 }
             table.htsql-output > tbody > tr > td.htsql-integer-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-decimal-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-float-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-empty-value { color: #999999 }
             table.htsql-output > tbody > tr > td.htsql-empty-value:after { content: "\2B1A" }
             table.htsql-output > tbody > tr > td.htsql-false-value { font-style: italic }
-            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-left-style: dashed; border-right-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-section { border-top: 1px dotted #999999 }
+            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-left-style: solid; border-right-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
             div.htsql-welcome { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; text-align: center; margin: 1em auto; color: #000000; background-color: #ffffff }
             div.htsql-welcome > h1 { font-size: 200%; font-weight: bold; margin: 1px 0 0 }
             div.htsql-welcome > p { margin: 1px 0 0 }
             <title></title>
             <style type="text/css">
             table.htsql-output { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; margin: 1em auto; color: #000000; background-color: #ffffff; border-collapse: collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px 3px rgba(0,0,0,0.25) }
-            table.htsql-output > thead { background-color: #f2f2f2 }
-            table.htsql-output > thead { border-color: #1a1a1a; border-width: 0 0 1px; border-style: solid }
-            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 1px 1px 0; border-style: solid }
+            table.htsql-output > thead { background-color: #f2f2f2; border-bottom: 1px solid #1a1a1a }
+            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top: 1px solid #999999; border-left: 1px solid #999999 }
             table.htsql-output > thead > tr > th.htsql-empty-header:after { content: "\A0" }
             table.htsql-output > tbody > tr.htsql-odd-row { background-color: #ffffff }
             table.htsql-output > tbody > tr.htsql-even-row { background-color: #f2f2f2 }
             table.htsql-output > tbody > tr:hover { color: #ffffff; background-color: #333333 }
-            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 0 1px; border-style: solid; }
-            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
+            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right: 1px solid #999999 }
             table.htsql-output > tbody > tr > td.htsql-integer-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-decimal-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-float-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-empty-value { color: #999999 }
             table.htsql-output > tbody > tr > td.htsql-empty-value:after { content: "\2B1A" }
             table.htsql-output > tbody > tr > td.htsql-false-value { font-style: italic }
-            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-left-style: dashed; border-right-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-section { border-top: 1px dotted #999999 }
+            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-left-style: solid; border-right-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
             div.htsql-welcome { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; text-align: center; margin: 1em auto; color: #000000; background-color: #ffffff }
             div.htsql-welcome > h1 { font-size: 200%; font-weight: bold; margin: 1px 0 0 }
             div.htsql-welcome > p { margin: 1px 0 0 }
             <title>List of Schools</title>
             <style type="text/css">
             table.htsql-output { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; margin: 1em auto; color: #000000; background-color: #ffffff; border-collapse: collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px 3px rgba(0,0,0,0.25) }
-            table.htsql-output > thead { background-color: #f2f2f2 }
-            table.htsql-output > thead { border-color: #1a1a1a; border-width: 0 0 1px; border-style: solid }
-            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 1px 1px 0; border-style: solid }
+            table.htsql-output > thead { background-color: #f2f2f2; border-bottom: 1px solid #1a1a1a }
+            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top: 1px solid #999999; border-left: 1px solid #999999 }
             table.htsql-output > thead > tr > th.htsql-empty-header:after { content: "\A0" }
             table.htsql-output > tbody > tr.htsql-odd-row { background-color: #ffffff }
             table.htsql-output > tbody > tr.htsql-even-row { background-color: #f2f2f2 }
             table.htsql-output > tbody > tr:hover { color: #ffffff; background-color: #333333 }
-            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 0 1px; border-style: solid; }
-            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
+            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right: 1px solid #999999 }
             table.htsql-output > tbody > tr > td.htsql-integer-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-decimal-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-float-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-empty-value { color: #999999 }
             table.htsql-output > tbody > tr > td.htsql-empty-value:after { content: "\2B1A" }
             table.htsql-output > tbody > tr > td.htsql-false-value { font-style: italic }
-            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-left-style: dashed; border-right-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-section { border-top: 1px dotted #999999 }
+            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-left-style: solid; border-right-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
             div.htsql-welcome { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; text-align: center; margin: 1em auto; color: #000000; background-color: #ffffff }
             div.htsql-welcome > h1 { font-size: 200%; font-weight: bold; margin: 1px 0 0 }
             div.htsql-welcome > p { margin: 1px 0 0 }
             <title></title>
             <style type="text/css">
             table.htsql-output { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; margin: 1em auto; color: #000000; background-color: #ffffff; border-collapse: collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px 3px rgba(0,0,0,0.25) }
-            table.htsql-output > thead { background-color: #f2f2f2 }
-            table.htsql-output > thead { border-color: #1a1a1a; border-width: 0 0 1px; border-style: solid }
-            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 1px 1px 0; border-style: solid }
+            table.htsql-output > thead { background-color: #f2f2f2; border-bottom: 1px solid #1a1a1a }
+            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top: 1px solid #999999; border-left: 1px solid #999999 }
             table.htsql-output > thead > tr > th.htsql-empty-header:after { content: "\A0" }
             table.htsql-output > tbody > tr.htsql-odd-row { background-color: #ffffff }
             table.htsql-output > tbody > tr.htsql-even-row { background-color: #f2f2f2 }
             table.htsql-output > tbody > tr:hover { color: #ffffff; background-color: #333333 }
-            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 0 1px; border-style: solid; }
-            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
+            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right: 1px solid #999999 }
             table.htsql-output > tbody > tr > td.htsql-integer-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-decimal-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-float-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-empty-value { color: #999999 }
             table.htsql-output > tbody > tr > td.htsql-empty-value:after { content: "\2B1A" }
             table.htsql-output > tbody > tr > td.htsql-false-value { font-style: italic }
-            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-left-style: dashed; border-right-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-section { border-top: 1px dotted #999999 }
+            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-left-style: solid; border-right-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
             div.htsql-welcome { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; text-align: center; margin: 1em auto; color: #000000; background-color: #ffffff }
             div.htsql-welcome > h1 { font-size: 200%; font-weight: bold; margin: 1px 0 0 }
             div.htsql-welcome > p { margin: 1px 0 0 }
             <title>school</title>
             <style type="text/css">
             table.htsql-output { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; margin: 1em auto; color: #000000; background-color: #ffffff; border-collapse: collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px 3px rgba(0,0,0,0.25) }
-            table.htsql-output > thead { background-color: #f2f2f2 }
-            table.htsql-output > thead { border-color: #1a1a1a; border-width: 0 0 1px; border-style: solid }
-            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 1px 1px 0; border-style: solid }
+            table.htsql-output > thead { background-color: #f2f2f2; border-bottom: 1px solid #1a1a1a }
+            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top: 1px solid #999999; border-left: 1px solid #999999 }
             table.htsql-output > thead > tr > th.htsql-empty-header:after { content: "\A0" }
             table.htsql-output > tbody > tr.htsql-odd-row { background-color: #ffffff }
             table.htsql-output > tbody > tr.htsql-even-row { background-color: #f2f2f2 }
             table.htsql-output > tbody > tr:hover { color: #ffffff; background-color: #333333 }
-            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 0 1px; border-style: solid; }
-            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
+            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right: 1px solid #999999 }
             table.htsql-output > tbody > tr > td.htsql-integer-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-decimal-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-float-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-empty-value { color: #999999 }
             table.htsql-output > tbody > tr > td.htsql-empty-value:after { content: "\2B1A" }
             table.htsql-output > tbody > tr > td.htsql-false-value { font-style: italic }
-            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-left-style: dashed; border-right-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-section { border-top: 1px dotted #999999 }
+            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-left-style: solid; border-right-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
             div.htsql-welcome { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; text-align: center; margin: 1em auto; color: #000000; background-color: #ffffff }
             div.htsql-welcome > h1 { font-size: 200%; font-weight: bold; margin: 1px 0 0 }
             div.htsql-welcome > p { margin: 1px 0 0 }
             <title></title>
             <style type="text/css">
             table.htsql-output { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; margin: 1em auto; color: #000000; background-color: #ffffff; border-collapse: collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px 3px rgba(0,0,0,0.25) }
-            table.htsql-output > thead { background-color: #f2f2f2 }
-            table.htsql-output > thead { border-color: #1a1a1a; border-width: 0 0 1px; border-style: solid }
-            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 1px 1px 0; border-style: solid }
+            table.htsql-output > thead { background-color: #f2f2f2; border-bottom: 1px solid #1a1a1a }
+            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top: 1px solid #999999; border-left: 1px solid #999999 }
             table.htsql-output > thead > tr > th.htsql-empty-header:after { content: "\A0" }
             table.htsql-output > tbody > tr.htsql-odd-row { background-color: #ffffff }
             table.htsql-output > tbody > tr.htsql-even-row { background-color: #f2f2f2 }
             table.htsql-output > tbody > tr:hover { color: #ffffff; background-color: #333333 }
-            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 0 1px; border-style: solid; }
-            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
+            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right: 1px solid #999999 }
             table.htsql-output > tbody > tr > td.htsql-integer-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-decimal-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-float-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-empty-value { color: #999999 }
             table.htsql-output > tbody > tr > td.htsql-empty-value:after { content: "\2B1A" }
             table.htsql-output > tbody > tr > td.htsql-false-value { font-style: italic }
-            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-left-style: dashed; border-right-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-section { border-top: 1px dotted #999999 }
+            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-left-style: solid; border-right-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
             div.htsql-welcome { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; text-align: center; margin: 1em auto; color: #000000; background-color: #ffffff }
             div.htsql-welcome > h1 { font-size: 200%; font-weight: bold; margin: 1px 0 0 }
             div.htsql-welcome > p { margin: 1px 0 0 }
             <title>school</title>
             <style type="text/css">
             table.htsql-output { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; margin: 1em auto; color: #000000; background-color: #ffffff; border-collapse: collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px 3px rgba(0,0,0,0.25) }
-            table.htsql-output > thead { background-color: #f2f2f2 }
-            table.htsql-output > thead { border-color: #1a1a1a; border-width: 0 0 1px; border-style: solid }
-            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 1px 1px 0; border-style: solid }
+            table.htsql-output > thead { background-color: #f2f2f2; border-bottom: 1px solid #1a1a1a }
+            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top: 1px solid #999999; border-left: 1px solid #999999 }
             table.htsql-output > thead > tr > th.htsql-empty-header:after { content: "\A0" }
             table.htsql-output > tbody > tr.htsql-odd-row { background-color: #ffffff }
             table.htsql-output > tbody > tr.htsql-even-row { background-color: #f2f2f2 }
             table.htsql-output > tbody > tr:hover { color: #ffffff; background-color: #333333 }
-            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 0 1px; border-style: solid; }
-            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
+            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right: 1px solid #999999 }
             table.htsql-output > tbody > tr > td.htsql-integer-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-decimal-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-float-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-empty-value { color: #999999 }
             table.htsql-output > tbody > tr > td.htsql-empty-value:after { content: "\2B1A" }
             table.htsql-output > tbody > tr > td.htsql-false-value { font-style: italic }
-            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-left-style: dashed; border-right-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-section { border-top: 1px dotted #999999 }
+            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-left-style: solid; border-right-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
             div.htsql-welcome { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; text-align: center; margin: 1em auto; color: #000000; background-color: #ffffff }
             div.htsql-welcome > h1 { font-size: 200%; font-weight: bold; margin: 1px 0 0 }
             div.htsql-welcome > p { margin: 1px 0 0 }
             <title>department</title>
             <style type="text/css">
             table.htsql-output { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; margin: 1em auto; color: #000000; background-color: #ffffff; border-collapse: collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px 3px rgba(0,0,0,0.25) }
-            table.htsql-output > thead { background-color: #f2f2f2 }
-            table.htsql-output > thead { border-color: #1a1a1a; border-width: 0 0 1px; border-style: solid }
-            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 1px 1px 0; border-style: solid }
+            table.htsql-output > thead { background-color: #f2f2f2; border-bottom: 1px solid #1a1a1a }
+            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top: 1px solid #999999; border-left: 1px solid #999999 }
             table.htsql-output > thead > tr > th.htsql-empty-header:after { content: "\A0" }
             table.htsql-output > tbody > tr.htsql-odd-row { background-color: #ffffff }
             table.htsql-output > tbody > tr.htsql-even-row { background-color: #f2f2f2 }
             table.htsql-output > tbody > tr:hover { color: #ffffff; background-color: #333333 }
-            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 0 1px; border-style: solid; }
-            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
+            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right: 1px solid #999999 }
             table.htsql-output > tbody > tr > td.htsql-integer-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-decimal-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-float-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-empty-value { color: #999999 }
             table.htsql-output > tbody > tr > td.htsql-empty-value:after { content: "\2B1A" }
             table.htsql-output > tbody > tr > td.htsql-false-value { font-style: italic }
-            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-left-style: dashed; border-right-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-section { border-top: 1px dotted #999999 }
+            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-left-style: solid; border-right-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
             div.htsql-welcome { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; text-align: center; margin: 1em auto; color: #000000; background-color: #ffffff }
             div.htsql-welcome > h1 { font-size: 200%; font-weight: bold; margin: 1px 0 0 }
             div.htsql-welcome > p { margin: 1px 0 0 }
             collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25);
             -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px
             3px rgba(0,0,0,0.25) }\ntable.htsql-output > thead { background-color:
-            #f2f2f2 }\ntable.htsql-output > thead { border-color: #1a1a1a; border-width:
-            0 0 1px; border-style: solid }\ntable.htsql-output > thead > tr > th {
-            font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align:
-            bottom; overflow: hidden; word-wrap: break-word; border-color: #999999;
-            border-width: 1px 1px 0; border-style: solid }\ntable.htsql-output > thead
-            > tr > th.htsql-empty-header:after { content: \"\\A0\" }\ntable.htsql-output
+            #f2f2f2; border-bottom: 1px solid #1a1a1a }\ntable.htsql-output > thead
+            > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center;
+            vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top:
+            1px solid #999999; border-left: 1px solid #999999 }\ntable.htsql-output
+            > thead > tr > th.htsql-empty-header:after { content: \"\\A0\" }\ntable.htsql-output
             > tbody > tr.htsql-odd-row { background-color: #ffffff }\ntable.htsql-output
             > tbody > tr.htsql-even-row { background-color: #f2f2f2 }\ntable.htsql-output
             > tbody > tr:hover { color: #ffffff; background-color: #333333 }\ntable.htsql-output
             > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow:
-            hidden; word-wrap: break-word; border-color: #999999; border-width: 0
-            1px; border-style: solid; }\ntable.htsql-output > tbody > tr > td.htsql-index
-            { font-size: 90%; font-weight: bold; text-align: right; width: 0; color:
-            #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select:
-            none; user-select: none }\ntable.htsql-output > tbody > tr > td.htsql-integer-type
+            hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right:
+            1px solid #999999 }\ntable.htsql-output > tbody > tr > td.htsql-integer-type
             { text-align: right }\ntable.htsql-output > tbody > tr > td.htsql-decimal-type
             { text-align: right }\ntable.htsql-output > tbody > tr > td.htsql-float-type
             { text-align: right }\ntable.htsql-output > tbody > tr > td.htsql-null-value:after
             { color: #999999 }\ntable.htsql-output > tbody > tr > td.htsql-empty-value:after
             { content: \"\\2B1A\" }\ntable.htsql-output > tbody > tr > td.htsql-false-value
             { font-style: italic }\ntable.htsql-output > tbody > tr > td.htsql-null-record-value
-            { border-style: dashed }\ndiv.htsql-welcome { font-family: \"Arial\",
-            sans-serif; font-size: 13px; line-height: 1.3; text-align: center; margin:
-            1em auto; color: #000000; background-color: #ffffff }\ndiv.htsql-welcome
-            > h1 { font-size: 200%; font-weight: bold; margin: 1px 0 0 }\ndiv.htsql-welcome
-            > p { margin: 1px 0 0 }\n</style>\n</head>\n<body>\n<table class=\"htsql-output\"
-            summary=\"\">\n<thead>\n<tr><th class=\"htsql-empty-header\"></th><th>'%01%02%03%04%05%06%07%08%09%0A%0B%0C%0D%0E%0F%10'</th><th>'%11%12%13%14%15%16%17%18%19%1A%1B%1C%1D%1E%1F%7F'</th><th>'\u03BE'</th><th>'\\/%25''\"&amp;&lt;&gt;#'</th><th>''</th></tr>\n</thead>\n<tbody>\n<tr
+            { border-left-style: dashed; border-right-style: dashed }\ntable.htsql-output
+            > tbody > tr > td.htsql-section { border-top: 1px dotted #999999 }\ntable.htsql-output
+            > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align:
+            right; width: 0; color: #999999; border-left-style: solid; border-right-color:
+            #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select:
+            none }\ndiv.htsql-welcome { font-family: \"Arial\", sans-serif; font-size:
+            13px; line-height: 1.3; text-align: center; margin: 1em auto; color: #000000;
+            background-color: #ffffff }\ndiv.htsql-welcome > h1 { font-size: 200%;
+            font-weight: bold; margin: 1px 0 0 }\ndiv.htsql-welcome > p { margin:
+            1px 0 0 }\n</style>\n</head>\n<body>\n<table class=\"htsql-output\" summary=\"\">\n<thead>\n<tr><th
+            class=\"htsql-empty-header\"></th><th>'%01%02%03%04%05%06%07%08%09%0A%0B%0C%0D%0E%0F%10'</th><th>'%11%12%13%14%15%16%17%18%19%1A%1B%1C%1D%1E%1F%7F'</th><th>'\u03BE'</th><th>'\\/%25''\"&amp;&lt;&gt;#'</th><th>''</th></tr>\n</thead>\n<tbody>\n<tr
             class=\"htsql-odd-row\"><td class=\"htsql-index\">1</td><td class=\"htsql-string-type\">\x01\x02\x03\x04\x05\x06\a\b\t\n\v\f\r\x0E\x0F\x10</td><td
             class=\"htsql-string-type\">\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\e\x1C\x1D\x1E\x1F\x7F</td><td
             class=\"htsql-string-type\">?</td><td class=\"htsql-string-type\">\\/%'\"&amp;&lt;&gt;#</td><td

test/output/mysql.yaml

             <title>school</title>
             <style type="text/css">
             table.htsql-output { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; margin: 1em auto; color: #000000; background-color: #ffffff; border-collapse: collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px 3px rgba(0,0,0,0.25) }
-            table.htsql-output > thead { background-color: #f2f2f2 }
-            table.htsql-output > thead { border-color: #1a1a1a; border-width: 0 0 1px; border-style: solid }
-            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 1px 1px 0; border-style: solid }
+            table.htsql-output > thead { background-color: #f2f2f2; border-bottom: 1px solid #1a1a1a }
+            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top: 1px solid #999999; border-left: 1px solid #999999 }
             table.htsql-output > thead > tr > th.htsql-empty-header:after { content: "\A0" }
             table.htsql-output > tbody > tr.htsql-odd-row { background-color: #ffffff }
             table.htsql-output > tbody > tr.htsql-even-row { background-color: #f2f2f2 }
             table.htsql-output > tbody > tr:hover { color: #ffffff; background-color: #333333 }
-            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 0 1px; border-style: solid; }
-            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
+            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right: 1px solid #999999 }
             table.htsql-output > tbody > tr > td.htsql-integer-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-decimal-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-float-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-empty-value { color: #999999 }
             table.htsql-output > tbody > tr > td.htsql-empty-value:after { content: "\2B1A" }
             table.htsql-output > tbody > tr > td.htsql-false-value { font-style: italic }
-            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-left-style: dashed; border-right-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-section { border-top: 1px dotted #999999 }
+            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-left-style: solid; border-right-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
             div.htsql-welcome { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; text-align: center; margin: 1em auto; color: #000000; background-color: #ffffff }
             div.htsql-welcome > h1 { font-size: 200%; font-weight: bold; margin: 1px 0 0 }
             div.htsql-welcome > p { margin: 1px 0 0 }
             <title>school</title>
             <style type="text/css">
             table.htsql-output { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; margin: 1em auto; color: #000000; background-color: #ffffff; border-collapse: collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px 3px rgba(0,0,0,0.25) }
-            table.htsql-output > thead { background-color: #f2f2f2 }
-            table.htsql-output > thead { border-color: #1a1a1a; border-width: 0 0 1px; border-style: solid }
-            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 1px 1px 0; border-style: solid }
+            table.htsql-output > thead { background-color: #f2f2f2; border-bottom: 1px solid #1a1a1a }
+            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top: 1px solid #999999; border-left: 1px solid #999999 }
             table.htsql-output > thead > tr > th.htsql-empty-header:after { content: "\A0" }
             table.htsql-output > tbody > tr.htsql-odd-row { background-color: #ffffff }
             table.htsql-output > tbody > tr.htsql-even-row { background-color: #f2f2f2 }
             table.htsql-output > tbody > tr:hover { color: #ffffff; background-color: #333333 }
-            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 0 1px; border-style: solid; }
-            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
+            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right: 1px solid #999999 }
             table.htsql-output > tbody > tr > td.htsql-integer-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-decimal-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-float-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-empty-value { color: #999999 }
             table.htsql-output > tbody > tr > td.htsql-empty-value:after { content: "\2B1A" }
             table.htsql-output > tbody > tr > td.htsql-false-value { font-style: italic }
-            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-left-style: dashed; border-right-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-section { border-top: 1px dotted #999999 }
+            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-left-style: solid; border-right-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
             div.htsql-welcome { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; text-align: center; margin: 1em auto; color: #000000; background-color: #ffffff }
             div.htsql-welcome > h1 { font-size: 200%; font-weight: bold; margin: 1px 0 0 }
             div.htsql-welcome > p { margin: 1px 0 0 }
             <title></title>
             <style type="text/css">
             table.htsql-output { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; margin: 1em auto; color: #000000; background-color: #ffffff; border-collapse: collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px 3px rgba(0,0,0,0.25) }
-            table.htsql-output > thead { background-color: #f2f2f2 }
-            table.htsql-output > thead { border-color: #1a1a1a; border-width: 0 0 1px; border-style: solid }
-            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 1px 1px 0; border-style: solid }
+            table.htsql-output > thead { background-color: #f2f2f2; border-bottom: 1px solid #1a1a1a }
+            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top: 1px solid #999999; border-left: 1px solid #999999 }
             table.htsql-output > thead > tr > th.htsql-empty-header:after { content: "\A0" }
             table.htsql-output > tbody > tr.htsql-odd-row { background-color: #ffffff }
             table.htsql-output > tbody > tr.htsql-even-row { background-color: #f2f2f2 }
             table.htsql-output > tbody > tr:hover { color: #ffffff; background-color: #333333 }
-            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 0 1px; border-style: solid; }
-            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
+            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right: 1px solid #999999 }
             table.htsql-output > tbody > tr > td.htsql-integer-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-decimal-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-float-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-empty-value { color: #999999 }
             table.htsql-output > tbody > tr > td.htsql-empty-value:after { content: "\2B1A" }
             table.htsql-output > tbody > tr > td.htsql-false-value { font-style: italic }
-            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-left-style: dashed; border-right-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-section { border-top: 1px dotted #999999 }
+            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-left-style: solid; border-right-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
             div.htsql-welcome { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; text-align: center; margin: 1em auto; color: #000000; background-color: #ffffff }
             div.htsql-welcome > h1 { font-size: 200%; font-weight: bold; margin: 1px 0 0 }
             div.htsql-welcome > p { margin: 1px 0 0 }
             <title>List of Schools</title>
             <style type="text/css">
             table.htsql-output { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; margin: 1em auto; color: #000000; background-color: #ffffff; border-collapse: collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px 3px rgba(0,0,0,0.25) }
-            table.htsql-output > thead { background-color: #f2f2f2 }
-            table.htsql-output > thead { border-color: #1a1a1a; border-width: 0 0 1px; border-style: solid }
-            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 1px 1px 0; border-style: solid }
+            table.htsql-output > thead { background-color: #f2f2f2; border-bottom: 1px solid #1a1a1a }
+            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top: 1px solid #999999; border-left: 1px solid #999999 }
             table.htsql-output > thead > tr > th.htsql-empty-header:after { content: "\A0" }
             table.htsql-output > tbody > tr.htsql-odd-row { background-color: #ffffff }
             table.htsql-output > tbody > tr.htsql-even-row { background-color: #f2f2f2 }
             table.htsql-output > tbody > tr:hover { color: #ffffff; background-color: #333333 }
-            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 0 1px; border-style: solid; }
-            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
+            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right: 1px solid #999999 }
             table.htsql-output > tbody > tr > td.htsql-integer-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-decimal-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-float-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-empty-value { color: #999999 }
             table.htsql-output > tbody > tr > td.htsql-empty-value:after { content: "\2B1A" }
             table.htsql-output > tbody > tr > td.htsql-false-value { font-style: italic }
-            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-left-style: dashed; border-right-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-section { border-top: 1px dotted #999999 }
+            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-left-style: solid; border-right-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
             div.htsql-welcome { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; text-align: center; margin: 1em auto; color: #000000; background-color: #ffffff }
             div.htsql-welcome > h1 { font-size: 200%; font-weight: bold; margin: 1px 0 0 }
             div.htsql-welcome > p { margin: 1px 0 0 }
             <title></title>
             <style type="text/css">
             table.htsql-output { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; margin: 1em auto; color: #000000; background-color: #ffffff; border-collapse: collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px 3px rgba(0,0,0,0.25) }
-            table.htsql-output > thead { background-color: #f2f2f2 }
-            table.htsql-output > thead { border-color: #1a1a1a; border-width: 0 0 1px; border-style: solid }
-            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 1px 1px 0; border-style: solid }
+            table.htsql-output > thead { background-color: #f2f2f2; border-bottom: 1px solid #1a1a1a }
+            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top: 1px solid #999999; border-left: 1px solid #999999 }
             table.htsql-output > thead > tr > th.htsql-empty-header:after { content: "\A0" }
             table.htsql-output > tbody > tr.htsql-odd-row { background-color: #ffffff }
             table.htsql-output > tbody > tr.htsql-even-row { background-color: #f2f2f2 }
             table.htsql-output > tbody > tr:hover { color: #ffffff; background-color: #333333 }
-            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 0 1px; border-style: solid; }
-            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
+            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right: 1px solid #999999 }
             table.htsql-output > tbody > tr > td.htsql-integer-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-decimal-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-float-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-empty-value { color: #999999 }
             table.htsql-output > tbody > tr > td.htsql-empty-value:after { content: "\2B1A" }
             table.htsql-output > tbody > tr > td.htsql-false-value { font-style: italic }
-            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-left-style: dashed; border-right-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-section { border-top: 1px dotted #999999 }
+            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-left-style: solid; border-right-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
             div.htsql-welcome { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; text-align: center; margin: 1em auto; color: #000000; background-color: #ffffff }
             div.htsql-welcome > h1 { font-size: 200%; font-weight: bold; margin: 1px 0 0 }
             div.htsql-welcome > p { margin: 1px 0 0 }
             <title>school</title>
             <style type="text/css">
             table.htsql-output { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; margin: 1em auto; color: #000000; background-color: #ffffff; border-collapse: collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px 3px rgba(0,0,0,0.25) }
-            table.htsql-output > thead { background-color: #f2f2f2 }
-            table.htsql-output > thead { border-color: #1a1a1a; border-width: 0 0 1px; border-style: solid }
-            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 1px 1px 0; border-style: solid }
+            table.htsql-output > thead { background-color: #f2f2f2; border-bottom: 1px solid #1a1a1a }
+            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top: 1px solid #999999; border-left: 1px solid #999999 }
             table.htsql-output > thead > tr > th.htsql-empty-header:after { content: "\A0" }
             table.htsql-output > tbody > tr.htsql-odd-row { background-color: #ffffff }
             table.htsql-output > tbody > tr.htsql-even-row { background-color: #f2f2f2 }
             table.htsql-output > tbody > tr:hover { color: #ffffff; background-color: #333333 }
-            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 0 1px; border-style: solid; }
-            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
+            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right: 1px solid #999999 }
             table.htsql-output > tbody > tr > td.htsql-integer-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-decimal-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-float-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-empty-value { color: #999999 }
             table.htsql-output > tbody > tr > td.htsql-empty-value:after { content: "\2B1A" }
             table.htsql-output > tbody > tr > td.htsql-false-value { font-style: italic }
-            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-left-style: dashed; border-right-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-section { border-top: 1px dotted #999999 }
+            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-left-style: solid; border-right-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
             div.htsql-welcome { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; text-align: center; margin: 1em auto; color: #000000; background-color: #ffffff }
             div.htsql-welcome > h1 { font-size: 200%; font-weight: bold; margin: 1px 0 0 }
             div.htsql-welcome > p { margin: 1px 0 0 }
             <title></title>
             <style type="text/css">
             table.htsql-output { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; margin: 1em auto; color: #000000; background-color: #ffffff; border-collapse: collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px 3px rgba(0,0,0,0.25) }
-            table.htsql-output > thead { background-color: #f2f2f2 }
-            table.htsql-output > thead { border-color: #1a1a1a; border-width: 0 0 1px; border-style: solid }
-            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 1px 1px 0; border-style: solid }
+            table.htsql-output > thead { background-color: #f2f2f2; border-bottom: 1px solid #1a1a1a }
+            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top: 1px solid #999999; border-left: 1px solid #999999 }
             table.htsql-output > thead > tr > th.htsql-empty-header:after { content: "\A0" }
             table.htsql-output > tbody > tr.htsql-odd-row { background-color: #ffffff }
             table.htsql-output > tbody > tr.htsql-even-row { background-color: #f2f2f2 }
             table.htsql-output > tbody > tr:hover { color: #ffffff; background-color: #333333 }
-            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 0 1px; border-style: solid; }
-            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
+            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right: 1px solid #999999 }
             table.htsql-output > tbody > tr > td.htsql-integer-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-decimal-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-float-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-empty-value { color: #999999 }
             table.htsql-output > tbody > tr > td.htsql-empty-value:after { content: "\2B1A" }
             table.htsql-output > tbody > tr > td.htsql-false-value { font-style: italic }
-            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-left-style: dashed; border-right-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-section { border-top: 1px dotted #999999 }
+            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-left-style: solid; border-right-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
             div.htsql-welcome { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; text-align: center; margin: 1em auto; color: #000000; background-color: #ffffff }
             div.htsql-welcome > h1 { font-size: 200%; font-weight: bold; margin: 1px 0 0 }
             div.htsql-welcome > p { margin: 1px 0 0 }
             <title>school</title>
             <style type="text/css">
             table.htsql-output { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; margin: 1em auto; color: #000000; background-color: #ffffff; border-collapse: collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px 3px rgba(0,0,0,0.25) }
-            table.htsql-output > thead { background-color: #f2f2f2 }
-            table.htsql-output > thead { border-color: #1a1a1a; border-width: 0 0 1px; border-style: solid }
-            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 1px 1px 0; border-style: solid }
+            table.htsql-output > thead { background-color: #f2f2f2; border-bottom: 1px solid #1a1a1a }
+            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top: 1px solid #999999; border-left: 1px solid #999999 }
             table.htsql-output > thead > tr > th.htsql-empty-header:after { content: "\A0" }
             table.htsql-output > tbody > tr.htsql-odd-row { background-color: #ffffff }
             table.htsql-output > tbody > tr.htsql-even-row { background-color: #f2f2f2 }
             table.htsql-output > tbody > tr:hover { color: #ffffff; background-color: #333333 }
-            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 0 1px; border-style: solid; }
-            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
+            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right: 1px solid #999999 }
             table.htsql-output > tbody > tr > td.htsql-integer-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-decimal-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-float-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-empty-value { color: #999999 }
             table.htsql-output > tbody > tr > td.htsql-empty-value:after { content: "\2B1A" }
             table.htsql-output > tbody > tr > td.htsql-false-value { font-style: italic }
-            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-left-style: dashed; border-right-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-section { border-top: 1px dotted #999999 }
+            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-left-style: solid; border-right-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
             div.htsql-welcome { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; text-align: center; margin: 1em auto; color: #000000; background-color: #ffffff }
             div.htsql-welcome > h1 { font-size: 200%; font-weight: bold; margin: 1px 0 0 }
             div.htsql-welcome > p { margin: 1px 0 0 }
             <title>department</title>
             <style type="text/css">
             table.htsql-output { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; margin: 1em auto; color: #000000; background-color: #ffffff; border-collapse: collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px 3px rgba(0,0,0,0.25) }
-            table.htsql-output > thead { background-color: #f2f2f2 }
-            table.htsql-output > thead { border-color: #1a1a1a; border-width: 0 0 1px; border-style: solid }
-            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 1px 1px 0; border-style: solid }
+            table.htsql-output > thead { background-color: #f2f2f2; border-bottom: 1px solid #1a1a1a }
+            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top: 1px solid #999999; border-left: 1px solid #999999 }
             table.htsql-output > thead > tr > th.htsql-empty-header:after { content: "\A0" }
             table.htsql-output > tbody > tr.htsql-odd-row { background-color: #ffffff }
             table.htsql-output > tbody > tr.htsql-even-row { background-color: #f2f2f2 }
             table.htsql-output > tbody > tr:hover { color: #ffffff; background-color: #333333 }
-            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 0 1px; border-style: solid; }
-            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
+            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right: 1px solid #999999 }
             table.htsql-output > tbody > tr > td.htsql-integer-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-decimal-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-float-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-empty-value { color: #999999 }
             table.htsql-output > tbody > tr > td.htsql-empty-value:after { content: "\2B1A" }
             table.htsql-output > tbody > tr > td.htsql-false-value { font-style: italic }
-            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-left-style: dashed; border-right-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-section { border-top: 1px dotted #999999 }
+            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-left-style: solid; border-right-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
             div.htsql-welcome { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; text-align: center; margin: 1em auto; color: #000000; background-color: #ffffff }
             div.htsql-welcome > h1 { font-size: 200%; font-weight: bold; margin: 1px 0 0 }
             div.htsql-welcome > p { margin: 1px 0 0 }
             collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25);
             -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px
             3px rgba(0,0,0,0.25) }\ntable.htsql-output > thead { background-color:
-            #f2f2f2 }\ntable.htsql-output > thead { border-color: #1a1a1a; border-width:
-            0 0 1px; border-style: solid }\ntable.htsql-output > thead > tr > th {
-            font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align:
-            bottom; overflow: hidden; word-wrap: break-word; border-color: #999999;
-            border-width: 1px 1px 0; border-style: solid }\ntable.htsql-output > thead
-            > tr > th.htsql-empty-header:after { content: \"\\A0\" }\ntable.htsql-output
+            #f2f2f2; border-bottom: 1px solid #1a1a1a }\ntable.htsql-output > thead
+            > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center;
+            vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top:
+            1px solid #999999; border-left: 1px solid #999999 }\ntable.htsql-output
+            > thead > tr > th.htsql-empty-header:after { content: \"\\A0\" }\ntable.htsql-output
             > tbody > tr.htsql-odd-row { background-color: #ffffff }\ntable.htsql-output
             > tbody > tr.htsql-even-row { background-color: #f2f2f2 }\ntable.htsql-output
             > tbody > tr:hover { color: #ffffff; background-color: #333333 }\ntable.htsql-output
             > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow:
-            hidden; word-wrap: break-word; border-color: #999999; border-width: 0
-            1px; border-style: solid; }\ntable.htsql-output > tbody > tr > td.htsql-index
-            { font-size: 90%; font-weight: bold; text-align: right; width: 0; color:
-            #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select:
-            none; user-select: none }\ntable.htsql-output > tbody > tr > td.htsql-integer-type
+            hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right:
+            1px solid #999999 }\ntable.htsql-output > tbody > tr > td.htsql-integer-type
             { text-align: right }\ntable.htsql-output > tbody > tr > td.htsql-decimal-type
             { text-align: right }\ntable.htsql-output > tbody > tr > td.htsql-float-type
             { text-align: right }\ntable.htsql-output > tbody > tr > td.htsql-null-value:after
             { color: #999999 }\ntable.htsql-output > tbody > tr > td.htsql-empty-value:after
             { content: \"\\2B1A\" }\ntable.htsql-output > tbody > tr > td.htsql-false-value
             { font-style: italic }\ntable.htsql-output > tbody > tr > td.htsql-null-record-value
-            { border-style: dashed }\ndiv.htsql-welcome { font-family: \"Arial\",
-            sans-serif; font-size: 13px; line-height: 1.3; text-align: center; margin:
-            1em auto; color: #000000; background-color: #ffffff }\ndiv.htsql-welcome
-            > h1 { font-size: 200%; font-weight: bold; margin: 1px 0 0 }\ndiv.htsql-welcome
-            > p { margin: 1px 0 0 }\n</style>\n</head>\n<body>\n<table class=\"htsql-output\"
-            summary=\"\">\n<thead>\n<tr><th class=\"htsql-empty-header\"></th><th>'%01%02%03%04%05%06%07%08%09%0A%0B%0C%0D%0E%0F%10'</th><th>'%11%12%13%14%15%16%17%18%19%1A%1B%1C%1D%1E%1F%7F'</th><th>'\u03BE'</th><th>'\\/%25''\"&amp;&lt;&gt;#'</th><th>''</th></tr>\n</thead>\n<tbody>\n<tr
+            { border-left-style: dashed; border-right-style: dashed }\ntable.htsql-output
+            > tbody > tr > td.htsql-section { border-top: 1px dotted #999999 }\ntable.htsql-output
+            > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align:
+            right; width: 0; color: #999999; border-left-style: solid; border-right-color:
+            #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select:
+            none }\ndiv.htsql-welcome { font-family: \"Arial\", sans-serif; font-size:
+            13px; line-height: 1.3; text-align: center; margin: 1em auto; color: #000000;
+            background-color: #ffffff }\ndiv.htsql-welcome > h1 { font-size: 200%;
+            font-weight: bold; margin: 1px 0 0 }\ndiv.htsql-welcome > p { margin:
+            1px 0 0 }\n</style>\n</head>\n<body>\n<table class=\"htsql-output\" summary=\"\">\n<thead>\n<tr><th
+            class=\"htsql-empty-header\"></th><th>'%01%02%03%04%05%06%07%08%09%0A%0B%0C%0D%0E%0F%10'</th><th>'%11%12%13%14%15%16%17%18%19%1A%1B%1C%1D%1E%1F%7F'</th><th>'\u03BE'</th><th>'\\/%25''\"&amp;&lt;&gt;#'</th><th>''</th></tr>\n</thead>\n<tbody>\n<tr
             class=\"htsql-odd-row\"><td class=\"htsql-index\">1</td><td class=\"htsql-string-type\">\x01\x02\x03\x04\x05\x06\a\b\t\n\v\f\r\x0E\x0F\x10</td><td
             class=\"htsql-string-type\">\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\e\x1C\x1D\x1E\x1F\x7F</td><td
             class=\"htsql-string-type\">\u03BE</td><td class=\"htsql-string-type\">\\/%'\"&amp;&lt;&gt;#</td><td

test/output/oracle.yaml

             <title>school</title>
             <style type="text/css">
             table.htsql-output { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; margin: 1em auto; color: #000000; background-color: #ffffff; border-collapse: collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px 3px rgba(0,0,0,0.25) }
-            table.htsql-output > thead { background-color: #f2f2f2 }
-            table.htsql-output > thead { border-color: #1a1a1a; border-width: 0 0 1px; border-style: solid }
-            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 1px 1px 0; border-style: solid }
+            table.htsql-output > thead { background-color: #f2f2f2; border-bottom: 1px solid #1a1a1a }
+            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top: 1px solid #999999; border-left: 1px solid #999999 }
             table.htsql-output > thead > tr > th.htsql-empty-header:after { content: "\A0" }
             table.htsql-output > tbody > tr.htsql-odd-row { background-color: #ffffff }
             table.htsql-output > tbody > tr.htsql-even-row { background-color: #f2f2f2 }
             table.htsql-output > tbody > tr:hover { color: #ffffff; background-color: #333333 }
-            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 0 1px; border-style: solid; }
-            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
+            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right: 1px solid #999999 }
             table.htsql-output > tbody > tr > td.htsql-integer-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-decimal-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-float-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-empty-value { color: #999999 }
             table.htsql-output > tbody > tr > td.htsql-empty-value:after { content: "\2B1A" }
             table.htsql-output > tbody > tr > td.htsql-false-value { font-style: italic }
-            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-left-style: dashed; border-right-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-section { border-top: 1px dotted #999999 }
+            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-left-style: solid; border-right-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
             div.htsql-welcome { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; text-align: center; margin: 1em auto; color: #000000; background-color: #ffffff }
             div.htsql-welcome > h1 { font-size: 200%; font-weight: bold; margin: 1px 0 0 }
             div.htsql-welcome > p { margin: 1px 0 0 }
             <title>school</title>
             <style type="text/css">
             table.htsql-output { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; margin: 1em auto; color: #000000; background-color: #ffffff; border-collapse: collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px 3px rgba(0,0,0,0.25) }
-            table.htsql-output > thead { background-color: #f2f2f2 }
-            table.htsql-output > thead { border-color: #1a1a1a; border-width: 0 0 1px; border-style: solid }
-            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 1px 1px 0; border-style: solid }
+            table.htsql-output > thead { background-color: #f2f2f2; border-bottom: 1px solid #1a1a1a }
+            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top: 1px solid #999999; border-left: 1px solid #999999 }
             table.htsql-output > thead > tr > th.htsql-empty-header:after { content: "\A0" }
             table.htsql-output > tbody > tr.htsql-odd-row { background-color: #ffffff }
             table.htsql-output > tbody > tr.htsql-even-row { background-color: #f2f2f2 }
             table.htsql-output > tbody > tr:hover { color: #ffffff; background-color: #333333 }
-            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 0 1px; border-style: solid; }
-            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
+            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right: 1px solid #999999 }
             table.htsql-output > tbody > tr > td.htsql-integer-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-decimal-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-float-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-empty-value { color: #999999 }
             table.htsql-output > tbody > tr > td.htsql-empty-value:after { content: "\2B1A" }
             table.htsql-output > tbody > tr > td.htsql-false-value { font-style: italic }
-            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-left-style: dashed; border-right-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-section { border-top: 1px dotted #999999 }
+            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-left-style: solid; border-right-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
             div.htsql-welcome { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; text-align: center; margin: 1em auto; color: #000000; background-color: #ffffff }
             div.htsql-welcome > h1 { font-size: 200%; font-weight: bold; margin: 1px 0 0 }
             div.htsql-welcome > p { margin: 1px 0 0 }
             <title></title>
             <style type="text/css">
             table.htsql-output { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; margin: 1em auto; color: #000000; background-color: #ffffff; border-collapse: collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px 3px rgba(0,0,0,0.25) }
-            table.htsql-output > thead { background-color: #f2f2f2 }
-            table.htsql-output > thead { border-color: #1a1a1a; border-width: 0 0 1px; border-style: solid }
-            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 1px 1px 0; border-style: solid }
+            table.htsql-output > thead { background-color: #f2f2f2; border-bottom: 1px solid #1a1a1a }
+            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top: 1px solid #999999; border-left: 1px solid #999999 }
             table.htsql-output > thead > tr > th.htsql-empty-header:after { content: "\A0" }
             table.htsql-output > tbody > tr.htsql-odd-row { background-color: #ffffff }
             table.htsql-output > tbody > tr.htsql-even-row { background-color: #f2f2f2 }
             table.htsql-output > tbody > tr:hover { color: #ffffff; background-color: #333333 }
-            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 0 1px; border-style: solid; }
-            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
+            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right: 1px solid #999999 }
             table.htsql-output > tbody > tr > td.htsql-integer-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-decimal-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-float-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-empty-value { color: #999999 }
             table.htsql-output > tbody > tr > td.htsql-empty-value:after { content: "\2B1A" }
             table.htsql-output > tbody > tr > td.htsql-false-value { font-style: italic }
-            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-left-style: dashed; border-right-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-section { border-top: 1px dotted #999999 }
+            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-left-style: solid; border-right-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
             div.htsql-welcome { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; text-align: center; margin: 1em auto; color: #000000; background-color: #ffffff }
             div.htsql-welcome > h1 { font-size: 200%; font-weight: bold; margin: 1px 0 0 }
             div.htsql-welcome > p { margin: 1px 0 0 }
             <title>List of Schools</title>
             <style type="text/css">
             table.htsql-output { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; margin: 1em auto; color: #000000; background-color: #ffffff; border-collapse: collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px 3px rgba(0,0,0,0.25) }
-            table.htsql-output > thead { background-color: #f2f2f2 }
-            table.htsql-output > thead { border-color: #1a1a1a; border-width: 0 0 1px; border-style: solid }
-            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 1px 1px 0; border-style: solid }
+            table.htsql-output > thead { background-color: #f2f2f2; border-bottom: 1px solid #1a1a1a }
+            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top: 1px solid #999999; border-left: 1px solid #999999 }
             table.htsql-output > thead > tr > th.htsql-empty-header:after { content: "\A0" }
             table.htsql-output > tbody > tr.htsql-odd-row { background-color: #ffffff }
             table.htsql-output > tbody > tr.htsql-even-row { background-color: #f2f2f2 }
             table.htsql-output > tbody > tr:hover { color: #ffffff; background-color: #333333 }
-            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 0 1px; border-style: solid; }
-            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
+            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right: 1px solid #999999 }
             table.htsql-output > tbody > tr > td.htsql-integer-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-decimal-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-float-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-empty-value { color: #999999 }
             table.htsql-output > tbody > tr > td.htsql-empty-value:after { content: "\2B1A" }
             table.htsql-output > tbody > tr > td.htsql-false-value { font-style: italic }
-            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-left-style: dashed; border-right-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-section { border-top: 1px dotted #999999 }
+            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-left-style: solid; border-right-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
             div.htsql-welcome { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; text-align: center; margin: 1em auto; color: #000000; background-color: #ffffff }
             div.htsql-welcome > h1 { font-size: 200%; font-weight: bold; margin: 1px 0 0 }
             div.htsql-welcome > p { margin: 1px 0 0 }
             <title></title>
             <style type="text/css">
             table.htsql-output { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; margin: 1em auto; color: #000000; background-color: #ffffff; border-collapse: collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px 3px rgba(0,0,0,0.25) }
-            table.htsql-output > thead { background-color: #f2f2f2 }
-            table.htsql-output > thead { border-color: #1a1a1a; border-width: 0 0 1px; border-style: solid }
-            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 1px 1px 0; border-style: solid }
+            table.htsql-output > thead { background-color: #f2f2f2; border-bottom: 1px solid #1a1a1a }
+            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top: 1px solid #999999; border-left: 1px solid #999999 }
             table.htsql-output > thead > tr > th.htsql-empty-header:after { content: "\A0" }
             table.htsql-output > tbody > tr.htsql-odd-row { background-color: #ffffff }
             table.htsql-output > tbody > tr.htsql-even-row { background-color: #f2f2f2 }
             table.htsql-output > tbody > tr:hover { color: #ffffff; background-color: #333333 }
-            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 0 1px; border-style: solid; }
-            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
+            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right: 1px solid #999999 }
             table.htsql-output > tbody > tr > td.htsql-integer-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-decimal-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-float-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-empty-value { color: #999999 }
             table.htsql-output > tbody > tr > td.htsql-empty-value:after { content: "\2B1A" }
             table.htsql-output > tbody > tr > td.htsql-false-value { font-style: italic }
-            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-left-style: dashed; border-right-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-section { border-top: 1px dotted #999999 }
+            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-left-style: solid; border-right-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
             div.htsql-welcome { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; text-align: center; margin: 1em auto; color: #000000; background-color: #ffffff }
             div.htsql-welcome > h1 { font-size: 200%; font-weight: bold; margin: 1px 0 0 }
             div.htsql-welcome > p { margin: 1px 0 0 }
             <title>school</title>
             <style type="text/css">
             table.htsql-output { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; margin: 1em auto; color: #000000; background-color: #ffffff; border-collapse: collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px 3px rgba(0,0,0,0.25) }
-            table.htsql-output > thead { background-color: #f2f2f2 }
-            table.htsql-output > thead { border-color: #1a1a1a; border-width: 0 0 1px; border-style: solid }
-            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 1px 1px 0; border-style: solid }
+            table.htsql-output > thead { background-color: #f2f2f2; border-bottom: 1px solid #1a1a1a }
+            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top: 1px solid #999999; border-left: 1px solid #999999 }
             table.htsql-output > thead > tr > th.htsql-empty-header:after { content: "\A0" }
             table.htsql-output > tbody > tr.htsql-odd-row { background-color: #ffffff }
             table.htsql-output > tbody > tr.htsql-even-row { background-color: #f2f2f2 }
             table.htsql-output > tbody > tr:hover { color: #ffffff; background-color: #333333 }
-            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 0 1px; border-style: solid; }
-            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
+            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right: 1px solid #999999 }
             table.htsql-output > tbody > tr > td.htsql-integer-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-decimal-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-float-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-empty-value { color: #999999 }
             table.htsql-output > tbody > tr > td.htsql-empty-value:after { content: "\2B1A" }
             table.htsql-output > tbody > tr > td.htsql-false-value { font-style: italic }
-            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-left-style: dashed; border-right-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-section { border-top: 1px dotted #999999 }
+            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-left-style: solid; border-right-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
             div.htsql-welcome { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; text-align: center; margin: 1em auto; color: #000000; background-color: #ffffff }
             div.htsql-welcome > h1 { font-size: 200%; font-weight: bold; margin: 1px 0 0 }
             div.htsql-welcome > p { margin: 1px 0 0 }
             <title></title>
             <style type="text/css">
             table.htsql-output { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; margin: 1em auto; color: #000000; background-color: #ffffff; border-collapse: collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px 3px rgba(0,0,0,0.25) }
-            table.htsql-output > thead { background-color: #f2f2f2 }
-            table.htsql-output > thead { border-color: #1a1a1a; border-width: 0 0 1px; border-style: solid }
-            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 1px 1px 0; border-style: solid }
+            table.htsql-output > thead { background-color: #f2f2f2; border-bottom: 1px solid #1a1a1a }
+            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top: 1px solid #999999; border-left: 1px solid #999999 }
             table.htsql-output > thead > tr > th.htsql-empty-header:after { content: "\A0" }
             table.htsql-output > tbody > tr.htsql-odd-row { background-color: #ffffff }
             table.htsql-output > tbody > tr.htsql-even-row { background-color: #f2f2f2 }
             table.htsql-output > tbody > tr:hover { color: #ffffff; background-color: #333333 }
-            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 0 1px; border-style: solid; }
-            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
+            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right: 1px solid #999999 }
             table.htsql-output > tbody > tr > td.htsql-integer-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-decimal-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-float-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-empty-value { color: #999999 }
             table.htsql-output > tbody > tr > td.htsql-empty-value:after { content: "\2B1A" }
             table.htsql-output > tbody > tr > td.htsql-false-value { font-style: italic }
-            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-left-style: dashed; border-right-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-section { border-top: 1px dotted #999999 }
+            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-left-style: solid; border-right-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
             div.htsql-welcome { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; text-align: center; margin: 1em auto; color: #000000; background-color: #ffffff }
             div.htsql-welcome > h1 { font-size: 200%; font-weight: bold; margin: 1px 0 0 }
             div.htsql-welcome > p { margin: 1px 0 0 }
             <title>school</title>
             <style type="text/css">
             table.htsql-output { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; margin: 1em auto; color: #000000; background-color: #ffffff; border-collapse: collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px 3px rgba(0,0,0,0.25) }
-            table.htsql-output > thead { background-color: #f2f2f2 }
-            table.htsql-output > thead { border-color: #1a1a1a; border-width: 0 0 1px; border-style: solid }
-            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 1px 1px 0; border-style: solid }
+            table.htsql-output > thead { background-color: #f2f2f2; border-bottom: 1px solid #1a1a1a }
+            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top: 1px solid #999999; border-left: 1px solid #999999 }
             table.htsql-output > thead > tr > th.htsql-empty-header:after { content: "\A0" }
             table.htsql-output > tbody > tr.htsql-odd-row { background-color: #ffffff }
             table.htsql-output > tbody > tr.htsql-even-row { background-color: #f2f2f2 }
             table.htsql-output > tbody > tr:hover { color: #ffffff; background-color: #333333 }
-            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 0 1px; border-style: solid; }
-            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
+            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right: 1px solid #999999 }
             table.htsql-output > tbody > tr > td.htsql-integer-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-decimal-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-float-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-empty-value { color: #999999 }
             table.htsql-output > tbody > tr > td.htsql-empty-value:after { content: "\2B1A" }
             table.htsql-output > tbody > tr > td.htsql-false-value { font-style: italic }
-            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-left-style: dashed; border-right-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-section { border-top: 1px dotted #999999 }
+            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-left-style: solid; border-right-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
             div.htsql-welcome { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; text-align: center; margin: 1em auto; color: #000000; background-color: #ffffff }
             div.htsql-welcome > h1 { font-size: 200%; font-weight: bold; margin: 1px 0 0 }
             div.htsql-welcome > p { margin: 1px 0 0 }
             <title>department</title>
             <style type="text/css">
             table.htsql-output { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; margin: 1em auto; color: #000000; background-color: #ffffff; border-collapse: collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px 3px rgba(0,0,0,0.25) }
-            table.htsql-output > thead { background-color: #f2f2f2 }
-            table.htsql-output > thead { border-color: #1a1a1a; border-width: 0 0 1px; border-style: solid }
-            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 1px 1px 0; border-style: solid }
+            table.htsql-output > thead { background-color: #f2f2f2; border-bottom: 1px solid #1a1a1a }
+            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top: 1px solid #999999; border-left: 1px solid #999999 }
             table.htsql-output > thead > tr > th.htsql-empty-header:after { content: "\A0" }
             table.htsql-output > tbody > tr.htsql-odd-row { background-color: #ffffff }
             table.htsql-output > tbody > tr.htsql-even-row { background-color: #f2f2f2 }
             table.htsql-output > tbody > tr:hover { color: #ffffff; background-color: #333333 }
-            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 0 1px; border-style: solid; }
-            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
+            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right: 1px solid #999999 }
             table.htsql-output > tbody > tr > td.htsql-integer-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-decimal-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-float-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-empty-value { color: #999999 }
             table.htsql-output > tbody > tr > td.htsql-empty-value:after { content: "\2B1A" }
             table.htsql-output > tbody > tr > td.htsql-false-value { font-style: italic }
-            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-left-style: dashed; border-right-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-section { border-top: 1px dotted #999999 }
+            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-left-style: solid; border-right-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
             div.htsql-welcome { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; text-align: center; margin: 1em auto; color: #000000; background-color: #ffffff }
             div.htsql-welcome > h1 { font-size: 200%; font-weight: bold; margin: 1px 0 0 }
             div.htsql-welcome > p { margin: 1px 0 0 }
             collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25);
             -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px
             3px rgba(0,0,0,0.25) }\ntable.htsql-output > thead { background-color:
-            #f2f2f2 }\ntable.htsql-output > thead { border-color: #1a1a1a; border-width:
-            0 0 1px; border-style: solid }\ntable.htsql-output > thead > tr > th {
-            font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align:
-            bottom; overflow: hidden; word-wrap: break-word; border-color: #999999;
-            border-width: 1px 1px 0; border-style: solid }\ntable.htsql-output > thead
-            > tr > th.htsql-empty-header:after { content: \"\\A0\" }\ntable.htsql-output
+            #f2f2f2; border-bottom: 1px solid #1a1a1a }\ntable.htsql-output > thead
+            > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center;
+            vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top:
+            1px solid #999999; border-left: 1px solid #999999 }\ntable.htsql-output
+            > thead > tr > th.htsql-empty-header:after { content: \"\\A0\" }\ntable.htsql-output
             > tbody > tr.htsql-odd-row { background-color: #ffffff }\ntable.htsql-output
             > tbody > tr.htsql-even-row { background-color: #f2f2f2 }\ntable.htsql-output
             > tbody > tr:hover { color: #ffffff; background-color: #333333 }\ntable.htsql-output
             > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow:
-            hidden; word-wrap: break-word; border-color: #999999; border-width: 0
-            1px; border-style: solid; }\ntable.htsql-output > tbody > tr > td.htsql-index
-            { font-size: 90%; font-weight: bold; text-align: right; width: 0; color:
-            #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select:
-            none; user-select: none }\ntable.htsql-output > tbody > tr > td.htsql-integer-type
+            hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right:
+            1px solid #999999 }\ntable.htsql-output > tbody > tr > td.htsql-integer-type
             { text-align: right }\ntable.htsql-output > tbody > tr > td.htsql-decimal-type
             { text-align: right }\ntable.htsql-output > tbody > tr > td.htsql-float-type
             { text-align: right }\ntable.htsql-output > tbody > tr > td.htsql-null-value:after
             { color: #999999 }\ntable.htsql-output > tbody > tr > td.htsql-empty-value:after
             { content: \"\\2B1A\" }\ntable.htsql-output > tbody > tr > td.htsql-false-value
             { font-style: italic }\ntable.htsql-output > tbody > tr > td.htsql-null-record-value
-            { border-style: dashed }\ndiv.htsql-welcome { font-family: \"Arial\",
-            sans-serif; font-size: 13px; line-height: 1.3; text-align: center; margin:
-            1em auto; color: #000000; background-color: #ffffff }\ndiv.htsql-welcome
-            > h1 { font-size: 200%; font-weight: bold; margin: 1px 0 0 }\ndiv.htsql-welcome
-            > p { margin: 1px 0 0 }\n</style>\n</head>\n<body>\n<table class=\"htsql-output\"
-            summary=\"\">\n<thead>\n<tr><th class=\"htsql-empty-header\"></th><th>'%01%02%03%04%05%06%07%08%09%0A%0B%0C%0D%0E%0F%10'</th><th>'%11%12%13%14%15%16%17%18%19%1A%1B%1C%1D%1E%1F%7F'</th><th>'\u03BE'</th><th>'\\/%25''\"&amp;&lt;&gt;#'</th><th>''</th></tr>\n</thead>\n<tbody>\n<tr
+            { border-left-style: dashed; border-right-style: dashed }\ntable.htsql-output
+            > tbody > tr > td.htsql-section { border-top: 1px dotted #999999 }\ntable.htsql-output
+            > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align:
+            right; width: 0; color: #999999; border-left-style: solid; border-right-color:
+            #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select:
+            none }\ndiv.htsql-welcome { font-family: \"Arial\", sans-serif; font-size:
+            13px; line-height: 1.3; text-align: center; margin: 1em auto; color: #000000;
+            background-color: #ffffff }\ndiv.htsql-welcome > h1 { font-size: 200%;
+            font-weight: bold; margin: 1px 0 0 }\ndiv.htsql-welcome > p { margin:
+            1px 0 0 }\n</style>\n</head>\n<body>\n<table class=\"htsql-output\" summary=\"\">\n<thead>\n<tr><th
+            class=\"htsql-empty-header\"></th><th>'%01%02%03%04%05%06%07%08%09%0A%0B%0C%0D%0E%0F%10'</th><th>'%11%12%13%14%15%16%17%18%19%1A%1B%1C%1D%1E%1F%7F'</th><th>'\u03BE'</th><th>'\\/%25''\"&amp;&lt;&gt;#'</th><th>''</th></tr>\n</thead>\n<tbody>\n<tr
             class=\"htsql-odd-row\"><td class=\"htsql-index\">1</td><td class=\"htsql-string-type\">\x01\x02\x03\x04\x05\x06\a\b\t\n\v\f\r\x0E\x0F\x10</td><td
             class=\"htsql-string-type\">\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\e\x1C\x1D\x1E\x1F\x7F</td><td
             class=\"htsql-string-type\">\u03BE</td><td class=\"htsql-string-type\">\\/%'\"&amp;&lt;&gt;#</td><td

test/output/pgsql.yaml

             <title>school</title>
             <style type="text/css">
             table.htsql-output { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; margin: 1em auto; color: #000000; background-color: #ffffff; border-collapse: collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px 3px rgba(0,0,0,0.25) }
-            table.htsql-output > thead { background-color: #f2f2f2 }
-            table.htsql-output > thead { border-color: #1a1a1a; border-width: 0 0 1px; border-style: solid }
-            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 1px 1px 0; border-style: solid }
+            table.htsql-output > thead { background-color: #f2f2f2; border-bottom: 1px solid #1a1a1a }
+            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top: 1px solid #999999; border-left: 1px solid #999999 }
             table.htsql-output > thead > tr > th.htsql-empty-header:after { content: "\A0" }
             table.htsql-output > tbody > tr.htsql-odd-row { background-color: #ffffff }
             table.htsql-output > tbody > tr.htsql-even-row { background-color: #f2f2f2 }
             table.htsql-output > tbody > tr:hover { color: #ffffff; background-color: #333333 }
-            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 0 1px; border-style: solid; }
-            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
+            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right: 1px solid #999999 }
             table.htsql-output > tbody > tr > td.htsql-integer-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-decimal-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-float-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-empty-value { color: #999999 }
             table.htsql-output > tbody > tr > td.htsql-empty-value:after { content: "\2B1A" }
             table.htsql-output > tbody > tr > td.htsql-false-value { font-style: italic }
-            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-left-style: dashed; border-right-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-section { border-top: 1px dotted #999999 }
+            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-left-style: solid; border-right-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
             div.htsql-welcome { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; text-align: center; margin: 1em auto; color: #000000; background-color: #ffffff }
             div.htsql-welcome > h1 { font-size: 200%; font-weight: bold; margin: 1px 0 0 }
             div.htsql-welcome > p { margin: 1px 0 0 }
             <title>school</title>
             <style type="text/css">
             table.htsql-output { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; margin: 1em auto; color: #000000; background-color: #ffffff; border-collapse: collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px 3px rgba(0,0,0,0.25) }
-            table.htsql-output > thead { background-color: #f2f2f2 }
-            table.htsql-output > thead { border-color: #1a1a1a; border-width: 0 0 1px; border-style: solid }
-            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 1px 1px 0; border-style: solid }
+            table.htsql-output > thead { background-color: #f2f2f2; border-bottom: 1px solid #1a1a1a }
+            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top: 1px solid #999999; border-left: 1px solid #999999 }
             table.htsql-output > thead > tr > th.htsql-empty-header:after { content: "\A0" }
             table.htsql-output > tbody > tr.htsql-odd-row { background-color: #ffffff }
             table.htsql-output > tbody > tr.htsql-even-row { background-color: #f2f2f2 }
             table.htsql-output > tbody > tr:hover { color: #ffffff; background-color: #333333 }
-            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 0 1px; border-style: solid; }
-            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
+            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right: 1px solid #999999 }
             table.htsql-output > tbody > tr > td.htsql-integer-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-decimal-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-float-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-empty-value { color: #999999 }
             table.htsql-output > tbody > tr > td.htsql-empty-value:after { content: "\2B1A" }
             table.htsql-output > tbody > tr > td.htsql-false-value { font-style: italic }
-            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-left-style: dashed; border-right-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-section { border-top: 1px dotted #999999 }
+            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-left-style: solid; border-right-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
             div.htsql-welcome { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; text-align: center; margin: 1em auto; color: #000000; background-color: #ffffff }
             div.htsql-welcome > h1 { font-size: 200%; font-weight: bold; margin: 1px 0 0 }
             div.htsql-welcome > p { margin: 1px 0 0 }
             <title></title>
             <style type="text/css">
             table.htsql-output { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; margin: 1em auto; color: #000000; background-color: #ffffff; border-collapse: collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px 3px rgba(0,0,0,0.25) }
-            table.htsql-output > thead { background-color: #f2f2f2 }
-            table.htsql-output > thead { border-color: #1a1a1a; border-width: 0 0 1px; border-style: solid }
-            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 1px 1px 0; border-style: solid }
+            table.htsql-output > thead { background-color: #f2f2f2; border-bottom: 1px solid #1a1a1a }
+            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top: 1px solid #999999; border-left: 1px solid #999999 }
             table.htsql-output > thead > tr > th.htsql-empty-header:after { content: "\A0" }
             table.htsql-output > tbody > tr.htsql-odd-row { background-color: #ffffff }
             table.htsql-output > tbody > tr.htsql-even-row { background-color: #f2f2f2 }
             table.htsql-output > tbody > tr:hover { color: #ffffff; background-color: #333333 }
-            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 0 1px; border-style: solid; }
-            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
+            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right: 1px solid #999999 }
             table.htsql-output > tbody > tr > td.htsql-integer-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-decimal-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-float-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-empty-value { color: #999999 }
             table.htsql-output > tbody > tr > td.htsql-empty-value:after { content: "\2B1A" }
             table.htsql-output > tbody > tr > td.htsql-false-value { font-style: italic }
-            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-left-style: dashed; border-right-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-section { border-top: 1px dotted #999999 }
+            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-left-style: solid; border-right-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
             div.htsql-welcome { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; text-align: center; margin: 1em auto; color: #000000; background-color: #ffffff }
             div.htsql-welcome > h1 { font-size: 200%; font-weight: bold; margin: 1px 0 0 }
             div.htsql-welcome > p { margin: 1px 0 0 }
             <title>List of Schools</title>
             <style type="text/css">
             table.htsql-output { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; margin: 1em auto; color: #000000; background-color: #ffffff; border-collapse: collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px 3px rgba(0,0,0,0.25) }
-            table.htsql-output > thead { background-color: #f2f2f2 }
-            table.htsql-output > thead { border-color: #1a1a1a; border-width: 0 0 1px; border-style: solid }
-            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 1px 1px 0; border-style: solid }
+            table.htsql-output > thead { background-color: #f2f2f2; border-bottom: 1px solid #1a1a1a }
+            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top: 1px solid #999999; border-left: 1px solid #999999 }
             table.htsql-output > thead > tr > th.htsql-empty-header:after { content: "\A0" }
             table.htsql-output > tbody > tr.htsql-odd-row { background-color: #ffffff }
             table.htsql-output > tbody > tr.htsql-even-row { background-color: #f2f2f2 }
             table.htsql-output > tbody > tr:hover { color: #ffffff; background-color: #333333 }
-            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 0 1px; border-style: solid; }
-            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
+            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right: 1px solid #999999 }
             table.htsql-output > tbody > tr > td.htsql-integer-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-decimal-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-float-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-empty-value { color: #999999 }
             table.htsql-output > tbody > tr > td.htsql-empty-value:after { content: "\2B1A" }
             table.htsql-output > tbody > tr > td.htsql-false-value { font-style: italic }
-            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-left-style: dashed; border-right-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-section { border-top: 1px dotted #999999 }
+            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-left-style: solid; border-right-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
             div.htsql-welcome { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; text-align: center; margin: 1em auto; color: #000000; background-color: #ffffff }
             div.htsql-welcome > h1 { font-size: 200%; font-weight: bold; margin: 1px 0 0 }
             div.htsql-welcome > p { margin: 1px 0 0 }
             <title></title>
             <style type="text/css">
             table.htsql-output { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; margin: 1em auto; color: #000000; background-color: #ffffff; border-collapse: collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px 3px rgba(0,0,0,0.25) }
-            table.htsql-output > thead { background-color: #f2f2f2 }
-            table.htsql-output > thead { border-color: #1a1a1a; border-width: 0 0 1px; border-style: solid }
-            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 1px 1px 0; border-style: solid }
+            table.htsql-output > thead { background-color: #f2f2f2; border-bottom: 1px solid #1a1a1a }
+            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top: 1px solid #999999; border-left: 1px solid #999999 }
             table.htsql-output > thead > tr > th.htsql-empty-header:after { content: "\A0" }
             table.htsql-output > tbody > tr.htsql-odd-row { background-color: #ffffff }
             table.htsql-output > tbody > tr.htsql-even-row { background-color: #f2f2f2 }
             table.htsql-output > tbody > tr:hover { color: #ffffff; background-color: #333333 }
-            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 0 1px; border-style: solid; }
-            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
+            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right: 1px solid #999999 }
             table.htsql-output > tbody > tr > td.htsql-integer-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-decimal-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-float-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-empty-value { color: #999999 }
             table.htsql-output > tbody > tr > td.htsql-empty-value:after { content: "\2B1A" }
             table.htsql-output > tbody > tr > td.htsql-false-value { font-style: italic }
-            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-left-style: dashed; border-right-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-section { border-top: 1px dotted #999999 }
+            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-left-style: solid; border-right-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
             div.htsql-welcome { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; text-align: center; margin: 1em auto; color: #000000; background-color: #ffffff }
             div.htsql-welcome > h1 { font-size: 200%; font-weight: bold; margin: 1px 0 0 }
             div.htsql-welcome > p { margin: 1px 0 0 }
             <title>school</title>
             <style type="text/css">
             table.htsql-output { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; margin: 1em auto; color: #000000; background-color: #ffffff; border-collapse: collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px 3px rgba(0,0,0,0.25) }
-            table.htsql-output > thead { background-color: #f2f2f2 }
-            table.htsql-output > thead { border-color: #1a1a1a; border-width: 0 0 1px; border-style: solid }
-            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 1px 1px 0; border-style: solid }
+            table.htsql-output > thead { background-color: #f2f2f2; border-bottom: 1px solid #1a1a1a }
+            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top: 1px solid #999999; border-left: 1px solid #999999 }
             table.htsql-output > thead > tr > th.htsql-empty-header:after { content: "\A0" }
             table.htsql-output > tbody > tr.htsql-odd-row { background-color: #ffffff }
             table.htsql-output > tbody > tr.htsql-even-row { background-color: #f2f2f2 }
             table.htsql-output > tbody > tr:hover { color: #ffffff; background-color: #333333 }
-            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 0 1px; border-style: solid; }
-            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
+            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right: 1px solid #999999 }
             table.htsql-output > tbody > tr > td.htsql-integer-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-decimal-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-float-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-empty-value { color: #999999 }
             table.htsql-output > tbody > tr > td.htsql-empty-value:after { content: "\2B1A" }
             table.htsql-output > tbody > tr > td.htsql-false-value { font-style: italic }
-            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-left-style: dashed; border-right-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-section { border-top: 1px dotted #999999 }
+            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-left-style: solid; border-right-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
             div.htsql-welcome { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; text-align: center; margin: 1em auto; color: #000000; background-color: #ffffff }
             div.htsql-welcome > h1 { font-size: 200%; font-weight: bold; margin: 1px 0 0 }
             div.htsql-welcome > p { margin: 1px 0 0 }
             <title></title>
             <style type="text/css">
             table.htsql-output { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; margin: 1em auto; color: #000000; background-color: #ffffff; border-collapse: collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px 3px rgba(0,0,0,0.25) }
-            table.htsql-output > thead { background-color: #f2f2f2 }
-            table.htsql-output > thead { border-color: #1a1a1a; border-width: 0 0 1px; border-style: solid }
-            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 1px 1px 0; border-style: solid }
+            table.htsql-output > thead { background-color: #f2f2f2; border-bottom: 1px solid #1a1a1a }
+            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top: 1px solid #999999; border-left: 1px solid #999999 }
             table.htsql-output > thead > tr > th.htsql-empty-header:after { content: "\A0" }
             table.htsql-output > tbody > tr.htsql-odd-row { background-color: #ffffff }
             table.htsql-output > tbody > tr.htsql-even-row { background-color: #f2f2f2 }
             table.htsql-output > tbody > tr:hover { color: #ffffff; background-color: #333333 }
-            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 0 1px; border-style: solid; }
-            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
+            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right: 1px solid #999999 }
             table.htsql-output > tbody > tr > td.htsql-integer-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-decimal-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-float-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-empty-value { color: #999999 }
             table.htsql-output > tbody > tr > td.htsql-empty-value:after { content: "\2B1A" }
             table.htsql-output > tbody > tr > td.htsql-false-value { font-style: italic }
-            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-left-style: dashed; border-right-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-section { border-top: 1px dotted #999999 }
+            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-left-style: solid; border-right-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
             div.htsql-welcome { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; text-align: center; margin: 1em auto; color: #000000; background-color: #ffffff }
             div.htsql-welcome > h1 { font-size: 200%; font-weight: bold; margin: 1px 0 0 }
             div.htsql-welcome > p { margin: 1px 0 0 }
             <title>school</title>
             <style type="text/css">
             table.htsql-output { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; margin: 1em auto; color: #000000; background-color: #ffffff; border-collapse: collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px 3px rgba(0,0,0,0.25) }
-            table.htsql-output > thead { background-color: #f2f2f2 }
-            table.htsql-output > thead { border-color: #1a1a1a; border-width: 0 0 1px; border-style: solid }
-            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 1px 1px 0; border-style: solid }
+            table.htsql-output > thead { background-color: #f2f2f2; border-bottom: 1px solid #1a1a1a }
+            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top: 1px solid #999999; border-left: 1px solid #999999 }
             table.htsql-output > thead > tr > th.htsql-empty-header:after { content: "\A0" }
             table.htsql-output > tbody > tr.htsql-odd-row { background-color: #ffffff }
             table.htsql-output > tbody > tr.htsql-even-row { background-color: #f2f2f2 }
             table.htsql-output > tbody > tr:hover { color: #ffffff; background-color: #333333 }
-            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 0 1px; border-style: solid; }
-            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
+            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right: 1px solid #999999 }
             table.htsql-output > tbody > tr > td.htsql-integer-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-decimal-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-float-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-empty-value { color: #999999 }
             table.htsql-output > tbody > tr > td.htsql-empty-value:after { content: "\2B1A" }
             table.htsql-output > tbody > tr > td.htsql-false-value { font-style: italic }
-            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-left-style: dashed; border-right-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-section { border-top: 1px dotted #999999 }
+            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-left-style: solid; border-right-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
             div.htsql-welcome { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; text-align: center; margin: 1em auto; color: #000000; background-color: #ffffff }
             div.htsql-welcome > h1 { font-size: 200%; font-weight: bold; margin: 1px 0 0 }
             div.htsql-welcome > p { margin: 1px 0 0 }
             <title>department</title>
             <style type="text/css">
             table.htsql-output { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; margin: 1em auto; color: #000000; background-color: #ffffff; border-collapse: collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px 3px rgba(0,0,0,0.25) }
-            table.htsql-output > thead { background-color: #f2f2f2 }
-            table.htsql-output > thead { border-color: #1a1a1a; border-width: 0 0 1px; border-style: solid }
-            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 1px 1px 0; border-style: solid }
+            table.htsql-output > thead { background-color: #f2f2f2; border-bottom: 1px solid #1a1a1a }
+            table.htsql-output > thead > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top: 1px solid #999999; border-left: 1px solid #999999 }
             table.htsql-output > thead > tr > th.htsql-empty-header:after { content: "\A0" }
             table.htsql-output > tbody > tr.htsql-odd-row { background-color: #ffffff }
             table.htsql-output > tbody > tr.htsql-even-row { background-color: #f2f2f2 }
             table.htsql-output > tbody > tr:hover { color: #ffffff; background-color: #333333 }
-            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-color: #999999; border-width: 0 1px; border-style: solid; }
-            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
+            table.htsql-output > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow: hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right: 1px solid #999999 }
             table.htsql-output > tbody > tr > td.htsql-integer-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-decimal-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-float-type { text-align: right }
             table.htsql-output > tbody > tr > td.htsql-empty-value { color: #999999 }
             table.htsql-output > tbody > tr > td.htsql-empty-value:after { content: "\2B1A" }
             table.htsql-output > tbody > tr > td.htsql-false-value { font-style: italic }
-            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-null-record-value { border-left-style: dashed; border-right-style: dashed }
+            table.htsql-output > tbody > tr > td.htsql-section { border-top: 1px dotted #999999 }
+            table.htsql-output > tbody > tr > td.htsql-index { font-size: 90%; font-weight: bold; text-align: right; width: 0; color: #999999; border-left-style: solid; border-right-color: #1a1a1a; -moz-user-select: none; -webkit-user-select: none; user-select: none }
             div.htsql-welcome { font-family: "Arial", sans-serif; font-size: 13px; line-height: 1.3; text-align: center; margin: 1em auto; color: #000000; background-color: #ffffff }
             div.htsql-welcome > h1 { font-size: 200%; font-weight: bold; margin: 1px 0 0 }
             div.htsql-welcome > p { margin: 1px 0 0 }
             collapse; border: 1px double #f2f2f2; -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25);
             -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px
             3px rgba(0,0,0,0.25) }\ntable.htsql-output > thead { background-color:
-            #f2f2f2 }\ntable.htsql-output > thead { border-color: #1a1a1a; border-width:
-            0 0 1px; border-style: solid }\ntable.htsql-output > thead > tr > th {
-            font-weight: bold; padding: 0.2em 0.5em; text-align: center; vertical-align:
-            bottom; overflow: hidden; word-wrap: break-word; border-color: #999999;
-            border-width: 1px 1px 0; border-style: solid }\ntable.htsql-output > thead
-            > tr > th.htsql-empty-header:after { content: \"\\A0\" }\ntable.htsql-output
+            #f2f2f2; border-bottom: 1px solid #1a1a1a }\ntable.htsql-output > thead
+            > tr > th { font-weight: bold; padding: 0.2em 0.5em; text-align: center;
+            vertical-align: bottom; overflow: hidden; word-wrap: break-word; border-top:
+            1px solid #999999; border-left: 1px solid #999999 }\ntable.htsql-output
+            > thead > tr > th.htsql-empty-header:after { content: \"\\A0\" }\ntable.htsql-output
             > tbody > tr.htsql-odd-row { background-color: #ffffff }\ntable.htsql-output
             > tbody > tr.htsql-even-row { background-color: #f2f2f2 }\ntable.htsql-output
             > tbody > tr:hover { color: #ffffff; background-color: #333333 }\ntable.htsql-output
             > tbody > tr > td { padding: 0.2em 0.5em; vertical-align: baseline; overflow:
-            hidden; word-wrap: break-word; border-color: #999999; border-width: 0
-            1px; border-style: solid; }\ntable.htsql-output > tbody > tr > td.htsql-index
-            { font-size: 90%; font-weight: bold; text-align: right; width: 0; color:
-            #999999; border-color: #1a1a1a; -moz-user-select: none; -webkit-user-select:
-            none; user-select: none }\ntable.htsql-output > tbody > tr > td.htsql-integer-type
+            hidden; word-wrap: break-word; border-left: 1px solid #999999; border-right:
+            1px solid #999999 }\ntable.htsql-output > tbody > tr > td.htsql-integer-type
             { text-align: right }\ntable.htsql-output > tbody > tr > td.htsql-decimal-type
             { text-align: right }\ntable.htsql-output > tbody > tr > td.htsql-float-type
             { text-align: right }\ntable.htsql-output > tbody > tr > td.htsql-null-value:after