<?xml version = "1.0" encoding = "UTF-8"?>
<!--Generated by Turbo XML 2.4.1.100. Conforms to w3c http://www.w3.org/2001/XMLSchema-->
<xsd:schema xmlns:xsd = "http://www.w3.org/2001/XMLSchema"><!--

Title:      DPP Book Document DTD
Version:    1.0 (preliminary draft)
Date:       15 November 2006

Contributors:

     Jon Noring (editor)


Early Draft Notice:

     This DTD is a very preliminary release. As such it will
     undoubtedly change in many ways, including, but not limited to,
     renaming of elements and attributes, addition and removal of
     elements and attributes, and changing of element content models,

-->
	<xsd:group name = "Title.class">
		<xsd:sequence>
			<xsd:choice>
				<xsd:element ref = "superchaptitle"/>
				<xsd:element ref = "chaptitle"/>
				<xsd:element ref = "sec1title"/>
				<xsd:element ref = "sec2title"/>
				<xsd:element ref = "sec3title"/>
				<xsd:element ref = "sec4title"/>
			</xsd:choice>
			<xsd:element ref = "subtitle" minOccurs = "0"/>
		</xsd:sequence>
	</xsd:group>
	<xsd:group name = "Block.class">
		<xsd:choice>
			<xsd:sequence>
				<xsd:group ref = "Title.class"/>
				<xsd:element ref = "epigraph" minOccurs = "0"/>
			</xsd:sequence>
			<xsd:sequence>
				<xsd:element ref = "p"/>
				<xsd:element ref = "themebreak" minOccurs = "0"/>
			</xsd:sequence>
			<xsd:element ref = "quote"/>
			<xsd:element ref = "list"/>
			<xsd:element ref = "stanza"/>
			<xsd:element ref = "imageblock"/>
		</xsd:choice>
	</xsd:group>
	<xsd:group name = "Inline.class">
		<xsd:choice>
			<xsd:element ref = "code"/>
			<xsd:element ref = "distinct"/>
			<xsd:element ref = "foreign"/>
			<xsd:element ref = "ling-emph"/>
			<xsd:element ref = "ling-emph-strong"/>
			<xsd:element ref = "noteref"/>
			<xsd:element ref = "sub"/>
			<xsd:element ref = "sup"/>
			<xsd:element ref = "title"/>
			<xsd:element ref = "word-as-word"/>
		</xsd:choice>
	</xsd:group>
	<xsd:attributeGroup name = "Common.attrib">
		<xsd:attribute name = "id" type = "xsd:ID"/>
		<xsd:attribute name = "lang" type = "xsd:NMTOKEN"/>
		<xsd:attribute name = "comment" type = "xsd:string"/>
	</xsd:attributeGroup>
	<xsd:element name = "dppbook">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "epigraph" minOccurs = "0"/>
				<xsd:choice minOccurs = "0" maxOccurs = "unbounded">
					<xsd:group ref = "Block.class"/>
				</xsd:choice>
				<xsd:element ref = "note" minOccurs = "0" maxOccurs = "unbounded"/>
			</xsd:sequence>
			<xsd:attribute name = "id" type = "xsd:ID"/>
			<xsd:attribute name = "lang" use = "required" type = "xsd:NMTOKEN"/>
			<xsd:attribute name = "comment" type = "xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "epigraph">
		<xsd:complexType>
			<xsd:choice maxOccurs = "unbounded">
				<xsd:element ref = "p"/>
				<xsd:element ref = "quote"/>
				<xsd:element ref = "stanza"/>
			</xsd:choice>
			<xsd:attributeGroup ref = "Common.attrib"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "quote">
		<xsd:complexType>
			<xsd:choice maxOccurs = "unbounded">
				<xsd:element ref = "p"/>
				<xsd:element ref = "quote"/>
				<xsd:element ref = "list"/>
				<xsd:element ref = "stanza"/>
			</xsd:choice>
			<xsd:attributeGroup ref = "Common.attrib"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "list">
		<xsd:complexType>
			<xsd:sequence maxOccurs = "unbounded">
				<xsd:element ref = "listitem"/>
			</xsd:sequence>
			<xsd:attributeGroup ref = "Common.attrib"/>
			<xsd:attribute name = "ordered" default = "no">
				<xsd:simpleType>
					<xsd:restriction base = "xsd:NMTOKEN">
						<xsd:enumeration value = "yes"/>
						<xsd:enumeration value = "no"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "listitem">
		<xsd:complexType>
			<xsd:choice maxOccurs = "unbounded">
				<xsd:element ref = "p"/>
				<xsd:element ref = "quote"/>
				<xsd:element ref = "list"/>
				<xsd:element ref = "stanza"/>
			</xsd:choice>
			<xsd:attributeGroup ref = "Common.attrib"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "stanza">
		<xsd:complexType>
			<xsd:sequence maxOccurs = "unbounded">
				<xsd:element ref = "verseline"/>
			</xsd:sequence>
			<xsd:attributeGroup ref = "Common.attrib"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "note">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "notemark" minOccurs = "0"/>
				<xsd:choice maxOccurs = "unbounded">
					<xsd:element ref = "p"/>
					<xsd:element ref = "quote"/>
					<xsd:element ref = "list"/>
					<xsd:element ref = "stanza"/>
				</xsd:choice>
			</xsd:sequence>
			<xsd:attributeGroup ref = "Common.attrib"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "imageblock">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "image"/>
				<xsd:element ref = "caption" minOccurs = "0"/>
			</xsd:sequence>
			<xsd:attribute name = "id" use = "required" type = "xsd:ID"/>
			<xsd:attribute name = "lang" type = "xsd:NMTOKEN"/>
			<xsd:attribute name = "comment" type = "xsd:string"/>
			<xsd:attribute name = "float" default = "none">
				<xsd:simpleType>
					<xsd:restriction base = "xsd:NMTOKEN">
						<xsd:enumeration value = "left"/>
						<xsd:enumeration value = "right"/>
						<xsd:enumeration value = "none"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:attribute name = "loiitem" default = "yes">
				<xsd:simpleType>
					<xsd:restriction base = "xsd:NMTOKEN">
						<xsd:enumeration value = "yes"/>
						<xsd:enumeration value = "no"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:attribute name = "loititle" use = "required" type = "xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "caption">
		<xsd:complexType>
			<xsd:choice maxOccurs = "unbounded">
				<xsd:element ref = "p"/>
				<xsd:element ref = "quote"/>
				<xsd:element ref = "list"/>
				<xsd:element ref = "stanza"/>
			</xsd:choice>
			<xsd:attributeGroup ref = "Common.attrib"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "p">
		<xsd:complexType mixed = "true">
			<xsd:choice minOccurs = "0" maxOccurs = "unbounded">
				<xsd:group ref = "Inline.class"/>
			</xsd:choice>
			<xsd:attributeGroup ref = "Common.attrib"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "superchaptitle">
		<xsd:complexType mixed = "true">
			<xsd:choice minOccurs = "0" maxOccurs = "unbounded">
				<xsd:group ref = "Inline.class"/>
			</xsd:choice>
			<xsd:attribute name = "id" use = "required" type = "xsd:ID"/>
			<xsd:attribute name = "lang" type = "xsd:NMTOKEN"/>
			<xsd:attribute name = "comment" type = "xsd:string"/>
			<xsd:attribute name = "tocitem" default = "yes">
				<xsd:simpleType>
					<xsd:restriction base = "xsd:NMTOKEN">
						<xsd:enumeration value = "yes"/>
						<xsd:enumeration value = "no"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:attribute name = "toctitle" type = "xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "chaptitle">
		<xsd:complexType mixed = "true">
			<xsd:choice minOccurs = "0" maxOccurs = "unbounded">
				<xsd:group ref = "Inline.class"/>
			</xsd:choice>
			<xsd:attribute name = "id" use = "required" type = "xsd:ID"/>
			<xsd:attribute name = "lang" type = "xsd:NMTOKEN"/>
			<xsd:attribute name = "comment" type = "xsd:string"/>
			<xsd:attribute name = "tocitem" default = "yes">
				<xsd:simpleType>
					<xsd:restriction base = "xsd:NMTOKEN">
						<xsd:enumeration value = "yes"/>
						<xsd:enumeration value = "no"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:attribute name = "toctitle" type = "xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "sec1title">
		<xsd:complexType mixed = "true">
			<xsd:choice minOccurs = "0" maxOccurs = "unbounded">
				<xsd:group ref = "Inline.class"/>
			</xsd:choice>
			<xsd:attribute name = "id" use = "required" type = "xsd:ID"/>
			<xsd:attribute name = "lang" type = "xsd:NMTOKEN"/>
			<xsd:attribute name = "comment" type = "xsd:string"/>
			<xsd:attribute name = "tocitem" default = "yes">
				<xsd:simpleType>
					<xsd:restriction base = "xsd:NMTOKEN">
						<xsd:enumeration value = "yes"/>
						<xsd:enumeration value = "no"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:attribute name = "toctitle" type = "xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "sec2title">
		<xsd:complexType mixed = "true">
			<xsd:choice minOccurs = "0" maxOccurs = "unbounded">
				<xsd:group ref = "Inline.class"/>
			</xsd:choice>
			<xsd:attribute name = "id" use = "required" type = "xsd:ID"/>
			<xsd:attribute name = "lang" type = "xsd:NMTOKEN"/>
			<xsd:attribute name = "comment" type = "xsd:string"/>
			<xsd:attribute name = "tocitem" default = "yes">
				<xsd:simpleType>
					<xsd:restriction base = "xsd:NMTOKEN">
						<xsd:enumeration value = "yes"/>
						<xsd:enumeration value = "no"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:attribute name = "toctitle" type = "xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "sec3title">
		<xsd:complexType mixed = "true">
			<xsd:choice minOccurs = "0" maxOccurs = "unbounded">
				<xsd:group ref = "Inline.class"/>
			</xsd:choice>
			<xsd:attribute name = "id" use = "required" type = "xsd:ID"/>
			<xsd:attribute name = "lang" type = "xsd:NMTOKEN"/>
			<xsd:attribute name = "comment" type = "xsd:string"/>
			<xsd:attribute name = "tocitem" default = "yes">
				<xsd:simpleType>
					<xsd:restriction base = "xsd:NMTOKEN">
						<xsd:enumeration value = "yes"/>
						<xsd:enumeration value = "no"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:attribute name = "toctitle" type = "xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "sec4title">
		<xsd:complexType mixed = "true">
			<xsd:choice minOccurs = "0" maxOccurs = "unbounded">
				<xsd:group ref = "Inline.class"/>
			</xsd:choice>
			<xsd:attribute name = "id" use = "required" type = "xsd:ID"/>
			<xsd:attribute name = "lang" type = "xsd:NMTOKEN"/>
			<xsd:attribute name = "comment" type = "xsd:string"/>
			<xsd:attribute name = "tocitem" default = "yes">
				<xsd:simpleType>
					<xsd:restriction base = "xsd:NMTOKEN">
						<xsd:enumeration value = "yes"/>
						<xsd:enumeration value = "no"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:attribute name = "toctitle" type = "xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "subtitle">
		<xsd:complexType mixed = "true">
			<xsd:choice minOccurs = "0" maxOccurs = "unbounded">
				<xsd:group ref = "Inline.class"/>
			</xsd:choice>
			<xsd:attributeGroup ref = "Common.attrib"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "verseline">
		<xsd:complexType mixed = "true">
			<xsd:choice minOccurs = "0" maxOccurs = "unbounded">
				<xsd:group ref = "Inline.class"/>
			</xsd:choice>
			<xsd:attributeGroup ref = "Common.attrib"/>
			<xsd:attribute name = "indent" default = "0">
				<xsd:simpleType>
					<xsd:restriction base = "xsd:NMTOKEN">
						<xsd:enumeration value = "0"/>
						<xsd:enumeration value = "1"/>
						<xsd:enumeration value = "2"/>
						<xsd:enumeration value = "3"/>
						<xsd:enumeration value = "4"/>
						<xsd:enumeration value = "5"/>
						<xsd:enumeration value = "6"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "notemark">
		<xsd:complexType mixed = "true">
			<xsd:choice minOccurs = "0" maxOccurs = "unbounded">
				<xsd:group ref = "Inline.class"/>
			</xsd:choice>
			<xsd:attributeGroup ref = "Common.attrib"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "image">
		<xsd:complexType>
			<xsd:attributeGroup ref = "Common.attrib"/>
			<xsd:attribute name = "src" use = "required" type = "xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "themebreak">
		<xsd:complexType>
			<xsd:attributeGroup ref = "Common.attrib"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "ling-emph">
		<xsd:complexType mixed = "true">
			<xsd:choice minOccurs = "0" maxOccurs = "unbounded">
				<xsd:group ref = "Inline.class"/>
			</xsd:choice>
			<xsd:attributeGroup ref = "Common.attrib"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "ling-emph-strong">
		<xsd:complexType mixed = "true">
			<xsd:choice minOccurs = "0" maxOccurs = "unbounded">
				<xsd:group ref = "Inline.class"/>
			</xsd:choice>
			<xsd:attributeGroup ref = "Common.attrib"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "title">
		<xsd:complexType mixed = "true">
			<xsd:choice minOccurs = "0" maxOccurs = "unbounded">
				<xsd:group ref = "Inline.class"/>
			</xsd:choice>
			<xsd:attributeGroup ref = "Common.attrib"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "foreign">
		<xsd:complexType mixed = "true">
			<xsd:choice minOccurs = "0" maxOccurs = "unbounded">
				<xsd:group ref = "Inline.class"/>
			</xsd:choice>
			<xsd:attributeGroup ref = "Common.attrib"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "distinct">
		<xsd:complexType mixed = "true">
			<xsd:choice minOccurs = "0" maxOccurs = "unbounded">
				<xsd:group ref = "Inline.class"/>
			</xsd:choice>
			<xsd:attributeGroup ref = "Common.attrib"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "code">
		<xsd:complexType mixed = "true">
			<xsd:choice minOccurs = "0" maxOccurs = "unbounded">
				<xsd:group ref = "Inline.class"/>
			</xsd:choice>
			<xsd:attributeGroup ref = "Common.attrib"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "word-as-word">
		<xsd:complexType mixed = "true">
			<xsd:choice minOccurs = "0" maxOccurs = "unbounded">
				<xsd:group ref = "Inline.class"/>
			</xsd:choice>
			<xsd:attributeGroup ref = "Common.attrib"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "sup">
		<xsd:complexType mixed = "true">
			<xsd:choice minOccurs = "0" maxOccurs = "unbounded">
				<xsd:group ref = "Inline.class"/>
			</xsd:choice>
			<xsd:attributeGroup ref = "Common.attrib"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "sub">
		<xsd:complexType mixed = "true">
			<xsd:choice minOccurs = "0" maxOccurs = "unbounded">
				<xsd:group ref = "Inline.class"/>
			</xsd:choice>
			<xsd:attributeGroup ref = "Common.attrib"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "noteref">
		<xsd:complexType mixed = "true">
			<xsd:choice minOccurs = "0" maxOccurs = "unbounded">
				<xsd:group ref = "Inline.class"/>
			</xsd:choice>
			<xsd:attributeGroup ref = "Common.attrib"/>
			<xsd:attribute name = "ref" use = "required" type = "xsd:string"/>
		</xsd:complexType>
	</xsd:element>
</xsd:schema>
