I know this might seem insignificant but I noticed that `.mode html` produces output with ALL CAPS HTML element tags like `<TR><TD>foo</TD><TD>bar</TD></TR>`. XHTML requires lowercase tags and it's normative in every HTML5 code-base I have seen to use lowercase tags. Below is a proof-of-concept to fix the issue:
```
Index: src/shell.c.in
==================================================================
--- src/shell.c.in
+++ src/shell.c.in
@@ -2231,26 +2231,26 @@
}
break;
}
case MODE_Html: {
if( p->cnt++==0 && p->showHeader ){
- raw_printf(p->out,"<TR>");
+ raw_printf(p->out,"<tr>");
for(i=0; i<nArg; i++){
- raw_printf(p->out,"<TH>");
+ raw_printf(p->out,"<th>");
output_html_string(p->out, azCol[i]);
- raw_printf(p->out,"</TH>\n");
+ raw_printf(p->out,"</th>\n");
}
- raw_printf(p->out,"</TR>\n");
+ raw_printf(p->out,"</tr>\n");
}
if( azArg==0 ) break;
- raw_printf(p->out,"<TR>");
+ raw_printf(p->out,"<tr>");
for(i=0; i<nArg; i++){
- raw_printf(p->out,"<TD>");
+ raw_printf(p->out,"<td>");
output_html_string(p->out, azArg[i] ? azArg[i] : p->nullValue);
- raw_printf(p->out,"</TD>\n");
+ raw_printf(p->out,"</td>\n");
}
- raw_printf(p->out,"</TR>\n");
+ raw_printf(p->out,"</tr>\n");
break;
}
case MODE_Tcl: {
if( p->cnt++==0 && p->showHeader ){
for(i=0; i<nArg; i++){
```