Index: stylesheets/lfs-xsl/docbook-xsl-1.78.1/slides/schema/xsd/htmltbl.xsd
===================================================================
--- stylesheets/lfs-xsl/docbook-xsl-1.78.1/slides/schema/xsd/htmltbl.xsd	(revision 15c7d39533a1eb1da0748011f3378fd0f02ed14d)
+++ stylesheets/lfs-xsl/docbook-xsl-1.78.1/slides/schema/xsd/htmltbl.xsd	(revision 15c7d39533a1eb1da0748011f3378fd0f02ed14d)
@@ -0,0 +1,536 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  This file is part of DocBook V5.0
+  
+  Copyright 1992-2008 HaL Computer Systems, Inc.,
+  O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
+  Corporation, Norman Walsh, Sun Microsystems, Inc., and the
+  Organization for the Advancement of Structured Information
+  Standards (OASIS).
+  
+  Release: $Id: htmltbl.rnc 8931 2010-10-20 13:29:20Z nwalsh $
+  
+  Permission to use, copy, modify and distribute the DocBook schema
+  and its accompanying documentation for any purpose and without fee
+  is hereby granted in perpetuity, provided that the above copyright
+  notice and this paragraph appear in all copies. The copyright
+  holders make no representation about the suitability of the schema
+  for any purpose. It is provided "as is" without expressed or implied
+  warranty.
+  
+  If you modify the DocBook schema in any way, label your schema as a
+  variant of DocBook. See the reference documentation
+  (http://docbook.org/tdg5/en/html/ch05.html#s-notdocbook)
+  for more information.
+  
+  Please direct all questions, bug reports, or suggestions for changes
+  to the docbook@lists.oasis-open.org mailing list. For more
+  information, see http://www.oasis-open.org/docbook/.
+  
+  ======================================================================
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://docbook.org/ns/docbook" xmlns:dbs="http://docbook.org/ns/docbook-slides" xmlns:db="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <xs:import namespace="http://docbook.org/ns/docbook-slides" schemaLocation="slides.xsd"/>
+  <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="xlink.xsd"/>
+  <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>
+  <xs:attributeGroup name="db.html.coreattrs">
+    <xs:attribute name="class"/>
+    <xs:attribute name="style"/>
+    <xs:attribute name="title"/>
+  </xs:attributeGroup>
+  <!-- dir isn't listed here because it's already a common attribute -->
+  <xs:attributeGroup name="db.html.i18n">
+    <xs:attribute name="lang"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.html.events">
+    <xs:attribute name="onclick"/>
+    <xs:attribute name="ondblclick"/>
+    <xs:attribute name="onmousedown"/>
+    <xs:attribute name="onmouseup"/>
+    <xs:attribute name="onmouseover"/>
+    <xs:attribute name="onmousemove"/>
+    <xs:attribute name="onmouseout"/>
+    <xs:attribute name="onkeypress"/>
+    <xs:attribute name="onkeydown"/>
+    <xs:attribute name="onkeyup"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.html.attrs">
+    <xs:attributeGroup ref="dbs:db.common.attributes"/>
+    <xs:attributeGroup ref="db:db.html.coreattrs"/>
+    <xs:attributeGroup ref="db:db.html.i18n"/>
+    <xs:attributeGroup ref="db:db.html.events"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.html.cellhalign">
+    <xs:attribute name="align">
+      <xs:simpleType>
+        <xs:restriction base="xs:token">
+          <xs:enumeration value="left">
+            <xs:annotation>
+              <xs:documentation>Left-flush data/Left-justify text. This is the default value for table data.</xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="center">
+            <xs:annotation>
+              <xs:documentation>Center data/Center-justify text. This is the default value for table headers.</xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="right">
+            <xs:annotation>
+              <xs:documentation>Right-flush data/Right-justify text.</xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="justify">
+            <xs:annotation>
+              <xs:documentation>Double-justify text.</xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="char">
+            <xs:annotation>
+              <xs:documentation>Align text around a specific character. If a user agent doesn't support character alignment, behavior in the presence of this value is unspecified.</xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+    <xs:attribute name="char"/>
+    <xs:attribute name="charoff">
+      <xs:simpleType>
+        <xs:union memberTypes="xs:integer">
+          <xs:simpleType>
+            <xs:restriction base="xs:string">
+              <xs:pattern value="[0-9]+%"/>
+            </xs:restriction>
+          </xs:simpleType>
+        </xs:union>
+      </xs:simpleType>
+    </xs:attribute>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.html.cellvalign">
+    <xs:attribute name="valign">
+      <xs:simpleType>
+        <xs:restriction base="xs:token">
+          <xs:enumeration value="top">
+            <xs:annotation>
+              <xs:documentation>Cell data is flush with the top of the cell.</xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="middle">
+            <xs:annotation>
+              <xs:documentation>Cell data is centered vertically within the cell. This is the default value.</xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="bottom">
+            <xs:annotation>
+              <xs:documentation>Cell data is flush with the bottom of the cell.</xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="baseline">
+            <xs:annotation>
+              <xs:documentation>All cells in the same row as a cell whose valign attribute has this value should have their textual data positioned so that the first text line occurs on a baseline common to all cells in the row. This constraint does not apply to subsequent text lines in these cells.</xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.html.table.attributes">
+    <xs:attribute name="summary"/>
+    <xs:attribute name="width">
+      <xs:simpleType>
+        <xs:union memberTypes="xs:integer">
+          <xs:simpleType>
+            <xs:restriction base="xs:string">
+              <xs:pattern value="[0-9]+%"/>
+            </xs:restriction>
+          </xs:simpleType>
+        </xs:union>
+      </xs:simpleType>
+    </xs:attribute>
+    <xs:attribute name="border" type="xs:nonNegativeInteger"/>
+    <xs:attribute name="frame">
+      <xs:simpleType>
+        <xs:restriction base="xs:token">
+          <xs:enumeration value="void">
+            <xs:annotation>
+              <xs:documentation>No sides. This is the default value.</xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="above">
+            <xs:annotation>
+              <xs:documentation>The top side only.</xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="below">
+            <xs:annotation>
+              <xs:documentation>The bottom side only.</xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="hsides">
+            <xs:annotation>
+              <xs:documentation>The top and bottom sides only.</xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="lhs">
+            <xs:annotation>
+              <xs:documentation>The left-hand side only.</xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="rhs">
+            <xs:annotation>
+              <xs:documentation>The right-hand side only.</xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="vsides">
+            <xs:annotation>
+              <xs:documentation>The right and left sides only.</xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="box">
+            <xs:annotation>
+              <xs:documentation>All four sides.</xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="border">
+            <xs:annotation>
+              <xs:documentation>All four sides.</xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+    <xs:attribute name="rules">
+      <xs:simpleType>
+        <xs:restriction base="xs:token">
+          <xs:enumeration value="none">
+            <xs:annotation>
+              <xs:documentation>No rules. This is the default value.</xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="groups">
+            <xs:annotation>
+              <xs:documentation>Rules will appear between row groups (see thead, tfoot, and tbody) and column groups (see colgroup and col) only.</xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="rows">
+            <xs:annotation>
+              <xs:documentation>Rules will appear between rows only.</xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="cols">
+            <xs:annotation>
+              <xs:documentation>Rules will appear between columns only.</xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="all">
+            <xs:annotation>
+              <xs:documentation>Rules will appear between all rows and columns.</xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+    <xs:attribute name="cellspacing">
+      <xs:simpleType>
+        <xs:union memberTypes="xs:integer">
+          <xs:simpleType>
+            <xs:restriction base="xs:string">
+              <xs:pattern value="[0-9]+%"/>
+            </xs:restriction>
+          </xs:simpleType>
+        </xs:union>
+      </xs:simpleType>
+    </xs:attribute>
+    <xs:attribute name="cellpadding">
+      <xs:simpleType>
+        <xs:union memberTypes="xs:integer">
+          <xs:simpleType>
+            <xs:restriction base="xs:string">
+              <xs:pattern value="[0-9]+%"/>
+            </xs:restriction>
+          </xs:simpleType>
+        </xs:union>
+      </xs:simpleType>
+    </xs:attribute>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.html.tablecell.attributes">
+    <xs:attribute name="abbr"/>
+    <xs:attribute name="axis"/>
+    <xs:attribute name="headers"/>
+    <xs:attribute name="scope">
+      <xs:simpleType>
+        <xs:restriction base="xs:token">
+          <xs:enumeration value="row">
+            <xs:annotation>
+              <xs:documentation>The current cell provides header information for the rest of the row that contains it</xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="col">
+            <xs:annotation>
+              <xs:documentation>The current cell provides header information for the rest of the column that contains it.</xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="rowgroup">
+            <xs:annotation>
+              <xs:documentation>The header cell provides header information for the rest of the row group that contains it.</xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="colgroup">
+            <xs:annotation>
+              <xs:documentation>The header cell provides header information for the rest of the column group that contains it.</xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+    <xs:attribute name="rowspan" type="xs:nonNegativeInteger"/>
+    <xs:attribute name="colspan" type="xs:nonNegativeInteger"/>
+  </xs:attributeGroup>
+  <xs:group name="db.html.table.info">
+    <xs:sequence>
+      <xs:group ref="db:db._info.title.forbidden"/>
+    </xs:sequence>
+  </xs:group>
+  <xs:complexType name="db.html.table.model">
+    <xs:sequence>
+      <xs:group minOccurs="0" ref="db:db.html.table.info"/>
+      <xs:group ref="db:db.html.caption"/>
+      <xs:choice>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:col"/>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:colgroup"/>
+      </xs:choice>
+      <xs:group minOccurs="0" ref="db:db.html.thead"/>
+      <xs:group minOccurs="0" ref="db:db.html.tfoot"/>
+      <xs:choice>
+        <xs:group maxOccurs="unbounded" ref="db:db.html.tbody"/>
+        <xs:element maxOccurs="unbounded" ref="db:tr"/>
+      </xs:choice>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:group name="db.html.informaltable.info">
+    <xs:sequence>
+      <xs:group ref="db:db._info.title.forbidden"/>
+    </xs:sequence>
+  </xs:group>
+  <xs:complexType name="db.html.informaltable.model">
+    <xs:sequence>
+      <xs:group minOccurs="0" ref="db:db.html.informaltable.info"/>
+      <xs:choice>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:col"/>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:colgroup"/>
+      </xs:choice>
+      <xs:group minOccurs="0" ref="db:db.html.thead"/>
+      <xs:group minOccurs="0" ref="db:db.html.tfoot"/>
+      <xs:choice>
+        <xs:group maxOccurs="unbounded" ref="db:db.html.tbody"/>
+        <xs:element maxOccurs="unbounded" ref="db:tr"/>
+      </xs:choice>
+    </xs:sequence>
+  </xs:complexType>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.html.table.role.attribute">
+    <xs:attribute name="role" use="required"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.html.table.label.attribute">
+    <xs:attributeGroup ref="db:db.label.attribute"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.html.table.attlist">
+    <xs:attributeGroup ref="db:db.html.attrs"/>
+    <xs:attributeGroup ref="db:db.html.table.attributes"/>
+    <xs:attribute name="role"/>
+    <xs:attribute name="label"/>
+    <xs:attribute name="orient">
+      <xs:simpleType>
+        <xs:restriction base="xs:token">
+          <xs:enumeration value="land">
+            <xs:annotation>
+              <xs:documentation>90 degrees counter-clockwise from the rest of the text flow.</xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="port">
+            <xs:annotation>
+              <xs:documentation>The same orientation as the rest of the text flow.</xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+    <xs:attribute name="pgwide" type="db:db.pgwide.enumeration"/>
+    <xs:attribute name="tabstyle"/>
+    <xs:attribute name="floatstyle"/>
+  </xs:attributeGroup>
+  <xs:group name="db.html.table">
+    <xs:sequence>
+      <xs:element name="table">
+        <xs:complexType>
+          <xs:complexContent>
+            <xs:extension base="db:db.html.table.model">
+              <xs:attributeGroup ref="db:db.html.table.attlist"/>
+            </xs:extension>
+          </xs:complexContent>
+        </xs:complexType>
+      </xs:element>
+    </xs:sequence>
+  </xs:group>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.html.informaltable.attlist">
+    <xs:attributeGroup ref="db:db.html.attrs"/>
+    <xs:attributeGroup ref="db:db.html.table.attributes"/>
+  </xs:attributeGroup>
+  <xs:group name="db.html.informaltable">
+    <xs:sequence>
+      <xs:element name="informaltable">
+        <xs:complexType>
+          <xs:complexContent>
+            <xs:extension base="db:db.html.informaltable.model">
+              <xs:attributeGroup ref="db:db.html.informaltable.attlist"/>
+            </xs:extension>
+          </xs:complexContent>
+        </xs:complexType>
+      </xs:element>
+    </xs:sequence>
+  </xs:group>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.html.caption.attlist">
+    <xs:attributeGroup ref="db:db.html.attrs"/>
+  </xs:attributeGroup>
+  <xs:group name="db.html.caption">
+    <xs:sequence>
+      <xs:element name="caption">
+        <xs:complexType mixed="true">
+          <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+          <xs:attributeGroup ref="db:db.html.caption.attlist"/>
+        </xs:complexType>
+      </xs:element>
+    </xs:sequence>
+  </xs:group>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.html.col.attlist">
+    <xs:attributeGroup ref="db:db.html.attrs"/>
+    <xs:attribute name="span" type="xs:nonNegativeInteger"/>
+    <xs:attribute name="width"/>
+    <xs:attributeGroup ref="db:db.html.cellhalign"/>
+    <xs:attributeGroup ref="db:db.html.cellvalign"/>
+  </xs:attributeGroup>
+  <xs:element name="col">
+    <xs:complexType>
+      <xs:attributeGroup ref="db:db.html.col.attlist"/>
+    </xs:complexType>
+  </xs:element>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.html.colgroup.attlist">
+    <xs:attributeGroup ref="db:db.html.attrs"/>
+    <xs:attribute name="span" type="xs:nonNegativeInteger"/>
+    <xs:attribute name="width"/>
+    <xs:attributeGroup ref="db:db.html.cellhalign"/>
+    <xs:attributeGroup ref="db:db.html.cellvalign"/>
+  </xs:attributeGroup>
+  <xs:element name="colgroup">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:col"/>
+      </xs:sequence>
+      <xs:attributeGroup ref="db:db.html.colgroup.attlist"/>
+    </xs:complexType>
+  </xs:element>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.html.thead.attlist">
+    <xs:attributeGroup ref="db:db.html.attrs"/>
+    <xs:attributeGroup ref="db:db.html.cellhalign"/>
+    <xs:attributeGroup ref="db:db.html.cellvalign"/>
+  </xs:attributeGroup>
+  <xs:group name="db.html.thead">
+    <xs:sequence>
+      <xs:element name="thead">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element maxOccurs="unbounded" ref="db:tr"/>
+          </xs:sequence>
+          <xs:attributeGroup ref="db:db.html.thead.attlist"/>
+        </xs:complexType>
+      </xs:element>
+    </xs:sequence>
+  </xs:group>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.html.tfoot.attlist">
+    <xs:attributeGroup ref="db:db.html.attrs"/>
+    <xs:attributeGroup ref="db:db.html.cellhalign"/>
+    <xs:attributeGroup ref="db:db.html.cellvalign"/>
+  </xs:attributeGroup>
+  <xs:group name="db.html.tfoot">
+    <xs:sequence>
+      <xs:element name="tfoot">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element maxOccurs="unbounded" ref="db:tr"/>
+          </xs:sequence>
+          <xs:attributeGroup ref="db:db.html.tfoot.attlist"/>
+        </xs:complexType>
+      </xs:element>
+    </xs:sequence>
+  </xs:group>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.html.tbody.attlist">
+    <xs:attributeGroup ref="db:db.html.attrs"/>
+    <xs:attributeGroup ref="db:db.html.cellhalign"/>
+    <xs:attributeGroup ref="db:db.html.cellvalign"/>
+  </xs:attributeGroup>
+  <xs:group name="db.html.tbody">
+    <xs:sequence>
+      <xs:element name="tbody">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element maxOccurs="unbounded" ref="db:tr"/>
+          </xs:sequence>
+          <xs:attributeGroup ref="db:db.html.tbody.attlist"/>
+        </xs:complexType>
+      </xs:element>
+    </xs:sequence>
+  </xs:group>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.html.tr.attlist">
+    <xs:attributeGroup ref="db:db.html.attrs"/>
+    <xs:attributeGroup ref="db:db.html.cellhalign"/>
+    <xs:attributeGroup ref="db:db.html.cellvalign"/>
+  </xs:attributeGroup>
+  <xs:element name="tr">
+    <xs:complexType>
+      <xs:choice maxOccurs="unbounded">
+        <xs:element ref="db:th"/>
+        <xs:element ref="db:td"/>
+      </xs:choice>
+      <xs:attributeGroup ref="db:db.html.tr.attlist"/>
+    </xs:complexType>
+  </xs:element>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.html.th.attlist">
+    <xs:attributeGroup ref="db:db.html.attrs"/>
+    <xs:attributeGroup ref="db:db.html.tablecell.attributes"/>
+    <xs:attributeGroup ref="db:db.html.cellhalign"/>
+    <xs:attributeGroup ref="db:db.html.cellvalign"/>
+  </xs:attributeGroup>
+  <xs:element name="th">
+    <xs:complexType mixed="true">
+      <xs:choice>
+        <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+        <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.blocks"/>
+      </xs:choice>
+      <xs:attributeGroup ref="db:db.html.th.attlist"/>
+    </xs:complexType>
+  </xs:element>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.html.td.attlist">
+    <xs:attributeGroup ref="db:db.html.attrs"/>
+    <xs:attributeGroup ref="db:db.html.tablecell.attributes"/>
+    <xs:attributeGroup ref="db:db.html.cellhalign"/>
+    <xs:attributeGroup ref="db:db.html.cellvalign"/>
+  </xs:attributeGroup>
+  <xs:element name="td">
+    <xs:complexType mixed="true">
+      <xs:choice>
+        <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+        <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.blocks"/>
+      </xs:choice>
+      <xs:attributeGroup ref="db:db.html.td.attlist"/>
+    </xs:complexType>
+  </xs:element>
+</xs:schema>
