Index: stylesheets/lfs-xsl/docbook-xsl-1.78.1/slides/schema/xsd/programming.xsd
===================================================================
--- stylesheets/lfs-xsl/docbook-xsl-1.78.1/slides/schema/xsd/programming.xsd	(revision 1fa20991f44328620c35061d502f0a58e052d3cf)
+++ stylesheets/lfs-xsl/docbook-xsl-1.78.1/slides/schema/xsd/programming.xsd	(revision 1fa20991f44328620c35061d502f0a58e052d3cf)
@@ -0,0 +1,749 @@
+<?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: pool.rnc 7466 2007-09-27 14:03:55Z 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:group name="db.programming.inlines">
+    <xs:choice>
+      <xs:element ref="db:function"/>
+      <xs:element ref="db:parameter"/>
+      <xs:element ref="db:varname"/>
+      <xs:element ref="db:returnvalue"/>
+      <xs:element ref="db:type"/>
+      <xs:element ref="db:classname"/>
+      <xs:element ref="db:exceptionname"/>
+      <xs:element ref="db:interfacename"/>
+      <xs:element ref="db:methodname"/>
+      <xs:element ref="db:modifier"/>
+      <xs:element ref="db:initializer"/>
+      <xs:element ref="db:db.oo.inlines"/>
+    </xs:choice>
+  </xs:group>
+  <xs:element name="db.oo.inlines" abstract="true"/>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.synopsis.role.attribute">
+    <xs:attribute name="role" use="required"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.synopsis.label.attribute">
+    <xs:attributeGroup ref="db:db.label.attribute"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.synopsis.attlist">
+    <xs:attribute name="role"/>
+    <xs:attributeGroup ref="dbs:db.common.attributes"/>
+    <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+    <xs:attributeGroup ref="db:db.verbatim.attributes"/>
+    <xs:attribute name="label"/>
+  </xs:attributeGroup>
+  <xs:element name="synopsis" substitutionGroup="db:db.verbatim.blocks">
+    <xs:complexType>
+      <xs:complexContent>
+        <xs:extension base="db:db.verbatim.contentmodel">
+          <xs:attributeGroup ref="db:db.synopsis.attlist"/>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.funcsynopsis.role.attribute">
+    <xs:attribute name="role" use="required"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.funcsynopsis.attlist">
+    <xs:attribute name="role"/>
+    <xs:attributeGroup ref="dbs:db.common.attributes"/>
+    <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+    <xs:attribute name="language"/>
+  </xs:attributeGroup>
+  <xs:group name="db.funcsynopsis.info">
+    <xs:sequence>
+      <xs:group ref="db:db._info.title.forbidden"/>
+    </xs:sequence>
+  </xs:group>
+  <xs:element name="funcsynopsis" substitutionGroup="db:db.synopsis.blocks">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:group ref="db:db.funcsynopsis.info"/>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="db:funcsynopsisinfo"/>
+          <xs:element ref="db:funcprototype"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attributeGroup ref="db:db.funcsynopsis.attlist"/>
+    </xs:complexType>
+  </xs:element>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.funcsynopsisinfo.role.attribute">
+    <xs:attribute name="role" use="required"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.funcsynopsisinfo.attlist">
+    <xs:attribute name="role"/>
+    <xs:attributeGroup ref="dbs:db.common.attributes"/>
+    <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+    <xs:attributeGroup ref="db:db.verbatim.attributes"/>
+  </xs:attributeGroup>
+  <xs:element name="funcsynopsisinfo">
+    <xs:complexType>
+      <xs:complexContent>
+        <xs:extension base="db:db.verbatim.contentmodel">
+          <xs:attributeGroup ref="db:db.funcsynopsisinfo.attlist"/>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.funcprototype.role.attribute">
+    <xs:attribute name="role" use="required"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.funcprototype.attlist">
+    <xs:attribute name="role"/>
+    <xs:attributeGroup ref="dbs:db.common.attributes"/>
+    <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+  </xs:attributeGroup>
+  <xs:element name="funcprototype">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:modifier"/>
+        <xs:element ref="db:funcdef"/>
+        <xs:choice>
+          <xs:element ref="db:void"/>
+          <xs:element ref="db:varargs"/>
+          <xs:sequence>
+            <xs:choice maxOccurs="unbounded">
+              <xs:element ref="db:paramdef"/>
+              <xs:group ref="db:db.group.paramdef"/>
+            </xs:choice>
+            <xs:element minOccurs="0" ref="db:varargs"/>
+          </xs:sequence>
+        </xs:choice>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:modifier"/>
+      </xs:sequence>
+      <xs:attributeGroup ref="db:db.funcprototype.attlist"/>
+    </xs:complexType>
+  </xs:element>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.funcdef.role.attribute">
+    <xs:attribute name="role" use="required"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.funcdef.attlist">
+    <xs:attribute name="role"/>
+    <xs:attributeGroup ref="dbs:db.common.attributes"/>
+    <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+  </xs:attributeGroup>
+  <xs:element name="funcdef">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:group ref="db:db._text"/>
+        <xs:element ref="db:type"/>
+        <xs:element ref="db:function"/>
+      </xs:choice>
+      <xs:attributeGroup ref="db:db.funcdef.attlist"/>
+    </xs:complexType>
+  </xs:element>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.function.role.attribute">
+    <xs:attribute name="role" use="required"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.function.attlist">
+    <xs:attribute name="role"/>
+    <xs:attributeGroup ref="dbs:db.common.attributes"/>
+    <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+  </xs:attributeGroup>
+  <xs:element name="function">
+    <xs:complexType mixed="true">
+      <xs:group ref="db:db._text"/>
+      <xs:attributeGroup ref="db:db.function.attlist"/>
+    </xs:complexType>
+  </xs:element>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.void.role.attribute">
+    <xs:attribute name="role" use="required"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.void.attlist">
+    <xs:attribute name="role"/>
+    <xs:attributeGroup ref="dbs:db.common.attributes"/>
+    <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+  </xs:attributeGroup>
+  <xs:element name="void">
+    <xs:complexType>
+      <xs:attributeGroup ref="db:db.void.attlist"/>
+    </xs:complexType>
+  </xs:element>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.varargs.role.attribute">
+    <xs:attribute name="role" use="required"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.varargs.attlist">
+    <xs:attribute name="role"/>
+    <xs:attributeGroup ref="dbs:db.common.attributes"/>
+    <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+  </xs:attributeGroup>
+  <xs:element name="varargs">
+    <xs:complexType>
+      <xs:attributeGroup ref="db:db.varargs.attlist"/>
+    </xs:complexType>
+  </xs:element>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.group.paramdef.role.attribute">
+    <xs:attribute name="role" use="required"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.group.paramdef.choice.attribute">
+    <xs:attributeGroup ref="db:db.choice.opt.attribute"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.group.paramdef.attlist">
+    <xs:attribute name="role"/>
+    <xs:attributeGroup ref="dbs:db.common.attributes"/>
+    <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+    <xs:attribute name="choice" type="db:db.choice.enumeration"/>
+  </xs:attributeGroup>
+  <xs:group name="db.group.paramdef">
+    <xs:sequence>
+      <xs:element name="group">
+        <xs:complexType>
+          <xs:choice maxOccurs="unbounded">
+            <xs:element ref="db:paramdef"/>
+            <xs:group ref="db:db.group.paramdef"/>
+          </xs:choice>
+          <xs:attributeGroup ref="db:db.group.paramdef.attlist"/>
+        </xs:complexType>
+      </xs:element>
+    </xs:sequence>
+  </xs:group>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.paramdef.role.attribute">
+    <xs:attribute name="role" use="required"/>
+  </xs:attributeGroup>
+  <xs:simpleType name="db.paramdef.choice.enumeration">
+    <xs:restriction base="xs:token">
+      <xs:enumeration value="opt">
+        <xs:annotation>
+          <xs:documentation>Formatted to indicate that it is optional.</xs:documentation>
+        </xs:annotation>
+      </xs:enumeration>
+      <xs:enumeration value="req">
+        <xs:annotation>
+          <xs:documentation>Formatted to indicate that it is required.</xs:documentation>
+        </xs:annotation>
+      </xs:enumeration>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:attributeGroup name="db.paramdef.choice.attribute">
+    <xs:attribute name="choice" use="required" type="db:db.paramdef.choice.enumeration"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.paramdef.attlist">
+    <xs:attribute name="role"/>
+    <xs:attributeGroup ref="dbs:db.common.attributes"/>
+    <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+    <xs:attribute name="choice" type="db:db.paramdef.choice.enumeration"/>
+  </xs:attributeGroup>
+  <xs:element name="paramdef">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:group ref="db:db._text"/>
+        <xs:element ref="db:initializer"/>
+        <xs:element ref="db:type"/>
+        <xs:element ref="db:parameter"/>
+        <xs:element ref="db:funcparams"/>
+      </xs:choice>
+      <xs:attributeGroup ref="db:db.paramdef.attlist"/>
+    </xs:complexType>
+  </xs:element>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.funcparams.role.attribute">
+    <xs:attribute name="role" use="required"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.funcparams.attlist">
+    <xs:attribute name="role"/>
+    <xs:attributeGroup ref="dbs:db.common.attributes"/>
+    <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+  </xs:attributeGroup>
+  <xs:element name="funcparams">
+    <xs:complexType mixed="true">
+      <xs:group ref="db:db._text"/>
+      <xs:attributeGroup ref="db:db.funcparams.attlist"/>
+    </xs:complexType>
+  </xs:element>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.classsynopsis.role.attribute">
+    <xs:attribute name="role" use="required"/>
+  </xs:attributeGroup>
+  <xs:simpleType name="db.classsynopsis.class.enumeration">
+    <xs:restriction base="xs:token">
+      <xs:enumeration value="class">
+        <xs:annotation>
+          <xs:documentation>This is the synopsis of a class</xs:documentation>
+        </xs:annotation>
+      </xs:enumeration>
+      <xs:enumeration value="interface">
+        <xs:annotation>
+          <xs:documentation>This is the synopsis of an interface</xs:documentation>
+        </xs:annotation>
+      </xs:enumeration>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:attributeGroup name="db.classsynopsis.class.attribute">
+    <xs:attribute name="class" use="required" type="db:db.classsynopsis.class.enumeration"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.classsynopsis.attlist">
+    <xs:attribute name="role"/>
+    <xs:attributeGroup ref="dbs:db.common.attributes"/>
+    <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+    <xs:attribute name="language"/>
+    <xs:attribute name="class" type="db:db.classsynopsis.class.enumeration"/>
+  </xs:attributeGroup>
+  <xs:element name="classsynopsis" substitutionGroup="db:db.synopsis.blocks">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element maxOccurs="unbounded" ref="db:db.oo.inlines"/>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="db:classsynopsisinfo"/>
+          <xs:element ref="db:methodsynopsis"/>
+          <xs:element ref="db:constructorsynopsis"/>
+          <xs:element ref="db:destructorsynopsis"/>
+          <xs:element ref="db:fieldsynopsis"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attributeGroup ref="db:db.classsynopsis.attlist"/>
+    </xs:complexType>
+  </xs:element>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.classsynopsisinfo.role.attribute">
+    <xs:attribute name="role" use="required"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.classsynopsisinfo.attlist">
+    <xs:attribute name="role"/>
+    <xs:attributeGroup ref="dbs:db.common.attributes"/>
+    <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+    <xs:attributeGroup ref="db:db.verbatim.attributes"/>
+  </xs:attributeGroup>
+  <xs:element name="classsynopsisinfo">
+    <xs:complexType>
+      <xs:complexContent>
+        <xs:extension base="db:db.verbatim.contentmodel">
+          <xs:attributeGroup ref="db:db.classsynopsisinfo.attlist"/>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.ooclass.role.attribute">
+    <xs:attribute name="role" use="required"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.ooclass.attlist">
+    <xs:attribute name="role"/>
+    <xs:attributeGroup ref="dbs:db.common.attributes"/>
+    <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+  </xs:attributeGroup>
+  <xs:element name="ooclass" substitutionGroup="db:db.oo.inlines">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="db:package"/>
+          <xs:element ref="db:modifier"/>
+        </xs:choice>
+        <xs:element ref="db:classname"/>
+      </xs:sequence>
+      <xs:attributeGroup ref="db:db.ooclass.attlist"/>
+    </xs:complexType>
+  </xs:element>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.oointerface.role.attribute">
+    <xs:attribute name="role" use="required"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.oointerface.attlist">
+    <xs:attribute name="role"/>
+    <xs:attributeGroup ref="dbs:db.common.attributes"/>
+    <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+  </xs:attributeGroup>
+  <xs:element name="oointerface" substitutionGroup="db:db.oo.inlines">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="db:package"/>
+          <xs:element ref="db:modifier"/>
+        </xs:choice>
+        <xs:element ref="db:interfacename"/>
+      </xs:sequence>
+      <xs:attributeGroup ref="db:db.oointerface.attlist"/>
+    </xs:complexType>
+  </xs:element>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.ooexception.role.attribute">
+    <xs:attribute name="role" use="required"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.ooexception.attlist">
+    <xs:attribute name="role"/>
+    <xs:attributeGroup ref="dbs:db.common.attributes"/>
+    <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+  </xs:attributeGroup>
+  <xs:element name="ooexception" substitutionGroup="db:db.oo.inlines">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="db:package"/>
+          <xs:element ref="db:modifier"/>
+        </xs:choice>
+        <xs:element ref="db:exceptionname"/>
+      </xs:sequence>
+      <xs:attributeGroup ref="db:db.ooexception.attlist"/>
+    </xs:complexType>
+  </xs:element>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.modifier.xml.space.attribute">
+    <xs:attributeGroup ref="xml:space1"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.modifier.role.attribute">
+    <xs:attribute name="role" use="required"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.modifier.attlist">
+    <xs:attributeGroup ref="xml:space1"/>
+    <xs:attribute name="role"/>
+    <xs:attributeGroup ref="dbs:db.common.attributes"/>
+    <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+  </xs:attributeGroup>
+  <xs:element name="modifier">
+    <xs:complexType mixed="true">
+      <xs:group ref="db:db._text"/>
+      <xs:attributeGroup ref="db:db.modifier.attlist"/>
+    </xs:complexType>
+  </xs:element>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.interfacename.role.attribute">
+    <xs:attribute name="role" use="required"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.interfacename.attlist">
+    <xs:attribute name="role"/>
+    <xs:attributeGroup ref="dbs:db.common.attributes"/>
+    <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+  </xs:attributeGroup>
+  <xs:element name="interfacename">
+    <xs:complexType mixed="true">
+      <xs:group ref="db:db._text"/>
+      <xs:attributeGroup ref="db:db.interfacename.attlist"/>
+    </xs:complexType>
+  </xs:element>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.exceptionname.role.attribute">
+    <xs:attribute name="role" use="required"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.exceptionname.attlist">
+    <xs:attribute name="role"/>
+    <xs:attributeGroup ref="dbs:db.common.attributes"/>
+    <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+  </xs:attributeGroup>
+  <xs:element name="exceptionname">
+    <xs:complexType mixed="true">
+      <xs:group ref="db:db._text"/>
+      <xs:attributeGroup ref="db:db.exceptionname.attlist"/>
+    </xs:complexType>
+  </xs:element>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.fieldsynopsis.role.attribute">
+    <xs:attribute name="role" use="required"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.fieldsynopsis.attlist">
+    <xs:attribute name="role"/>
+    <xs:attributeGroup ref="dbs:db.common.attributes"/>
+    <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+    <xs:attribute name="language"/>
+  </xs:attributeGroup>
+  <xs:element name="fieldsynopsis" substitutionGroup="db:db.synopsis.blocks">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:modifier"/>
+        <xs:element minOccurs="0" ref="db:type"/>
+        <xs:element ref="db:varname"/>
+        <xs:element minOccurs="0" ref="db:initializer"/>
+      </xs:sequence>
+      <xs:attributeGroup ref="db:db.fieldsynopsis.attlist"/>
+    </xs:complexType>
+  </xs:element>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.initializer.role.attribute">
+    <xs:attribute name="role" use="required"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.initializer.attlist">
+    <xs:attribute name="role"/>
+    <xs:attributeGroup ref="dbs:db.common.attributes"/>
+    <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+  </xs:attributeGroup>
+  <xs:element name="initializer">
+    <xs:complexType mixed="true">
+      <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.initializer.inlines"/>
+      <xs:attributeGroup ref="db:db.initializer.attlist"/>
+    </xs:complexType>
+  </xs:element>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.constructorsynopsis.role.attribute">
+    <xs:attribute name="role" use="required"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.constructorsynopsis.attlist">
+    <xs:attribute name="role"/>
+    <xs:attributeGroup ref="dbs:db.common.attributes"/>
+    <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+    <xs:attribute name="language"/>
+  </xs:attributeGroup>
+  <xs:element name="constructorsynopsis" substitutionGroup="db:db.synopsis.blocks">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:modifier"/>
+        <xs:element minOccurs="0" ref="db:methodname"/>
+        <xs:choice>
+          <xs:choice maxOccurs="unbounded">
+            <xs:element ref="db:methodparam"/>
+            <xs:group ref="db:db.group.methodparam"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="db:void"/>
+        </xs:choice>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:exceptionname"/>
+      </xs:sequence>
+      <xs:attributeGroup ref="db:db.constructorsynopsis.attlist"/>
+    </xs:complexType>
+  </xs:element>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.destructorsynopsis.role.attribute">
+    <xs:attribute name="role" use="required"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.destructorsynopsis.attlist">
+    <xs:attribute name="role"/>
+    <xs:attributeGroup ref="dbs:db.common.attributes"/>
+    <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+    <xs:attribute name="language"/>
+  </xs:attributeGroup>
+  <xs:element name="destructorsynopsis" substitutionGroup="db:db.synopsis.blocks">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:modifier"/>
+        <xs:element minOccurs="0" ref="db:methodname"/>
+        <xs:choice>
+          <xs:choice maxOccurs="unbounded">
+            <xs:element ref="db:methodparam"/>
+            <xs:group ref="db:db.group.methodparam"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="db:void"/>
+        </xs:choice>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:exceptionname"/>
+      </xs:sequence>
+      <xs:attributeGroup ref="db:db.destructorsynopsis.attlist"/>
+    </xs:complexType>
+  </xs:element>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.methodsynopsis.role.attribute">
+    <xs:attribute name="role" use="required"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.methodsynopsis.attlist">
+    <xs:attribute name="role"/>
+    <xs:attributeGroup ref="dbs:db.common.attributes"/>
+    <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+    <xs:attribute name="language"/>
+  </xs:attributeGroup>
+  <xs:element name="methodsynopsis" substitutionGroup="db:db.synopsis.blocks">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:modifier"/>
+        <xs:choice minOccurs="0">
+          <xs:element ref="db:type"/>
+          <xs:element ref="db:void"/>
+        </xs:choice>
+        <xs:element ref="db:methodname"/>
+        <xs:choice>
+          <xs:choice maxOccurs="unbounded">
+            <xs:element ref="db:methodparam"/>
+            <xs:group ref="db:db.group.methodparam"/>
+          </xs:choice>
+          <xs:element ref="db:void"/>
+        </xs:choice>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:exceptionname"/>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:modifier"/>
+      </xs:sequence>
+      <xs:attributeGroup ref="db:db.methodsynopsis.attlist"/>
+    </xs:complexType>
+  </xs:element>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.methodname.role.attribute">
+    <xs:attribute name="role" use="required"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.methodname.attlist">
+    <xs:attribute name="role"/>
+    <xs:attributeGroup ref="dbs:db.common.attributes"/>
+    <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+  </xs:attributeGroup>
+  <xs:element name="methodname">
+    <xs:complexType mixed="true">
+      <xs:group ref="db:db._text"/>
+      <xs:attributeGroup ref="db:db.methodname.attlist"/>
+    </xs:complexType>
+  </xs:element>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.methodparam.role.attribute">
+    <xs:attribute name="role" use="required"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.methodparam.rep.attribute">
+    <xs:attributeGroup ref="db:db.rep.attribute"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.methodparam.choice.attribute">
+    <xs:attributeGroup ref="db:db.choice.req.attribute"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.methodparam.attlist">
+    <xs:attribute name="role"/>
+    <xs:attributeGroup ref="dbs:db.common.attributes"/>
+    <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+    <xs:attribute name="rep" type="db:db.rep.enumeration"/>
+    <xs:attribute name="choice" type="db:db.choice.enumeration"/>
+  </xs:attributeGroup>
+  <xs:element name="methodparam">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:modifier"/>
+        <xs:element minOccurs="0" ref="db:type"/>
+        <xs:choice>
+          <xs:sequence>
+            <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:modifier"/>
+            <xs:element ref="db:parameter"/>
+            <xs:element minOccurs="0" ref="db:initializer"/>
+          </xs:sequence>
+          <xs:element ref="db:funcparams"/>
+        </xs:choice>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:modifier"/>
+      </xs:sequence>
+      <xs:attributeGroup ref="db:db.methodparam.attlist"/>
+    </xs:complexType>
+  </xs:element>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.group.methodparam.role.attribute">
+    <xs:attribute name="role" use="required"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.group.methodparam.choice.attribute">
+    <xs:attributeGroup ref="db:db.choice.opt.attribute"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.group.methodparam.attlist">
+    <xs:attribute name="role"/>
+    <xs:attributeGroup ref="dbs:db.common.attributes"/>
+    <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+    <xs:attribute name="choice" type="db:db.choice.enumeration"/>
+  </xs:attributeGroup>
+  <xs:group name="db.group.methodparam">
+    <xs:sequence>
+      <xs:element name="group">
+        <xs:complexType>
+          <xs:choice maxOccurs="unbounded">
+            <xs:element ref="db:methodparam"/>
+            <xs:group ref="db:db.group.methodparam"/>
+          </xs:choice>
+          <xs:attributeGroup ref="db:db.group.methodparam.attlist"/>
+        </xs:complexType>
+      </xs:element>
+    </xs:sequence>
+  </xs:group>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.varname.role.attribute">
+    <xs:attribute name="role" use="required"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.varname.attlist">
+    <xs:attribute name="role"/>
+    <xs:attributeGroup ref="dbs:db.common.attributes"/>
+    <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+  </xs:attributeGroup>
+  <xs:element name="varname">
+    <xs:complexType mixed="true">
+      <xs:group ref="db:db._text"/>
+      <xs:attributeGroup ref="db:db.varname.attlist"/>
+    </xs:complexType>
+  </xs:element>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.returnvalue.role.attribute">
+    <xs:attribute name="role" use="required"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.returnvalue.attlist">
+    <xs:attribute name="role"/>
+    <xs:attributeGroup ref="dbs:db.common.attributes"/>
+    <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+  </xs:attributeGroup>
+  <xs:element name="returnvalue">
+    <xs:complexType mixed="true">
+      <xs:group ref="db:db._text"/>
+      <xs:attributeGroup ref="db:db.returnvalue.attlist"/>
+    </xs:complexType>
+  </xs:element>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.type.role.attribute">
+    <xs:attribute name="role" use="required"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.type.attlist">
+    <xs:attribute name="role"/>
+    <xs:attributeGroup ref="dbs:db.common.attributes"/>
+    <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+  </xs:attributeGroup>
+  <xs:element name="type">
+    <xs:complexType mixed="true">
+      <xs:group ref="db:db._text"/>
+      <xs:attributeGroup ref="db:db.type.attlist"/>
+    </xs:complexType>
+  </xs:element>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.classname.role.attribute">
+    <xs:attribute name="role" use="required"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.classname.attlist">
+    <xs:attribute name="role"/>
+    <xs:attributeGroup ref="dbs:db.common.attributes"/>
+    <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+  </xs:attributeGroup>
+  <xs:element name="classname">
+    <xs:complexType mixed="true">
+      <xs:group ref="db:db._text"/>
+      <xs:attributeGroup ref="db:db.classname.attlist"/>
+    </xs:complexType>
+  </xs:element>
+  <!-- ====================================================================== -->
+  <xs:attributeGroup name="db.programlisting.role.attribute">
+    <xs:attribute name="role" use="required"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.programlisting.width.attribute">
+    <xs:attributeGroup ref="db:db.width.characters.attribute"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="db.programlisting.attlist">
+    <xs:attribute name="role"/>
+    <xs:attributeGroup ref="dbs:db.common.attributes"/>
+    <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+    <xs:attributeGroup ref="db:db.verbatim.attributes"/>
+    <xs:attribute name="width" type="xs:nonNegativeInteger"/>
+  </xs:attributeGroup>
+  <xs:element name="programlisting" substitutionGroup="db:db.verbatim.blocks">
+    <xs:complexType>
+      <xs:complexContent>
+        <xs:extension base="db:db.verbatim.contentmodel">
+          <xs:attributeGroup ref="db:db.programlisting.attlist"/>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+</xs:schema>
