<?xml version="1.0" encoding="UTF-8"?>
<!-- *************************************************************************** -->
<!--	xslfoproc C# library - XSL Formatting Objects processor implementation.   -->
<!--	Copyright (C) 2004  Colin Savage                                          -->
<!--                                                                             -->
<!-- This software is under GNU Lesser General Public License                    -->
<!--      (http://www.gnu.org/licenses/lgpl.txt)                                 -->
<!-- *************************************************************************** -->
<xs:schema targetNamespace="http://www.w3.org/1999/XSL/Format" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fo="http://www.w3.org/1999/XSL/Format" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:element name="root">
		<xs:annotation>
			<xs:documentation>This is the top node of the formatting object tree. It holds an fo:layout-master-set formatting object (which holds all masters used in the document), an optional fo:declarations, and one or more fo:page-sequence objects. Each fo:page-sequence represents a sequence of pages that result from formatting the content children of the fo:page-sequence.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="layout-master-set">
					<xs:annotation>
						<xs:documentation>The fo:layout-master-set is a wrapper around all masters used in the document. This includes page-sequence-masters, page-masters, and region-masters.</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:choice maxOccurs="unbounded">
							<xs:element name="simple-page-master">
								<xs:complexType>
									<xs:complexContent>
										<xs:extension base="fo:simple-page-master-Type"/>
									</xs:complexContent>
								</xs:complexType>
							</xs:element>
							<xs:element name="page-sequence-master">
								<xs:annotation>
									<xs:documentation>The fo:page-sequence-master is used to specify the constraints on and the order in which a given set of page-masters will be used in generating a sequence of pages. Pages are automatically generated when the fo:page-sequence-master is used in formatting an fo:page-sequence.</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:choice maxOccurs="unbounded">
										<xs:element name="single-page-master-reference">
											<xs:annotation>
												<xs:documentation>An fo:single-page-master-reference is the simplest sub-sequence-specifier. It specifies a sub-sequence consisting of a single instance of a single page-master. It is used to specify the use of a particular page-master at a given point in the sequence of pages that would be generated using the fo:page-sequence-master that is the parent of the fo:single-page-master-reference.</xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:attributeGroup ref="fo:all-attributes"/>
												<xs:anyAttribute namespace="##any" processContents="strict"/>
											</xs:complexType>
										</xs:element>
										<xs:element name="repeatable-page-master-reference">
											<xs:annotation>
												<xs:documentation>An fo:repeatable-page-master-reference is the next simplest sub-sequence-specifier. It specifies a sub-sequence consisting of repeated instances of a single page-master. The number of repetitions may be bounded or potentially unbounded.</xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:attributeGroup ref="fo:all-attributes"/>
												<xs:anyAttribute namespace="##any" processContents="strict"/>
											</xs:complexType>
										</xs:element>
										<xs:element name="repeatable-page-master-alternatives">
											<xs:annotation>
												<xs:documentation>The fo:repeatable-page-master-alternatives formatting object is the most complex sub-sequence-specifier. It specifies a sub-sequence consisting of repeated instances of a set of alternative page-masters. The number of repetitions may be bounded or potentially unbounded. Which of the alternative page-masters is used at any point in the sequence depends on the evaluation of a condition on the use of the alternative. Typical conditions include, testing whether the page which is generated using the alternative is the first or last page in a page-sequence or is the page blank. The full set of conditions allows different page-masters to be used for the first page, for odd and even pages, for blank pages.</xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:sequence>
													<xs:element name="conditional-page-master-reference" maxOccurs="unbounded">
														<xs:annotation>
															<xs:documentation>The fo:conditional-page-master-reference is used to identify a page-master that is to be used when the conditions on its use are satisfied. This allows different page-masters to be used, for example, for even and odd pages, for the first page in a page-sequence, or for blank pages. This usage is typical in chapters of a book or report where the first page has a different layout than the rest of the chapter and the headings and footings on even and odd pages may be different as well.</xs:documentation>
														</xs:annotation>
														<xs:complexType>
															<xs:attributeGroup ref="fo:all-attributes"/>
															<xs:anyAttribute namespace="##any" processContents="strict"/>
														</xs:complexType>
													</xs:element>
												</xs:sequence>
												<xs:attributeGroup ref="fo:all-attributes"/>
												<xs:anyAttribute namespace="##any" processContents="strict"/>
											</xs:complexType>
										</xs:element>
									</xs:choice>
									<xs:attributeGroup ref="fo:all-attributes"/>
									<xs:anyAttribute namespace="##any" processContents="strict"/>
								</xs:complexType>
							</xs:element>
						</xs:choice>
						<xs:attributeGroup ref="fo:all-attributes"/>
						<xs:anyAttribute namespace="##any" processContents="strict"/>
					</xs:complexType>
				</xs:element>
				<xs:element name="declarations" minOccurs="0">
					<xs:annotation>
						<xs:documentation>The fo:declarations formatting object is used to group global declarations for a stylesheet.</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="color-profile" maxOccurs="unbounded">
								<xs:annotation>
									<xs:documentation>The fo:color-profile formatting object is used to declare an ICC Color Profile for a stylesheet. The color-profile is referenced again via the name specified in the "color-profile-name" property.</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:attributeGroup ref="fo:all-attributes"/>
									<xs:anyAttribute namespace="##any" processContents="strict"/>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
						<xs:attributeGroup ref="fo:all-attributes"/>
						<xs:anyAttribute namespace="##any" processContents="strict"/>
					</xs:complexType>
				</xs:element>
				<xs:element name="page-sequence" maxOccurs="unbounded">
					<xs:annotation>
						<xs:documentation>The fo:page-sequence formatting object is used to specify how to create a (sub-)sequence of pages within a document; for example, a chapter of a report. The content of these pages comes from flow children (consisting of the single fo:flow and any fo:static-content flow objects) of the fo:page-sequence. The layout of these pages comes from the fo:page-sequence-master or page-master referenced by the master-reference trait on the fo:page-sequence. The sequence of areas returned by each of the flow-object children of the fo:page-sequence are made descendants of the generated pages as described below.</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="title" minOccurs="0">
								<xs:annotation>
									<xs:documentation>The fo:title formatting object is used to associate a title with a given page-sequence. This title may be used by an interactive User Agent to identify the pages. For example, the content of the fo:title can be formatted and displayed in a "title" window or in a "tool tip".</xs:documentation>
								</xs:annotation>
								<xs:complexType mixed="true">
									<xs:choice maxOccurs="unbounded">
										<xs:group ref="fo:inline-elements-Group"/>
										<xs:group ref="fo:neutral-elements-Group"/>
										<xs:group ref="fo:out-of-line-elements-Group1"/>
									</xs:choice>
									<xs:attributeGroup ref="fo:all-attributes"/>
									<xs:anyAttribute namespace="##any" processContents="strict"/>
								</xs:complexType>
							</xs:element>
							<xs:element name="static-content" minOccurs="0" maxOccurs="unbounded">
								<xs:annotation>
									<xs:documentation>The fo:static-content formatting object holds a sequence or a tree of formatting objects that is to be presented in a single region or repeated in like-named regions on one or more pages in the page-sequence. Its common use is for repeating or running headers and footers.</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:group ref="fo:block-elements-Group" maxOccurs="unbounded"/>
									<xs:attributeGroup ref="fo:all-attributes"/>
									<xs:anyAttribute namespace="##any" processContents="strict"/>
								</xs:complexType>
							</xs:element>
							<xs:element name="flow">
								<xs:annotation>
									<xs:documentation>The content of the fo:flow formatting object is a sequence of flow objects that provides the flowing text content that is distributed into pages.</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:group ref="fo:block-elements-Group" maxOccurs="unbounded"/>
									<xs:attributeGroup ref="fo:all-attributes"/>
									<xs:anyAttribute namespace="##any" processContents="strict"/>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
						<xs:attributeGroup ref="fo:all-attributes"/>
						<xs:anyAttribute namespace="##any" processContents="strict"/>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:attributeGroup ref="fo:all-attributes"/>
			<xs:anyAttribute namespace="##any" processContents="strict"/>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="simple-page-master-Type">
		<xs:annotation>
			<xs:documentation>The fo:simple-page-master is used in the generation of pages and specifies the geometry of the page. The page may be subdivided into up to five regions: region-body, region-before, region-after, region-start, and region-end.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="region-body">
				<xs:annotation>
					<xs:documentation>Used in constructing a simple-page-master. This region specifies a viewport/reference pair that is located in the "center" of the fo:simple-page-master. The overflow trait controls how much of the underlying region-reference-area is visible; that is, whether the region-reference-area is clipped by its parent region-viewport-area.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:attributeGroup ref="fo:all-attributes"/>
					<xs:anyAttribute namespace="##any" processContents="strict"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="region-before" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Used in constructing a simple-page-master. This region specifies a viewport/reference pair that is located on the "before" side of the page-reference-area. In lr-tb writing-mode, this region corresponds to the header region. The overflow trait controls how much of the underlying region-reference-area is visible; that is, whether the region-reference-area is clipped by its parent region-viewport-area.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:attributeGroup ref="fo:all-attributes"/>
					<xs:anyAttribute namespace="##any" processContents="strict"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="region-after" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Used in constructing a simple-page-master. This region specifies a viewport/reference pair that is located on the "after" side of the page-reference-area. In lr-tb writing-mode, this region corresponds to the footer region. The overflow trait controls how much of the underlying region-reference-area is visible; that is, whether the region-reference-area is clipped by its parent region-viewport-area.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:attributeGroup ref="fo:all-attributes"/>
					<xs:anyAttribute namespace="##any" processContents="strict"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="region-start" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Used in constructing a simple-page-master. This region specifies a viewport/reference pair that is located on the "start" side of the page-reference-area. In lr-tb writing-mode, this region corresponds to a left sidebar. The overflow trait controls how much of the underlying region-reference-area is visible; that is, whether the region-reference-area is clipped by its parent region-viewport-area.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:attributeGroup ref="fo:all-attributes"/>
					<xs:anyAttribute namespace="##any" processContents="strict"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="region-end" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Used in constructing a simple-page-master. This region specifies a viewport/reference pair that is located on the "end" side of the page-reference-area. In lr-tb writing-mode, this region corresponds to a right sidebar. The overflow trait controls how much of the underlying region-reference-area is visible; that is, whether the region-reference-area is clipped by its parent region-viewport-area.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:attributeGroup ref="fo:all-attributes"/>
					<xs:anyAttribute namespace="##any" processContents="strict"/>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attributeGroup ref="fo:all-attributes"/>
		<xs:anyAttribute namespace="##any" processContents="strict"/>
	</xs:complexType>
	<xs:complexType name="marker-Type" mixed="true">
		<xs:annotation>
			<xs:documentation>The fo:marker is used in conjunction with fo:retrieve-marker to produce running headers or footers.</xs:documentation>
		</xs:annotation>
		<xs:choice>
			<xs:group ref="fo:block-elements-Group"/>
			<xs:group ref="fo:inline-elements-Group"/>
		</xs:choice>
		<xs:attributeGroup ref="fo:all-attributes"/>
		<xs:anyAttribute namespace="##any" processContents="strict"/>
	</xs:complexType>
	<xs:complexType name="block-Type" mixed="true">
		<xs:annotation>
			<xs:documentation>The fo:block formatting object is commonly used for formatting paragraphs, titles, headlines, figure and table captions, etc.</xs:documentation>
		</xs:annotation>
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="fo:block-elements-Group"/>
			<xs:group ref="fo:inline-elements-Group"/>
		</xs:choice>
		<xs:attributeGroup ref="fo:all-attributes"/>
		<xs:anyAttribute namespace="##any" processContents="strict"/>
	</xs:complexType>
	<xs:complexType name="block-container-Type">
		<xs:annotation>
			<xs:documentation>The fo:block-container flow object is used to generate a block-level reference-area, typically containing text blocks with a different writing-mode. In addition, it can also be used with a different reference-orientation to rotate its content.</xs:documentation>
		</xs:annotation>
		<xs:group ref="fo:block-elements-Group" maxOccurs="unbounded"/>
		<xs:attributeGroup ref="fo:all-attributes"/>
		<xs:anyAttribute namespace="##any" processContents="strict"/>
	</xs:complexType>
	<xs:complexType name="table-caption-Type">
		<xs:annotation>
			<xs:documentation>The fo:table-caption formatting object is used to contain block-level formatting objects containing the caption for the table only when using the fo:table-and-caption.</xs:documentation>
		</xs:annotation>
		<xs:group ref="fo:block-elements-Group"/>
	</xs:complexType>
	<xs:complexType name="table-and-caption-Type">
		<xs:annotation>
			<xs:documentation>The fo:table-and-caption flow object is used for formatting a table together with its caption.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="table-caption" type="fo:table-caption-Type" minOccurs="0"/>
			<xs:element name="table" type="fo:table-Type"/>
		</xs:sequence>
		<xs:attributeGroup ref="fo:all-attributes"/>
		<xs:anyAttribute namespace="##any" processContents="strict"/>
	</xs:complexType>
	<xs:complexType name="table-body-Type">
		<xs:annotation>
			<xs:documentation>The fo:table-body formatting object is used to contain the content of the table body.</xs:documentation>
		</xs:annotation>
		<xs:choice>
			<xs:element name="table-row" type="fo:table-row-Type" maxOccurs="unbounded"/>
			<xs:element name="table-cell" type="fo:table-cell-Type" maxOccurs="unbounded"/>
		</xs:choice>
		<xs:attributeGroup ref="fo:all-attributes"/>
		<xs:anyAttribute namespace="##any" processContents="strict"/>
	</xs:complexType>
	<xs:complexType name="table-footer-Type">
		<xs:annotation>
			<xs:documentation>The fo:table-footer formatting object is used to contain the content of the table footer.</xs:documentation>
		</xs:annotation>
		<xs:choice>
			<xs:element name="table-row" type="fo:table-row-Type" maxOccurs="unbounded"/>
			<xs:element name="table-cell" type="fo:table-cell-Type" maxOccurs="unbounded"/>
		</xs:choice>
		<xs:attributeGroup ref="fo:all-attributes"/>
		<xs:anyAttribute namespace="##any" processContents="strict"/>
	</xs:complexType>
	<xs:complexType name="table-cell-Type">
		<xs:annotation>
			<xs:documentation>The fo:table-cell formatting object is used to group content to be placed in a table cell.</xs:documentation>
		</xs:annotation>
		<xs:group ref="fo:block-elements-Group"/>
		<xs:attributeGroup ref="fo:all-attributes"/>
		<xs:anyAttribute namespace="##any" processContents="strict"/>
	</xs:complexType>
	<xs:complexType name="table-row-Type">
		<xs:annotation>
			<xs:documentation>The fo:table-row formatting object is used to group table-cells into rows; all table-cells in a table-row start in the same geometric row on the table grid.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="table-cell" type="fo:table-cell-Type" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attributeGroup ref="fo:all-attributes"/>
		<xs:anyAttribute namespace="##any" processContents="strict"/>
	</xs:complexType>
	<xs:complexType name="table-header-Type">
		<xs:annotation>
			<xs:documentation>The fo:table-header formatting object is used to contain the content of the table header.</xs:documentation>
		</xs:annotation>
		<xs:choice>
			<xs:element name="table-row" type="fo:table-row-Type" maxOccurs="unbounded"/>
			<xs:element name="table-cell" type="fo:table-cell-Type" maxOccurs="unbounded"/>
		</xs:choice>
		<xs:attributeGroup ref="fo:all-attributes"/>
		<xs:anyAttribute namespace="##any" processContents="strict"/>
	</xs:complexType>
	<xs:complexType name="table-column-Type">
		<xs:annotation>
			<xs:documentation>The fo:table-column auxiliary formatting object specifies characteristics applicable to table cells that have the same column and span. The most important property is the "column-width" property.</xs:documentation>
		</xs:annotation>
		<xs:attributeGroup ref="fo:all-attributes"/>
		<xs:anyAttribute namespace="##any" processContents="strict"/>
	</xs:complexType>
	<xs:complexType name="table-Type">
		<xs:annotation>
			<xs:documentation>The fo:table flow object is used for formatting the tabular material of a table.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="table-column" type="fo:table-column-Type" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="table-header" type="fo:table-header-Type" minOccurs="0"/>
			<xs:element name="table-footer" type="fo:table-footer-Type" minOccurs="0"/>
			<xs:element name="table-body" type="fo:table-body-Type" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attributeGroup ref="fo:all-attributes"/>
		<xs:anyAttribute namespace="##any" processContents="strict"/>
	</xs:complexType>
	<xs:complexType name="list-block-Type">
		<xs:annotation>
			<xs:documentation>The fo:list-block flow object is used to format a list.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="list-item" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>The fo:list-item formatting object contains the label and the body of an item in a list.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="list-item-label">
							<xs:annotation>
								<xs:documentation>The fo:list-item-label formatting object contains the content of the label of a list-item, typically used to either enumerate, identify, or adorn the list-item's body.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:group ref="fo:block-elements-Group"/>
								<xs:attributeGroup ref="fo:all-attributes"/>
								<xs:anyAttribute namespace="##any" processContents="strict"/>
							</xs:complexType>
						</xs:element>
						<xs:element name="list-item-body">
							<xs:annotation>
								<xs:documentation>The fo:list-item-body formatting object contains the content of the body of a list-item.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:group ref="fo:block-elements-Group"/>
								<xs:attributeGroup ref="fo:all-attributes"/>
								<xs:anyAttribute namespace="##any" processContents="strict"/>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
					<xs:attributeGroup ref="fo:all-attributes"/>
					<xs:anyAttribute namespace="##any" processContents="strict"/>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attributeGroup ref="fo:all-attributes"/>
		<xs:anyAttribute namespace="##any" processContents="strict"/>
	</xs:complexType>
	<xs:complexType name="bidi-override-Type" mixed="true">
		<xs:annotation>
			<xs:documentation>The fo:bidi-override formatting object is used when the Unicode BIDI algorithm fails. It forces a string of text to be written in a specific direction.</xs:documentation>
		</xs:annotation>
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="fo:block-elements-Group"/>
			<xs:group ref="fo:inline-elements-Group"/>
		</xs:choice>
		<xs:attributeGroup ref="fo:all-attributes"/>
		<xs:anyAttribute namespace="##any" processContents="strict"/>
	</xs:complexType>
	<xs:complexType name="character-Type">
		<xs:annotation>
			<xs:documentation>The fo:character flow object represents a character that is mapped to a glyph for presentation. It is an atomic unit to the formatter.</xs:documentation>
		</xs:annotation>
		<xs:attributeGroup ref="fo:all-attributes"/>
		<xs:anyAttribute namespace="##any" processContents="strict"/>
	</xs:complexType>
	<xs:complexType name="initial-property-set-Type">
		<xs:annotation>
			<xs:documentation>The fo:initial-property-set auxiliary formatting object specifies formatting properties for the first line of an fo:block.</xs:documentation>
		</xs:annotation>
		<xs:attributeGroup ref="fo:all-attributes"/>
		<xs:anyAttribute namespace="##any" processContents="strict"/>
	</xs:complexType>
	<xs:complexType name="external-graphic-Type">
		<xs:annotation>
			<xs:documentation>The fo:external-graphic flow object is used for a graphic where the graphics data resides outside of the fo:element tree.</xs:documentation>
		</xs:annotation>
		<xs:attributeGroup ref="fo:all-attributes"/>
		<xs:anyAttribute namespace="##any" processContents="strict"/>
	</xs:complexType>
	<xs:complexType name="instream-foreign-object-Type">
		<xs:annotation>
			<xs:documentation>The fo:instream-foreign-object flow object is used for an inline graphic or other "generic" object where the object data resides as descendants of the fo:instream-foreign-object, typically as an XML element subtree in a non-XSL namespace.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:any namespace="##other" processContents="skip"/>
		</xs:sequence>
		<xs:attributeGroup ref="fo:all-attributes"/>
		<xs:anyAttribute namespace="##any" processContents="strict"/>
	</xs:complexType>
	<xs:complexType name="inline-Type" mixed="true">
		<xs:annotation>
			<xs:documentation>The fo:inline formatting object is commonly used for formatting a portion of text with a background or enclosing it in a border.</xs:documentation>
		</xs:annotation>
		<xs:choice>
			<xs:group ref="fo:block-elements-Group"/>
			<xs:group ref="fo:inline-elements-Group"/>
		</xs:choice>
		<xs:attributeGroup ref="fo:all-attributes"/>
		<xs:anyAttribute namespace="##any" processContents="strict"/>
	</xs:complexType>
	<xs:complexType name="inline-container-Type">
		<xs:annotation>
			<xs:documentation>The fo:inline-container flow object is used to generate an inline reference-area, typically containing text blocks with a different writing-mode.</xs:documentation>
		</xs:annotation>
		<xs:group ref="fo:block-elements-Group"/>
		<xs:attributeGroup ref="fo:all-attributes"/>
		<xs:anyAttribute namespace="##any" processContents="strict"/>
	</xs:complexType>
	<xs:complexType name="leader-Type" mixed="true">
		<xs:annotation>
			<xs:documentation>The fo:leader formatting object is often used:in table-of-contents to generate sequences of "." glyphs that separate titles from page numbers;to create entry fields in fill-in-the-blank forms;to create horizontal rules for use as separators</xs:documentation>
		</xs:annotation>
		<xs:choice maxOccurs="unbounded">
			<xs:group ref="fo:inline-elements-Group"/>
			<xs:group ref="fo:neutral-elements-Group"/>
			<xs:group ref="fo:out-of-line-elements-Group1"/>
		</xs:choice>
		<xs:attributeGroup ref="fo:all-attributes"/>
		<xs:anyAttribute namespace="##any" processContents="strict"/>
	</xs:complexType>
	<xs:complexType name="page-number-Type">
		<xs:annotation>
			<xs:documentation>The fo:page-number formatting object is used to obtain an inline-area whose content is the page-number for the page on which the inline-area is placed.</xs:documentation>
		</xs:annotation>
		<xs:attributeGroup ref="fo:all-attributes"/>
		<xs:anyAttribute namespace="##any" processContents="strict"/>
	</xs:complexType>
	<xs:complexType name="page-number-citation-Type">
		<xs:annotation>
			<xs:documentation>The fo:page-number-citation is used to reference the page-number for the page containing the first normal area returned by the cited formatting object.</xs:documentation>
		</xs:annotation>
		<xs:attributeGroup ref="fo:all-attributes"/>
		<xs:anyAttribute namespace="##any" processContents="strict"/>
	</xs:complexType>
	<xs:complexType name="basic-link-Type" mixed="true">
		<xs:annotation>
			<xs:documentation>The fo:basic-link is used for representing the start resource of a simple one-directional single-target link. The object allows for traversal to the destination resource, typically by clicking on any of the containing areas.</xs:documentation>
		</xs:annotation>
		<xs:choice>
			<xs:group ref="fo:block-elements-Group"/>
			<xs:group ref="fo:inline-elements-Group"/>
		</xs:choice>
		<xs:attributeGroup ref="fo:all-attributes"/>
		<xs:anyAttribute namespace="##any" processContents="strict"/>
	</xs:complexType>
	<xs:complexType name="multi-toggle-Type">
		<xs:annotation>
			<xs:documentation>The fo:multi-toggle is typically used to establish an area that when actuated (for example implemented as "clicked"), has the effect of switching from one fo:multi-case to another. The "switch-to" property value of the fo:multi-toggle typically matches the "case-name" property value of the fo:multi-case to switch to.</xs:documentation>
		</xs:annotation>
		<xs:choice>
			<xs:group ref="fo:block-elements-Group"/>
			<xs:group ref="fo:inline-elements-Group"/>
		</xs:choice>
		<xs:attributeGroup ref="fo:all-attributes"/>
		<xs:anyAttribute namespace="##any" processContents="strict"/>
	</xs:complexType>
	<xs:complexType name="multi-switch-Type">
		<xs:annotation>
			<xs:documentation>The fo:multi-switch wraps the specification of alternative sub-trees of formatting objects (each sub-tree being within an fo:multi-case), and controls the switching (activated via fo:multi-toggle) from one alternative to another.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="multi-case" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>The fo:multi-case is used to contain (within an fo:multi-switch) each alternative sub-tree of formatting objects among which the parent fo:multi-switch will choose one to show and will hide the rest.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:choice>
						<xs:group ref="fo:block-elements-Group"/>
						<xs:group ref="fo:inline-elements-Group"/>
					</xs:choice>
					<xs:attributeGroup ref="fo:all-attributes"/>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attributeGroup ref="fo:all-attributes"/>
		<xs:anyAttribute namespace="##any" processContents="strict"/>
	</xs:complexType>
	<xs:complexType name="multi-properties-Type">
		<xs:annotation>
			<xs:documentation>The fo:multi-properties is used to switch between two or more property sets that are associated with a given portion of content.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="multi-property-set" maxOccurs="unbounded">
				<xs:complexType>
					<xs:attributeGroup ref="fo:all-attributes"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="wrapper" type="fo:wrapper-Type"/>
		</xs:sequence>
		<xs:attributeGroup ref="fo:all-attributes"/>
		<xs:anyAttribute namespace="##any" processContents="strict"/>
	</xs:complexType>
	<xs:complexType name="wrapper-Type" mixed="true">
		<xs:annotation>
			<xs:documentation>The fo:wrapper formatting object is used to specify inherited properties for a group of formatting objects.</xs:documentation>
		</xs:annotation>
		<xs:choice>
			<xs:group ref="fo:block-elements-Group"/>
			<xs:group ref="fo:inline-elements-Group"/>
		</xs:choice>
		<xs:attributeGroup ref="fo:all-attributes"/>
		<xs:anyAttribute namespace="##any" processContents="strict"/>
	</xs:complexType>
	<xs:complexType name="retrieve-marker-Type">
		<xs:annotation>
			<xs:documentation>The fo:retrieve-marker is used in conjunction with fo:marker to produce running headers or footers.</xs:documentation>
		</xs:annotation>
		<xs:attributeGroup ref="fo:all-attributes"/>
		<xs:anyAttribute namespace="##any" processContents="strict"/>
	</xs:complexType>
	<xs:complexType name="float-Type">
		<xs:annotation>
			<xs:documentation>The fo:float formatting object is typically used either to cause an image to be positioned in a separate area at the beginning of a page, or to cause an image to be positioned to one side, with normal content flowing around and along-side the image.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:group ref="fo:block-elements-Group"/>
		</xs:sequence>
		<xs:attributeGroup ref="fo:all-attributes"/>
	</xs:complexType>
	<xs:complexType name="footnote-Type">
		<xs:annotation>
			<xs:documentation>The fo:footnote is typically used to produce footnote-citations within the region-body of a page and the corresponding footnote in a separate area nearer the after-edge of the page.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="inline" type="fo:inline-Type"/>
			<xs:element name="footnote-body">
				<xs:annotation>
					<xs:documentation>The fo:footnote-body is used to generate the footnote content.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:group ref="fo:block-elements-Group"/>
					<xs:attributeGroup ref="fo:all-attributes"/>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attributeGroup ref="fo:all-attributes"/>
	</xs:complexType>
	<xs:group name="out-of-line-elements-Group2">
		<xs:annotation>
			<xs:documentation>The following "out-of-line" formatting objects may be used anywhere where #PCDATA or %inline; are allowed (except as a descendant of any "out-of-line" formatting object):</xs:documentation>
		</xs:annotation>
		<xs:choice>
			<xs:element name="footnote" type="fo:footnote-Type"/>
		</xs:choice>
	</xs:group>
	<xs:group name="block-elements-Group">
		<xs:sequence>
			<xs:element name="marker" type="fo:marker-Type" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="initial-property-set" type="fo:initial-property-set-Type" minOccurs="0"/>
			<xs:choice maxOccurs="unbounded">
				<xs:element name="block" type="fo:block-Type" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element name="block-container" type="fo:block-container-Type" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element name="table-and-caption" type="fo:table-and-caption-Type" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element name="table" type="fo:table-Type" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element name="list-block" type="fo:list-block-Type" minOccurs="0" maxOccurs="unbounded"/>
				<xs:group ref="fo:neutral-elements-Group"/>
				<xs:group ref="fo:out-of-line-elements-Group1"/>
			</xs:choice>
		</xs:sequence>
	</xs:group>
	<xs:group name="inline-elements-Group">
		<xs:annotation>
			<xs:documentation>Inline-level formatting objects are most commonly used to format a portion of text or for generating rules and leaders.</xs:documentation>
		</xs:annotation>
		<xs:choice>
			<xs:element name="bidi-override" type="fo:bidi-override-Type" maxOccurs="unbounded"/>
			<xs:element name="character" type="fo:character-Type" maxOccurs="unbounded"/>
			<xs:element name="external-graphic" type="fo:external-graphic-Type" maxOccurs="unbounded"/>
			<xs:element name="instream-foreign-object" type="fo:instream-foreign-object-Type" maxOccurs="unbounded"/>
			<xs:element name="inline" type="fo:inline-Type" maxOccurs="unbounded"/>
			<xs:element name="inline-container" type="fo:inline-container-Type" maxOccurs="unbounded"/>
			<xs:element name="leader" type="fo:leader-Type" maxOccurs="unbounded"/>
			<xs:element name="page-number" type="fo:page-number-Type" maxOccurs="unbounded"/>
			<xs:element name="page-number-citation" type="fo:page-number-citation-Type" maxOccurs="unbounded"/>
			<xs:element name="basic-link" type="fo:basic-link-Type" maxOccurs="unbounded"/>
			<xs:element name="multi-toggle" type="fo:multi-toggle-Type" maxOccurs="unbounded"/>
			<xs:group ref="fo:out-of-line-elements-Group2"/>
		</xs:choice>
	</xs:group>
	<xs:group name="neutral-elements-Group">
		<xs:annotation>
			<xs:documentation>The following formatting objects are "neutral" containers and may be used, provided that the additional constraints listed under each formatting object are satisfied, anywhere where #PCDATA, %block;, or %inline; are allowed:</xs:documentation>
		</xs:annotation>
		<xs:choice>
			<xs:element name="multi-switch" type="fo:multi-switch-Type" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="multi-properties" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="wrapper" type="fo:wrapper-Type" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="retrieve-marker" type="fo:retrieve-marker-Type" minOccurs="0" maxOccurs="unbounded"/>
		</xs:choice>
	</xs:group>
	<xs:group name="out-of-line-elements-Group1">
		<xs:annotation>
			<xs:documentation>The following "out-of-line" formatting objects may be used anywhere where #PCDATA, %block;, or %inline; are allowed (except as a descendant of any "out-of-line" formatting object):</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="float" type="fo:float-Type" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:group>
	<xs:attributeGroup name="all-attributes">
		<xs:attribute name="absolute-position" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="active-state" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="alignment-adjust" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="alignment-baseline" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="auto-restore" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="azimuth" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="background" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="background-attachment" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="background-color" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="background-image" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="background-position" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="background-position-horizontal" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="background-position-vertical" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="background-repeat" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="baseline-shift" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="blank-or-not-blank" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="block-progression-dimension" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="block-progression-dimension.minimum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="block-progression-dimension.optimum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="block-progression-dimension.maximum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-after-color" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-after-precedence" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-after-style" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-after-width" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-after-width.minumum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-after-width.optimum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-after-width.maximum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-after-width.conditionality" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-after-width.precedence" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-before-color" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-before-precedence" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-before-style" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-before-width" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-before-width.minumum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-before-width.optimum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-before-width.maximum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-before-width.conditionality" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-before-width.precedence" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-bottom" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-bottom-color" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-bottom-style" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-bottom-width" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-collapse" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-color" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-end-color" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-end-precedence" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-end-style" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-end-width" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-end-width.minumum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-end-width.optimum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-end-width.maximum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-end-width.conditionality" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-end-width.precedence" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-left" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-left-color" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-left-style" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-left-width" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-right" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-right-color" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-right-style" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-right-width" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-separation" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-spacing" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-start-color" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-start-precedence" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-start-style" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-start-width" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-start-width.minumum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-start-width.optimum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-start-width.maximum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-start-width.conditionality" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-start-width.precedence" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-style" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-top" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-top-color" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-top-style" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-top-width" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="border-width" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="bottom" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="break-after" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="break-before" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="caption-side" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="case-name" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="case-title" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="character" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="clear" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="clip" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="color" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="color-profile-name" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="column-count" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="column-gap" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="column-number" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="column-width" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="content-height" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="content-type" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="content-width" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="country" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="cue" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="cue-after" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="cue-before" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="destination-placement-offset" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="direction" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="display-align" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="dominant-baseline" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="elevation" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="empty-cells" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="end-indent" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="ends-row" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="extent" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="external-destination" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="float" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="flow-name" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="font" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="font-family" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="font-selection-strategy" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="font-size" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="font-size-adjust" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="font-stretch" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="font-style" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="font-variant" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="font-weight" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="force-page-count" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="format" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="glyph-orientation-horizontal" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="glyph-orientation-vertical" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="grouping-separator" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="grouping-size" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="height" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="hyphenate" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="hyphenation-character" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="hyphenation-keep" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="hyphenation-ladder-count" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="hyphenation-push-character-count" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="hyphenation-remain-character-count" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="id" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="indicate-destination" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="initial-page-number" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="inline-progression-dimension" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="inline-progression-dimension.minimum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="inline-progression-dimension.optimum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="inline-progression-dimension.maximum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="internal-destination" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="intrusion-displace" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="keep-together" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="keep-together.within-line" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="keep-together.within-column" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="keep-together.within-page" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="keep-with-next" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="keep-with-next.within-line" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="keep-with-next.within-column" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="keep-with-next.within-page" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="keep-with-previous" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="keep-with-previous.within-line" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="keep-with-previous.within-column" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="keep-with-previous.within-page" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="language" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="last-line-end-indent" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="leader-alignment" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="leader-length" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="leader-length.minimum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="leader-length.maximum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="leader-length.optimum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="leader-pattern" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="leader-pattern-width" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="left" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="letter-spacing" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="letter-spacing.minimum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="letter-spacing.optimum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="letter-spacing.maximum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="letter-spacing.precedence" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="letter-spacing.conditionality" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="letter-value" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="linefeed-treatment" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="line-height" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="line-height.minimum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="line-height.optimum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="line-height.maximum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="line-height.conditionality" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="line-height.precedence" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="line-height-shift-adjustment" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="line-stacking-strategy" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="margin" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="margin-right" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="margin-bottom" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="margin-left" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="margin-top" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="marker-class-name" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="master-name" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="master-reference" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="max-height" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="maximum-repeats" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="max-width" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="media-usage" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="min-height" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="min-width" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="number-columns-repeated" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="number-columns-spanned" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="number-rows-spanned" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="odd-or-even" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="orphans" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="overflow" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="padding" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="padding-after" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="padding-after.minimum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="padding-after.optimum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="padding-after.maximum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="padding-after.conditionality" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="padding-after.precedence" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="padding-before" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="padding-before.minimum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="padding-before.optimum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="padding-before.maximum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="padding-before.conditionality" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="padding-before.precedence" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="padding-bottom" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="padding-end" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="padding-end.minimum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="padding-end.optimum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="padding-end.maximum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="padding-end.conditionality" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="padding-end.precedence" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="padding-left" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="padding-right" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="padding-start" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="padding-start.minimum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="padding-start.optimum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="padding-start.maximum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="padding-start.conditionality" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="padding-start.precedence" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="padding-top" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="page-break-after" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="page-break-before" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="page-break-inside" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="page-height" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="page-position" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="page-width" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="pause" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="pause-after" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="pause-before" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="pitch" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="pitch-range" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="play-during" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="position" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="precedence" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="provisional-distance-between-starts" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="provisional-label-separation" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="reference-orientation" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="ref-id" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="region-name" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="relative-align" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="relative-position" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="rendering-intent" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="retrieve-boundary" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="retrieve-class-name" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="retrieve-position" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="richness" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="right" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="role" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="rule-style" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="rule-thickness" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="scaling" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="scaling-method" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="score-spaces" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="script" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="show-destination" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="size" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="source-document" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="space-after" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="space-after.minimum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="space-after.optimum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="space-after.maximum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="space-after.conditionality" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="space-after.precedence" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="space-before" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="space-before.minimum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="space-before.optimum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="space-before.maximum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="space-before.conditionality" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="space-before.precedence" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="space-end" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="space-end.minimum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="space-end.optimum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="space-end.maximum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="space-end.conditionality" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="space-end.precedence" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="space-start" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="space-start.minimum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="space-start.optimum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="space-start.maximum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="space-start.conditionality" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="space-start.precedence" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="span" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="speak" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="speak-header" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="speak-numerical" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="speak-punctuation" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="speech-rate" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="src" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="start-indent" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="starting-state" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="starts-row" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="stress" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="suppress-at-line-break" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="switch-to" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="table-layout" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="table-omit-footer-at-break" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="table-omit-header-at-break" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="target-presentation-context" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="target-processing-context" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="target-stylesheet" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="text-align" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="text-align-last" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="text-altitude" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="text-decoration" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="text-depth" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="text-indent" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="text-shadow" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="text-transform" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="top" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="treat-as-word-space" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="unicode-bidi" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="vertical-align" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="visibility" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="voice-family" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="volume" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="white-space" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="white-space-collapse" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="white-space-treatment" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="widows" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="width" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="word-spacing" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="word-spacing.minimum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="word-spacing.optimum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="word-spacing.maximum" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="word-spacing.conditionality" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="word-spacing.precedence" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="wrap-option" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="writing-mode" type="fo:fo-attribute" use="optional"/>
		<xs:attribute name="z-index" type="fo:fo-attribute" use="optional"/>
	</xs:attributeGroup>
	<xs:simpleType name="fo-attribute">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
		</xs:restriction>
	</xs:simpleType>
</xs:schema>
