<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.zkoss.org/2005/zul"
	targetNamespace="http://www.zkoss.org/2005/zul" elementFormDefault="qualified" version="10.0.0.202404301520">
	<!--
	SIMPLETYPE
	-->
	<xs:simpleType name="annotationType">
		<xs:restriction base="xs:string" />
	</xs:simpleType>
	<xs:simpleType name="booleanType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="false" />
					<xs:enumeration value="true" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:simpleType name="intType">
		<xs:union memberTypes="xs:integer annotationType" />
	</xs:simpleType>
	<xs:simpleType name="longType">
		<xs:union memberTypes="xs:long annotationType" />
	</xs:simpleType>
	<xs:simpleType name="doubleType">
		<xs:union memberTypes="xs:double annotationType" />
	</xs:simpleType>
	<xs:simpleType name="decimalType">
		<xs:union memberTypes="xs:decimal annotationType" />
	</xs:simpleType>
	<xs:simpleType name="dateType">
		<xs:union memberTypes="xs:dateTime annotationType" />
	</xs:simpleType>
	<xs:simpleType name="timezoneType">
		<xs:union memberTypes="xs:string annotationType" />
	</xs:simpleType>
	<xs:simpleType name="mediaType">
		<xs:union memberTypes="xs:string annotationType" />
	</xs:simpleType>
	<xs:simpleType name="layoutBorderAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="normal" />
					<xs:enumeration value="none" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:simpleType name="constraintAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="no empty" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:simpleType name="datetimeConstraintAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="no empty" />
					<xs:enumeration value="no past" />
					<xs:enumeration value="no future" />
					<xs:enumeration value="no today" />
					<xs:enumeration value="between yyyymmdd and yyyymmdd" />
					<xs:enumeration value="before yyyymmdd" />
					<xs:enumeration value="after yyyymmdd" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:simpleType name="localTimeConstraintAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="no empty" />
					<xs:enumeration value="no past" />
					<xs:enumeration value="no future" />
					<xs:enumeration value="no today" />
					<xs:enumeration value="between HHmmss and HHmmss" />
					<xs:enumeration value="before HHmmss" />
					<xs:enumeration value="after HHmmss" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:simpleType name="numberConstraintAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="no empty" />
					<xs:enumeration value="no zero" />
					<xs:enumeration value="no negative" />
					<xs:enumeration value="no positive" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:simpleType name="spinnerConstraintAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="no empty" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:pattern value="(min [0-9]+)?|(max [0-9]+)?|(min [0-9]+ max [0-9]+)?"/>
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:simpleType name="doubleSpinnerConstraintAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="no empty" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:pattern value="(min [0-9\.]+)?|(max [0-9\.]+)?|(min [0-9\.]+ max [0-9\.]+)?"/>
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:simpleType name="alignAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="top" />
					<xs:enumeration value="texttop" />
					<xs:enumeration value="middle" />
					<xs:enumeration value="absmiddle" />
					<xs:enumeration value="bottom" />
					<xs:enumeration value="absbottom" />
					<xs:enumeration value="baseline" />
					<xs:enumeration value="left" />
					<xs:enumeration value="right" />
					<xs:enumeration value="center" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:simpleType name="gridAlignAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="left" />
					<xs:enumeration value="right" />
					<xs:enumeration value="center" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:simpleType name="valignAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="top" />
					<xs:enumeration value="baseline" />
					<xs:enumeration value="middle" />
					<xs:enumeration value="bottom" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:simpleType name="tabsAlignAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="start" />
					<xs:enumeration value="center" />
					<xs:enumeration value="end" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:simpleType name="packAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="start" />
					<xs:enumeration value="center" />
					<xs:enumeration value="end" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:simpleType name="orientAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="horizontal" />
					<xs:enumeration value="vertical" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:simpleType name="crossOriginAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="anonymous" />
					<xs:enumeration value="use-credentials" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:simpleType name="dirAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="normal" />
					<xs:enumeration value="reverse" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:simpleType name="buttonTypeAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="button" />
					<xs:enumeration value="submit" />
					<xs:enumeration value="reset" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:simpleType name="sortAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="auto" />
					<xs:enumeration value="none" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:simpleType name="sortDirectionAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="natural" />
					<xs:enumeration value="ascending" />
					<xs:enumeration value="descending" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:simpleType name="areaShapeAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="rectangle" />
					<xs:enumeration value="circle" />
					<xs:enumeration value="polygon" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:simpleType name="textboxTypeAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="text" />
					<xs:enumeration value="password" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:simpleType name="collapseAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="after" />
					<xs:enumeration value="before" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:simpleType name="chartTypeAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="area" />
					<xs:enumeration value="bar" />
					<xs:enumeration value="bubble" />
					<xs:enumeration value="candlestick" />
					<xs:enumeration value="gantt" />
					<xs:enumeration value="hilow" />
					<xs:enumeration value="histogram" />
					<xs:enumeration value="line" />
					<xs:enumeration value="pie" />
					<xs:enumeration value="polar" />
					<xs:enumeration value="ring" />
					<xs:enumeration value="scatter" />
					<xs:enumeration value="stacked_area" />
					<xs:enumeration value="stacked_bar" />
					<xs:enumeration value="step" />
					<xs:enumeration value="step_area" />
					<xs:enumeration value="time_series" />
					<xs:enumeration value="wafermap" />
					<xs:enumeration value="waterfall" />
					<xs:enumeration value="wind" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:simpleType name="chartsTypeAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="arcdiagram" />
					<xs:enumeration value="area" />
					<xs:enumeration value="arearange" />
					<xs:enumeration value="areaspline" />
					<xs:enumeration value="areasplinerange" />
					<xs:enumeration value="bar" />
					<xs:enumeration value="bellcurve" />
					<xs:enumeration value="boxplot" />
					<xs:enumeration value="bubble" />
					<xs:enumeration value="bullet" />
					<xs:enumeration value="column" />
					<xs:enumeration value="columnpyramid" />
					<xs:enumeration value="columnrange" />
					<xs:enumeration value="cylinder" />
					<xs:enumeration value="dependencywheel" />
					<xs:enumeration value="dumbbell" />
					<xs:enumeration value="errorbar" />
					<xs:enumeration value="funnel" />
					<xs:enumeration value="funnel3d" />
					<xs:enumeration value="gauge" />
					<xs:enumeration value="heatmap" />
					<xs:enumeration value="histogram" />
					<xs:enumeration value="item" />
					<xs:enumeration value="line" />
					<xs:enumeration value="lollipop" />
					<xs:enumeration value="networkgraph" />
					<xs:enumeration value="organization" />
					<xs:enumeration value="packedbubble" />
					<xs:enumeration value="pareto" />
					<xs:enumeration value="pie" />
					<xs:enumeration value="polygon" />
					<xs:enumeration value="pyramid" />
					<xs:enumeration value="pyramid3d" />
					<xs:enumeration value="sankey" />
					<xs:enumeration value="scatter" />
					<xs:enumeration value="scatter3d" />
					<xs:enumeration value="solidgauge" />
					<xs:enumeration value="spline" />
					<xs:enumeration value="streamgraph" />
					<xs:enumeration value="sunburst" />
					<xs:enumeration value="tilemap" />
					<xs:enumeration value="timeline" />
					<xs:enumeration value="treemap" />
					<xs:enumeration value="variablepie" />
					<xs:enumeration value="variwide" />
					<xs:enumeration value="vector" />
					<xs:enumeration value="venn" />
					<xs:enumeration value="waterfall" />
					<xs:enumeration value="windbarb" />
					<xs:enumeration value="wordcloud" />
					<xs:enumeration value="xrange" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:simpleType name="chartPeriodAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="millisecond" />
					<xs:enumeration value="secondr" />
					<xs:enumeration value="minute" />
					<xs:enumeration value="hour" />
					<xs:enumeration value="day" />
					<xs:enumeration value="week" />
					<xs:enumeration value="month" />
					<xs:enumeration value="quarter" />
					<xs:enumeration value="year" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:simpleType name="zslangAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="Java" />
					<xs:enumeration value="JavaScript" />
					<xs:enumeration value="Groovy" />
					<xs:enumeration value="Ruby" />
					<xs:enumeration value="Python" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:simpleType name="portallayoutMaximizedModeTpye">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="column" />
					<xs:enumeration value="whole" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:simpleType name="sliderMode">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="integer" />
					<xs:enumeration value="decimal" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<!--
	ATTRIBUTEGROUP
	-->
	<xs:attributeGroup name="mouseAttrGroup">
		<xs:attribute name="onClick" use="optional"/>
		<xs:attribute name="onRightClick" use="optional"/>
	</xs:attributeGroup>
	<xs:attributeGroup name="mouseExtAttrGroup">
		<xs:attributeGroup ref="mouseAttrGroup" />
		<xs:attribute name="onDoubleClick" use="optional"/>
	</xs:attributeGroup>
	<xs:attributeGroup name="rootAttrGroup">
		<xs:attribute name="onBookmarkChange" type="xs:string" use="optional" />
		<xs:attribute name="onClientInfo" type="xs:string" use="optional" />
	</xs:attributeGroup>
	<xs:attributeGroup name="zkAttrGroup">
		<xs:attribute name="forEach" type="xs:string" use="optional" />
		<xs:attribute name="forEachBegin" type="xs:string" use="optional" />
		<xs:attribute name="forEachEnd" type="xs:string" use="optional" />
		<xs:attribute name="if" type="xs:string" use="optional" />
		<xs:attribute name="self" type="xs:string" use="optional" />
		<xs:attribute name="unless" type="xs:string" use="optional" />
		<xs:anyAttribute processContents="lax" />
	</xs:attributeGroup>
	<xs:attributeGroup name="abstractComponentAttrGroup">
		<xs:attributeGroup ref="zkAttrGroup" />
		<xs:attribute name="apply" type="xs:string" use="optional" />
		<xs:attribute name="auService" type="xs:string" use="optional" />
		<xs:attribute name="autag" type="xs:string" use="optional" />
		<xs:attribute name="binder" type="xs:string" use="optional" />
		<xs:attribute name="children" type="xs:string" use="optional" />
		<xs:attribute name="form" type="xs:string" use="optional" />
		<xs:attribute name="forward" type="xs:string" use="optional" />
		<xs:attribute name="fulfill" type="xs:string" use="optional" />
		<xs:attribute name="id" type="xs:string" use="optional" />
		<xs:attribute name="mold" type="xs:string" use="optional" />
		<xs:attribute name="onCreate" type="xs:string" use="optional" />
		<xs:attribute name="onFulfill" type="xs:string" use="optional" />
		<xs:attribute name="stubonly" type="xs:string" use="optional" />
		<xs:attribute name="use" type="xs:string" use="optional" />
		<xs:attribute name="viewModel" type="xs:string" use="optional" />
		<xs:attribute name="validationMessages" type="xs:string" use="optional" />
		<xs:attribute name="visible" type="booleanType" use="optional" />
		<xs:attribute name="parent" type="xs:string" use="optional" />
	</xs:attributeGroup>
	<xs:attributeGroup name="htmlBasedComponentAttrGroup">
		<xs:attributeGroup ref="abstractComponentAttrGroup" />
		<xs:attributeGroup ref="mouseExtAttrGroup" />
		<xs:attribute name="width" type="xs:string" use="optional" />
		<xs:attribute name="height" type="xs:string" use="optional" />
		<xs:attribute name="sclass" type="xs:string" use="optional" />
		<xs:attribute name="zclass" type="xs:string" use="optional" />
		<xs:attribute name="style" type="xs:string" use="optional" />
		<xs:attribute name="left" type="xs:string" use="optional" />
		<xs:attribute name="top" type="xs:string" use="optional" />
		<xs:attribute name="draggable" type="xs:string" use="optional" />
		<xs:attribute name="droppable" type="xs:string" use="optional" />
		<xs:attribute name="focus" type="booleanType" use="optional" />
		<xs:attribute name="tooltiptext" type="xs:string" use="optional" />
		<xs:attribute name="zindex" type="intType" use="optional" />
		<xs:attribute name="renderdefer" type="intType" use="optional" />
		<xs:attribute name="onAfterSize" type="xs:string" use="optional" />
		<xs:attribute name="onCancel" type="xs:string" use="optional" />
		<xs:attribute name="onCtrlKey" type="xs:string" use="optional" />
		<xs:attribute name="onDrop" type="xs:string" use="optional" />
		<xs:attribute name="onMouseOver" type="xs:string" use="optional" />
		<xs:attribute name="onMouseOut" type="xs:string" use="optional" />
		<xs:attribute name="onOK" type="xs:string" use="optional" />
		<xs:attribute name="onSwipe" type="xs:string" use="optional" />
		<xs:attribute name="action" type="xs:string" use="optional" />
		<xs:attribute name="hflex" type="xs:string" use="optional" />
		<xs:attribute name="vflex" type="xs:string" use="optional" />
		<xs:attribute name="tabindex" type="intType" use="optional" />
	</xs:attributeGroup>
	<xs:attributeGroup name="xulElementAttrGroup">
		<xs:attributeGroup ref="htmlBasedComponentAttrGroup" />
		<xs:attribute name="context" type="xs:string" use="optional" />
		<xs:attribute name="popup" type="xs:string" use="optional" />
		<xs:attribute name="tooltip" type="xs:string" use="optional" />
		<xs:attribute name="ctrlKeys" type="xs:string" use="optional" />
	</xs:attributeGroup>
	<xs:attributeGroup name="inputElementAttrGroup">
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="name" type="xs:string" use="optional" />
		<xs:attribute name="disabled" type="booleanType" use="optional" />
		<xs:attribute name="readonly" type="booleanType" use="optional" />
		<xs:attribute name="placeholder" type="xs:string" use="optional" />
		<xs:attribute name="inplace" type="booleanType" use="optional" />
		<xs:attribute name="instant" type="booleanType" use="optional" />
		<xs:attribute name="maxlength" type="intType" use="optional" />
		<xs:attribute name="cols" type="intType" use="optional" />
		<xs:attribute name="insertedText" type="xs:string" use="optional" />
		<xs:attribute name="text" type="xs:string" use="optional" />
		<xs:attribute name="onChange" type="xs:string" use="optional" />
		<xs:attribute name="onChanging" type="xs:string" use="optional" />
		<xs:attribute name="onFocus" type="xs:string" use="optional" />
		<xs:attribute name="onBlur" type="xs:string" use="optional" />
		<xs:attribute name="onOK" type="xs:string" use="optional" />
		<xs:attribute name="onCancel" type="xs:string" use="optional" />
		<xs:attribute name="inputAttributes" type="xs:string" use="optional" />
	</xs:attributeGroup>
	<xs:attributeGroup name="formatInputElementAttrGroup">
		<xs:attributeGroup ref="inputElementAttrGroup" />
		<xs:attribute name="format" type="xs:string" use="optional" />
	</xs:attributeGroup>
	<xs:attributeGroup name="numberInputElementAttrGroup">
		<xs:attributeGroup ref="formatInputElementAttrGroup" />
		<xs:attribute name="roundingMode" type="intType" use="optional" />
		<xs:attribute name="locale" type="xs:string" use="optional" />
	</xs:attributeGroup>
	<xs:attributeGroup name="dateTimeInputElementAttrGroup">
		<xs:attributeGroup ref="formatInputElementAttrGroup" />
		<xs:attribute name="constraint" type="datetimeConstraintAttrType" use="optional" />
		<xs:attribute name="locale" type="xs:string" use="optional" />
		<xs:attribute name="timeZone" type="timezoneType" use="optional" />
		<xs:attribute name="value" type="dateType" use="optional" />
		<xs:attribute name="valueInLocalDate" type="dateType" use="optional" />
		<xs:attribute name="valueInLocalDateTime" type="dateType" use="optional" />
		<xs:attribute name="valueInLocalTime" type="dateType" use="optional" />
		<xs:attribute name="valueInZonedDateTime" type="dateType" use="optional" />
	</xs:attributeGroup>
	<xs:attributeGroup name="labelElementAttrGroup">
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="label" type="xs:string" use="optional" />
	</xs:attributeGroup>
	<xs:attributeGroup name="labelImageElementAttrGroup">
		<xs:attributeGroup ref="labelElementAttrGroup" />
		<xs:attribute name="iconSclass" type="xs:string" use="optional" />
		<xs:attribute name="iconTooltip" type="xs:string" use="optional" />
		<xs:attribute name="image" type="xs:string" use="optional" />
		<xs:attribute name="imageContent" type="mediaType" use="optional" />
		<xs:attribute name="hoverImage" type="xs:string" use="optional" />
		<xs:attribute name="hoverImageContent" type="mediaType" use="optional" />
	</xs:attributeGroup>
	<xs:attributeGroup name="headerElementAttrGroup">
		<xs:attributeGroup ref="labelImageElementAttrGroup" />
		<xs:attribute name="align" type="gridAlignAttrType" use="optional" />
		<xs:attribute name="valign" type="valignAttrType" use="optional" />
	</xs:attributeGroup>
	<xs:attributeGroup name="footerElementAttrGroup">
		<xs:attributeGroup ref="labelImageElementAttrGroup" />
		<xs:attribute name="align" type="gridAlignAttrType" use="optional" />
		<xs:attribute name="valign" type="valignAttrType" use="optional" />
		<xs:attribute name="span" type="intType" use="optional" />
	</xs:attributeGroup>
	<xs:attributeGroup name="plotAttrGroup">
		<xs:attribute name="onPlotClick" type="xs:string" use="optional" />
		<xs:attribute name="onPlotCheckboxClick" type="xs:string" use="optional" />
		<xs:attribute name="onPlotDrillDown" type="xs:string" use="optional" />
		<xs:attribute name="onPlotDrillUp" type="xs:string" use="optional" />
		<xs:attribute name="onPlotHide" type="xs:string" use="optional" />
		<xs:attribute name="onPlotLegendItemClick" type="xs:string" use="optional" />
		<xs:attribute name="onPlotMouseOut" type="xs:string" use="optional" />
		<xs:attribute name="onPlotMouseOver" type="xs:string" use="optional" />
		<xs:attribute name="onPlotShow" type="xs:string" use="optional" />
		<xs:attribute name="onPlotMouseOutPoint" type="xs:string" use="optional" />
		<xs:attribute name="onPlotMouseOverPoint" type="xs:string" use="optional" />
		<xs:attribute name="onPlotSelect" type="xs:string" use="optional" />
		<xs:attribute name="onPlotUnselect" type="xs:string" use="optional" />
	</xs:attributeGroup>
	<!--
	ELEMENTGROUP
	-->
	<xs:group name="baseGroup">
		<xs:choice>
			<xs:element ref="attribute" />
			<xs:element ref="custom-attributes" />
			<xs:element ref="variables" />
			<xs:element ref="template" />
			<xs:element ref="zk" />
			<xs:any namespace="##other" processContents="lax" />
		</xs:choice>
	</xs:group>
	<xs:group name="anyGroup">
		<xs:choice>
			<xs:group ref="baseGroup" />
			<xs:element ref="a" />
			<xs:element ref="absolutelayout"/>
			<xs:element ref="anchorlayout"/>
			<xs:element ref="anchornav"/>
			<xs:element ref="apply"/>
			<xs:element ref="audio" />
			<xs:element ref="video" />
			<xs:element ref="camera" />
			<xs:element ref="bandbox" />
			<xs:element ref="barcode" />
			<xs:element ref="barcodescanner" />
			<xs:element ref="biglistbox" />
			<xs:element ref="borderlayout" />
			<xs:element ref="box" />
			<xs:element ref="button" />
			<xs:element ref="calendar" />
			<xs:element ref="calendars" />
			<xs:element ref="captcha" />
			<xs:element ref="cardlayout" />
			<xs:element ref="cascader" />
			<xs:element ref="cell" />
			<xs:element ref="chart" />
			<xs:element ref="charts" />
			<xs:element ref="checkbox" />
			<xs:element ref="coachmark" />
			<xs:element ref="choose" />
			<xs:element ref="chosenbox" />
			<xs:element ref="ckeditor" />
			<xs:element ref="colorbox" />
			<xs:element ref="columnlayout" />
			<xs:element ref="combobox" />
			<xs:element ref="combobutton" />
			<xs:element ref="datebox" />
			<xs:element ref="decimalbox" />
			<xs:element ref="div" />
			<xs:element ref="doublebox" />
			<xs:element ref="doublespinner" />
			<xs:element ref="drawer"/>
			<xs:element ref="dropupload"/>
			<xs:element ref="fckeditor" />
			<xs:element ref="fisheyebar" />
			<xs:element ref="forEach" />
			<xs:element ref="frozen" />
			<xs:element ref="gmaps" />
			<xs:element ref="grid" />
			<xs:element ref="groupbox" />
			<xs:element ref="hbox" />
			<xs:element ref="hlayout" />
			<xs:element ref="html" />
			<xs:element ref="idspace" />
			<xs:element ref="if" />
			<xs:element ref="iframe" />
			<xs:element ref="image" />
			<xs:element ref="imagemap" />
			<xs:element ref="include" />
			<xs:element ref="inputgroup" />
			<xs:element ref="intbox" />
			<xs:element ref="label" />
			<xs:element ref="linelayout" />
			<xs:element ref="lineitem" />
			<xs:element ref="listbox" />
			<xs:element ref="longbox" />
			<xs:element ref="menubar" />
			<xs:element ref="menupopup" />
			<xs:element ref="multislider" />
			<xs:element ref="navbar" />
			<xs:element ref="otherwise" />
			<xs:element ref="paging" />
			<xs:element ref="panel" />
			<xs:element ref="pdfviewer" />
			<xs:element ref="pivottable" />
			<xs:element ref="popup" />
			<xs:element ref="portallayout" />
			<xs:element ref="progressmeter" />
			<xs:element ref="radio" />
			<xs:element ref="radiogroup" />
			<xs:element ref="rangeslider" />
			<xs:element ref="rowlayout" />
			<xs:element ref="span" />
			<xs:element ref="script" />
			<xs:element ref="scrollview" />
			<xs:element ref="searchbox" />
			<xs:element ref="selectbox" />
			<xs:element ref="separator" />
			<xs:element ref="signature" />
			<xs:element ref="slider" />
			<xs:element ref="sliderbuttons" />
			<xs:element ref="space" />
			<xs:element ref="spinner" />
			<xs:element ref="splitlayout" />
			<xs:element ref="step" />
			<xs:element ref="stepbar" />
			<xs:element ref="style" />
			<xs:element ref="tabbox" />
			<xs:element ref="tablelayout" />
			<xs:element ref="tbeditor" />
			<xs:element ref="textbox" />
			<xs:element ref="timer" />
			<xs:element ref="timebox" />
			<xs:element ref="timepicker" />
			<xs:element ref="toolbar" />
			<xs:element ref="toolbarbutton" />
			<xs:element ref="tree" />
			<xs:element ref="vbox" />
			<xs:element ref="vlayout" />
			<xs:element ref="when" />
			<xs:element ref="window" />
			<xs:element ref="zscript" />
			<xs:element ref="organigram" />
		</xs:choice>
	</xs:group>
	<xs:group name="anyGroupSingle">
		<xs:sequence>
			<xs:choice>
				<xs:element ref="a" />
				<xs:element ref="absolutelayout"/>
				<xs:element ref="anchorlayout"/>
				<xs:element ref="anchornav"/>
				<xs:element ref="apply"/>
				<xs:element ref="audio" />
				<xs:element ref="video" />
				<xs:element ref="camera" />
				<xs:element ref="bandbox" />
				<xs:element ref="barcode" />
				<xs:element ref="barcodescanner" />
				<xs:element ref="biglistbox" />
				<xs:element ref="borderlayout" />
				<xs:element ref="box" />
				<xs:element ref="button" />
				<xs:element ref="calendar" />
				<xs:element ref="calendars" />
				<xs:element ref="captcha" />
				<xs:element ref="cardlayout" />
				<xs:element ref="cascader" />
				<xs:element ref="cell" />
				<xs:element ref="chart" />
				<xs:element ref="charts" />
				<xs:element ref="checkbox" />
				<xs:element ref="coachmark" />
				<xs:element ref="choose" />
				<xs:element ref="chosenbox" />
				<xs:element ref="ckeditor" />
				<xs:element ref="colorbox" />
				<xs:element ref="columnlayout" />
				<xs:element ref="combobox" />
				<xs:element ref="combobutton" />
				<xs:element ref="datebox" />
				<xs:element ref="decimalbox" />
				<xs:element ref="div" />
				<xs:element ref="doublebox" />
				<xs:element ref="doublespinner" />
				<xs:element ref="drawer"/>
				<xs:element ref="dropupload"/>
				<xs:element ref="fckeditor" />
				<xs:element ref="fisheyebar" />
				<xs:element ref="forEach" />
				<xs:element ref="frozen" />
				<xs:element ref="gmaps" />
				<xs:element ref="grid" />
				<xs:element ref="groupbox" />
				<xs:element ref="hbox" />
				<xs:element ref="hlayout" />
				<xs:element ref="html" />
				<xs:element ref="idspace" />
				<xs:element ref="if" />
				<xs:element ref="iframe" />
				<xs:element ref="image" />
				<xs:element ref="imagemap" />
				<xs:element ref="include" />
				<xs:element ref="inputgroup" />
				<xs:element ref="intbox" />
				<xs:element ref="label" />
				<xs:element ref="linelayout" />
				<xs:element ref="lineitem" />
				<xs:element ref="listbox" />
				<xs:element ref="longbox" />
				<xs:element ref="menubar" />
				<xs:element ref="menupopup" />
				<xs:element ref="multislider" />
				<xs:element ref="navbar" />
				<xs:element ref="otherwise" />
				<xs:element ref="paging" />
				<xs:element ref="panel" />
				<xs:element ref="pdfviewer" />
				<xs:element ref="pivottable" />
				<xs:element ref="popup" />
				<xs:element ref="portallayout" />
				<xs:element ref="progressmeter" />
				<xs:element ref="radio" />
				<xs:element ref="radiogroup" />
				<xs:element ref="rangeslider" />
				<xs:element ref="rowlayout" />
				<xs:element ref="span" />
				<xs:element ref="script" />
				<xs:element ref="scrollview" />
				<xs:element ref="searchbox" />
				<xs:element ref="selectbox" />
				<xs:element ref="separator" />
				<xs:element ref="signature" />
				<xs:element ref="slider" />
				<xs:element ref="sliderbuttons" />
				<xs:element ref="space" />
				<xs:element ref="spinner" />
				<xs:element ref="splitlayout" />
				<xs:element ref="step" />
				<xs:element ref="stepbar" />
				<xs:element ref="style" />
				<xs:element ref="tabbox" />
				<xs:element ref="tbeditor" />
				<xs:element ref="textbox" />
				<xs:element ref="timer" />
				<xs:element ref="timebox" />
				<xs:element ref="timepicker" />
				<xs:element ref="toolbar" />
				<xs:element ref="toolbarbutton" />
				<xs:element ref="nodom" />
				<xs:element ref="tree" />
				<xs:element ref="vbox" />
				<xs:element ref="vlayout" />
				<xs:element ref="when" />
				<xs:element ref="window" />
				<xs:element ref="zscript" />
				<xs:element ref="organigram" />
			</xs:choice>
			<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:group>
	<!--
	ELEMENT
	-->
	<!-- a -->
	<xs:element name="a" type="aType" />
	<xs:complexType name="aType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="labelImageElementAttrGroup" />
		<xs:attribute name="dir" type="dirAttrType" use="optional" />
		<xs:attribute name="href" type="xs:string" use="optional" />
		<xs:attribute name="target" type="xs:string" use="optional" />
		<xs:attribute name="autodisable" type="xs:string" use="optional" />
		<xs:attribute name="disabled" type="booleanType" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- absolutechildren -->
	<xs:element name="absolutechildren" type="absolutechildrenType" />
	<xs:complexType name="absolutechildrenType">
		<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="x" type="intType" use="optional" />
		<xs:attribute name="y" type="intType" use="optional" />
	</xs:complexType>
	<!-- absolutelayout -->
	<xs:element name="absolutelayout" type="absolutelayoutType" />
	<xs:complexType name="absolutelayoutType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="baseGroup" />
			<xs:element ref="absolutechildren" />
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
	</xs:complexType>
	<!-- anchorchildren -->
	<xs:element name="anchorchildren" type="anchorchildrenType" />
	<xs:complexType name="anchorchildrenType">
		<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="anchor" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- anchorlayout -->
	<xs:element name="anchorlayout" type="anchorlayoutType" />
	<xs:complexType name="anchorlayoutType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="baseGroup" />
			<xs:element ref="anchorchildren" />
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
	</xs:complexType>
	<!-- anchornav -->
	<xs:element name="anchornav" type="anchornavType" />
	<xs:complexType name="anchornavType">
		<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attribute name="name" type="xs:string" use="optional" />
		<xs:attribute name="positionFixed" type="booleanType" use="optional" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
	</xs:complexType>
	<!-- area -->
	<xs:element name="area" type="areaType" />
	<xs:complexType name="areaType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="abstractComponentAttrGroup" />
		<xs:attribute name="shape" type="areaShapeAttrType" use="optional" />
		<xs:attribute name="coords" type="xs:string" use="optional" />
		<xs:attribute name="tooltiptext" type="xs:string" use="optional" />
		<xs:attribute name="tabindex" type="intType" use="optional" />
	</xs:complexType>
	<!-- attribute -->
	<xs:element name="attribute" type="attributeType" />
	<xs:complexType name="attributeType">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attributeGroup ref="zkAttrGroup" />
				<xs:attribute name="name" type="xs:string" use="required" />
				<xs:attribute name="trim" type="booleanType" use="optional" />
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<!-- audio -->
	<xs:element name="audio" type="audioType" />
	<xs:complexType name="audioType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="baseGroup" />
			<xs:element ref="track" minOccurs="0"/>
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="align" type="alignAttrType" use="optional" />
		<xs:attribute name="border" type="xs:string" use="optional" />
		<xs:attribute name="src" type="xs:string" use="optional" />
		<xs:attribute name="preload" type="audioPreloadAttrType" use="optional" />
		<xs:attribute name="controls" type="booleanType" use="optional" />
		<xs:attribute name="loop" type="booleanType" use="optional" />
		<xs:attribute name="autostart" type="booleanType" use="optional" />
		<xs:attribute name="autoplay" type="booleanType" use="optional" />
		<xs:attribute name="onStateChange" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<xs:simpleType name="audioPreloadAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="none" />
					<xs:enumeration value="auto" />
					<xs:enumeration value="metadata" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<!-- video -->
	<xs:element name="video" type="videoType" />
	<xs:complexType name="videoType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="baseGroup" />
			<xs:element ref="track" minOccurs="0"/>
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="dimBackground" type="booleanType" use="optional" />
		<xs:attribute name="muted" type="booleanType" use="optional" />
		<xs:attribute name="src" type="xs:string" use="optional" />
		<xs:attribute name="poster" type="xs:string" use="optional" />
		<xs:attribute name="crossorigin" type="crossOriginAttrType" use="optional" />
		<xs:attribute name="preload" type="videoPreloadAttrType" use="optional" />
		<xs:attribute name="controls" type="booleanType" use="optional" />
		<xs:attribute name="loop" type="booleanType" use="optional" />
		<xs:attribute name="autoplay" type="booleanType" use="optional" />
		<xs:attribute name="playsinline" type="booleanType" use="optional" />
		<xs:attribute name="playing" type="booleanType" use="optional" />
		<xs:attribute name="clipToFit" type="booleanType" use="optional" />
		<xs:attribute name="currentTime" type="doubleType" use="optional" />
		<xs:attribute name="volume" type="doubleType" use="optional" />
		<xs:attribute name="content" type="mediaType" use="optional" />
		<xs:attribute name="onStateChange" type="xs:string" use="optional" />
		<xs:attribute name="playbackRate" type="doubleType" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<xs:simpleType name="videoPreloadAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="none" />
					<xs:enumeration value="auto" />
					<xs:enumeration value="metadata" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<!-- camera -->
	<xs:element name="camera" type="cameraType" />
	<xs:complexType name="cameraType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="recording" type="booleanType" use="optional" />
		<xs:attribute name="audio" type="booleanType" use="optional" />
		<xs:attribute name="previewRecord" type="booleanType" use="optional" />
		<xs:attribute name="maxsize" type="intType" use="optional" />
		<xs:attribute name="lengthLimit" type="intType" use="optional" />
		<xs:attribute name="onVideoUpload" type="xs:string" use="optional" />
		<xs:attribute name="onSnapshotUpload" type="xs:string" use="optional" />
		<xs:attribute name="onLengthLimitExceed" type="xs:string" use="optional" />
		<xs:attribute name="onStateChange" type="xs:string" use="optional" />
		<xs:attribute name="onMaxsizeExceed" type="xs:string" use="optional" />
		<xs:attribute name="snapshotFormat" type="xs:string" use="optional" />
		<xs:attribute name="recordFormat" type="xs:string" use="optional" />
		<xs:attribute name="constraints" type="xs:string" use="optional"/>
		<xs:attribute name="constraintsString" type="xs:string" use="optional"/>
		<xs:attribute name="onCameraUnavailable" type="xs:string" use="optional"/>
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- auxhead -->
	<xs:element name="auxhead" type="auxheadType" />
	<xs:complexType name="auxheadType">
		<xs:sequence>
			<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
			<xs:sequence minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="auxheader" />
				<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
			</xs:sequence>
		</xs:sequence>
		<xs:attributeGroup ref="xulElementAttrGroup" />
	</xs:complexType>
	<!-- auxheader -->
	<xs:element name="auxheader" type="auxheaderType" />
	<xs:complexType name="auxheaderType">
		<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="headerElementAttrGroup" />
		<xs:attribute name="colspan" type="intType" use="optional" />
		<xs:attribute name="rowspan" type="intType" use="optional" />
	</xs:complexType>
	<!-- bandbox -->
	<xs:element name="bandbox" type="bandboxType" />
	<xs:complexType name="bandboxType">
		<xs:sequence>
			<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
			<xs:sequence minOccurs="0" maxOccurs="1">
				<xs:element ref="bandpopup" />
				<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
			</xs:sequence>
		</xs:sequence>
		<xs:attributeGroup ref="inputElementAttrGroup" />
		<xs:attribute name="autodrop" type="booleanType" use="optional" />
		<xs:attribute name="buttonVisible" type="booleanType" use="optional" />
		<xs:attribute name="constraint" type="constraintAttrType" use="optional" />
		<xs:attribute name="value" type="xs:string" use="optional" />
		<xs:attribute name="type" type="textboxTypeAttrType" use="optional" />
		<xs:attribute name="open" type="booleanType" use="optional" />
		<xs:attribute name="onOpen" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
		<xs:attribute name="popupWidth" type="xs:string" use="optional" />
		<xs:attribute name="iconSclass" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- bandpopup -->
	<xs:element name="bandpopup" type="bandpopupType" />
	<xs:complexType name="bandpopupType" mixed="true">
		<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
	</xs:complexType>
	<!--barcode-->
	<xs:element name="barcode" type="barcodeType"/>
	<xs:complexType name="barcodeType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded"/>
		<xs:attribute name="value" type="xs:string" use="optional"/>
		<xs:attribute name="type" type="xs:string" use="optional"/>
		<xs:attribute name="height" type="xs:string" use="optional"/>
		<xs:attribute name="displayValue" type="booleanType" use="optional"/>
		<xs:attribute name="fontSize" type="intType" use="optional"/>
		<xs:attribute name="barWidth" type="intType" use="optional"/>
	</xs:complexType>
	<!-- barcodescanner -->
	<xs:element name="barcodescanner" type="barcodescannerType" />
	<xs:complexType name="barcodescannerType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="type" type="xs:string" use="optional" />
		<xs:attribute name="continuous" type="booleanType" use="optional" />
		<xs:attribute name="interval" type="doubleType" use="optional" />
		<xs:attribute name="enable" type="booleanType" use="optional" />
		<xs:attribute name="onDetect" type="xs:string" use="optional" />
		<xs:attribute name="constraints" type="xs:string" use="optional"/>
		<xs:attribute name="constraintsString" type="xs:string" use="optional"/>
		<xs:attribute name="consistencyBufferSize" type="intType" use="optional" />
		<xs:attribute name="consistencyThreshold" type="intType" use="optional" />
		<xs:attribute name="errorAcceptance" type="doubleType" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- biglistbox -->
	<xs:element name="biglistbox" type="biglistboxType" />
	<xs:complexType name="biglistboxType" mixed="true">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="rows" type="intType" use="optional" />
		<xs:attribute name="cols" type="intType" use="optional" />
		<xs:attribute name="frozenCols" type="intType" use="optional" />
		<xs:attribute name="rowHeight" type="xs:string" use="optional" />
		<xs:attribute name="colWidth" type="xs:string" use="optional" />
		<xs:attribute name="maxtrixRenderer" type="xs:string" use="optional" />
		<xs:attribute name="model" type="xs:string" use="optional" />
		<xs:attribute name="sortAscending" type="xs:string" use="optional" />
		<xs:attribute name="sortDescending" type="xs:string" use="optional" />
		<xs:attribute name="oddRowSclass" type="xs:string" use="optional" />
		<xs:attribute name="onSelect" type="xs:string" use="optional" />
		<xs:attribute name="onScroll" type="xs:string" use="optional" />
		<xs:attribute name="onScrollX" type="xs:string" use="optional" />
		<xs:attribute name="onScrollY" type="xs:string" use="optional" />
		<xs:attribute name="onCellClick" type="xs:string" use="optional" />
		<xs:attribute name="onAfterRender" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- borderlayout -->
	<xs:element name="borderlayout" type="borderlayoutType" />
	<xs:complexType name="borderlayoutType" mixed="true">
		<xs:all>
			<xs:element ref="attribute" minOccurs="0" maxOccurs="1" />
			<xs:element ref="custom-attributes" minOccurs="0" maxOccurs="1" />
			<xs:element ref="variables" minOccurs="0" maxOccurs="1" />
			<xs:element ref="north" minOccurs="0" maxOccurs="1" />
			<xs:element ref="south" minOccurs="0" maxOccurs="1" />
			<xs:element ref="center" minOccurs="0" maxOccurs="1" />
			<xs:element ref="west" minOccurs="0" maxOccurs="1" />
			<xs:element ref="east" minOccurs="0" maxOccurs="1" />
		</xs:all>
		<xs:attributeGroup ref="htmlBasedComponentAttrGroup" />
		<xs:attributeGroup ref="rootAttrGroup" />
		<xs:attribute name="animationDisabled" type="booleanType" use="optional" />
	</xs:complexType>
	<!-- box -->
	<xs:element name="box" type="boxType" />
	<xs:complexType name="boxType" mixed="true">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="anyGroup" />
			<xs:element ref="splitter" />
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="orient" type="orientAttrType" use="optional" />
		<xs:attribute name="spacing" type="xs:string" use="optional" />
		<xs:attribute name="widths" type="xs:string" use="optional" />
		<xs:attribute name="heights" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
		<xs:attribute name="align" type="packAttrType" use="optional" />
		<xs:attribute name="pack" type="packAttrType" use="optional" />
		<xs:attribute name="sizedByContent" type="booleanType" use="optional" />
	</xs:complexType>
	<!-- button -->
	<xs:element name="button" type="buttonType" />
	<xs:complexType name="buttonType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="labelImageElementAttrGroup" />
		<xs:attribute name="orient" type="orientAttrType" use="optional" />
		<xs:attribute name="dir" type="dirAttrType" use="optional" />
		<xs:attribute name="type" type="buttonTypeAttrType" use="optional" />
		<xs:attribute name="href" type="xs:string" use="optional" />
		<xs:attribute name="target" type="xs:string" use="optional" />
		<xs:attribute name="disabled" type="booleanType" use="optional" />
		<xs:attribute name="autodisable" type="xs:string" use="optional" />
		<xs:attribute name="upload" type="xs:string" use="optional" />
		<xs:attribute name="onUpload" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- calendar -->
	<xs:element name="calendar" type="calendarType" />
	<xs:complexType name="calendarType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="name" type="xs:string" use="optional" />
		<xs:attribute name="value" type="dateType" use="optional" />
		<xs:attribute name="valueInLocalDate" type="dateType" use="optional" />
		<xs:attribute name="valueInLocalDateTime" type="dateType" use="optional" />
		<xs:attribute name="valueInLocalTime" type="dateType" use="optional" />
		<xs:attribute name="valueInZonedDateTime" type="dateType" use="optional" />
		<xs:attribute name="weekOfYear" type="booleanType" use="optional" />
		<xs:attribute name="onChange" type="xs:string" use="optional" />
		<xs:attribute name="onWeekClick" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
		<xs:attribute name="showTodayLink" type="booleanType" use="optional" />
		<xs:attribute name="constraint" type="datetimeConstraintAttrType" use="optional" />
	</xs:complexType>
	<!-- calendars -->
	<xs:element name="calendars" type="calendarsType" />
	<xs:complexType name="calendarsType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="baseGroup" />
			<xs:element ref="toolbar" minOccurs="0"/>
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="days" type="intType" use="optional" />
		<xs:attribute name="beginTime" type="intType" use="optional" />
		<xs:attribute name="endTime" type="intType" use="optional" />
		<xs:attribute name="timeslots" type="intType" use="optional" />
		<xs:attribute name="model" type="xs:string" use="optional" />
		<xs:attribute name="firstDayOfWeek" type="xs:string" use="optional" />
		<xs:attribute name="weekOfYear" type="xs:string" use="optional" />
		<xs:attribute name="dateFormatter" type="xs:string" use="optional" />
		<xs:attribute name="readonly" type="xs:string" use="optional" />
		<xs:attribute name="timeZone" type="xs:string" use="optional" />
		<xs:attribute name="onItemCreate" type="xs:string" use="optional" />
		<xs:attribute name="onItemEdit" type="xs:string" use="optional" />
		<xs:attribute name="onItemUpdate" type="xs:string" use="optional" />
		<xs:attribute name="onItemTooltip" type="xs:string" use="optional" />
		<xs:attribute name="onDayClick" type="xs:string" use="optional" />
		<xs:attribute name="onWeekClick" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- caption -->
	<xs:element name="caption" type="captionType" />
	<xs:complexType name="captionType" mixed="true">
		<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="labelImageElementAttrGroup" />
		<xs:attribute name="src" type="xs:string" use="optional" />
	</xs:complexType>

	<!-- captcha -->
	<xs:element name="captcha" type="captchaType" />
	<xs:complexType name="captchaType">
		<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="bgColor" type="xs:string" use="optional" />
		<xs:attribute name="engine" type="xs:string" use="optional" />
		<xs:attribute name="exclude" type="xs:string" use="optional" />
		<xs:attribute name="frame" type="booleanType" use="optional" />
		<xs:attribute name="fontColor" type="xs:string" use="optional" />
		<xs:attribute name="length" type="xs:string" use="optional" />
		<xs:attribute name="noise" type="booleanType" use="optional" />
		<xs:attribute name="value" type="xs:string" use="optional" />
	</xs:complexType>

	<!-- cardlayout -->
	<xs:element name="cardlayout" type="cardlayoutType" />
	<xs:complexType name="cardlayoutType">
		<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attributeGroup ref="rootAttrGroup" />
		<xs:attribute name="selectedIndex" type="intType" use="optional" />
		<xs:attribute name="orient" type="orientAttrType" use="optional" />
	</xs:complexType>

	<xs:element name="cell" type="cellType" />
	<xs:complexType name="cellType" mixed="true">
		<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="colspan" type="intType" use="optional" />
		<xs:attribute name="rowspan" type="intType" use="optional" />
		<xs:attribute name="align" type="gridAlignAttrType" use="optional" />
		<xs:attribute name="valign" type="valignAttrType" use="optional" />
	</xs:complexType>
	<!-- cascader -->
	<xs:element name="cascader" type="cascaderType" />
	<xs:complexType name="cascaderType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="htmlBasedComponentAttrGroup" />
		<xs:attribute name="disabled" type="booleanType" use="optional" />
		<xs:attribute name="itemConverter" type="xs:string" use="optional" />
		<xs:attribute name="itemRenderer" type="xs:string" use="optional" />
		<xs:attribute name="model" type="xs:string" use="optional" />
		<xs:attribute name="open" type="booleanType" use="optional" />
		<xs:attribute name="placeholder" type="xs:string" use="optional" />
		<xs:attribute name="selectedItem" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
		<xs:attribute name="onAfterRender" type="xs:string" use="optional" />
		<xs:attribute name="onOpen" type="xs:string" use="optional" />
		<xs:attribute name="onSelect" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- center -->
	<xs:element name="center" type="centerType" />
	<xs:complexType name="centerType">
		<xs:sequence>
			<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
			<xs:element ref="caption" minOccurs="0" maxOccurs="1" />
			<xs:group ref="anyGroupSingle" minOccurs="0" maxOccurs="1" />
		</xs:sequence>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="flex" type="booleanType" use="optional" />
		<xs:attribute name="margins" type="xs:string" use="optional" />
		<xs:attribute name="autoscroll" type="booleanType" use="optional" />
		<xs:attribute name="border" type="layoutBorderAttrType" use="optional" />
		<xs:attribute name="onOpen" type="xs:string" use="optional" />
		<xs:attribute name="title" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- chart -->
	<xs:element name="chart" type="chartType" />
	<xs:complexType name="chartType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="type" type="chartTypeAttrType" use="optional" />
		<xs:attribute name="model" type="xs:string" use="optional" />
		<xs:attribute name="title" type="xs:string" use="optional" />
		<xs:attribute name="xAxis" type="xs:string" use="optional" />
		<xs:attribute name="yAxis" type="xs:string" use="optional" />
		<xs:attribute name="threeD" type="booleanType" use="optional" />
		<xs:attribute name="showLegend" type="booleanType" use="optional" />
		<xs:attribute name="showTooltiptext" type="booleanType" use="optional" />
		<xs:attribute name="paneAlpha" type="xs:string" use="optional" />
		<xs:attribute name="paneColor" type="xs:string" use="optional" />
		<xs:attribute name="fgAlpha" type="xs:string" use="optional" />
		<xs:attribute name="bgAlpha" type="xs:string" use="optional" />
		<xs:attribute name="bgColor" type="xs:string" use="optional" />
		<xs:attribute name="orient" type="orientAttrType" use="optional" />
		<xs:attribute name="timeZone" type="timezoneType" use="optional" />
		<xs:attribute name="period" type="chartPeriodAttrType" use="optional" />
		<xs:attribute name="areaListener" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- ZK Charts -->
	<xs:element name="charts" type="chartsType" />
	<xs:complexType name="chartsType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="abstractComponentAttrGroup" />
		<xs:attribute name="alignTicks" type="booleanType" use="optional" />
		<xs:attribute name="animation" type="booleanType" use="optional" />
		<xs:attribute name="backgroundColor" type="xs:string" use="optional" />
		<xs:attribute name="borderColor" type="xs:string" use="optional" />
		<xs:attribute name="borderRadius" type="xs:string" use="optional" />
		<xs:attribute name="borderWidth" type="xs:string" use="optional" />
		<xs:attribute name="caption" type="xs:string" use="optional" />
		<xs:attribute name="chart" type="xs:string" use="optional" />
		<xs:attribute name="colors" type="xs:string" use="optional" />
		<xs:attribute name="credits" type="xs:string" use="optional" />
		<xs:attribute name="className" type="xs:string" use="optional" />
		<xs:attribute name="enableZoomSelection" type="booleanType" use="optional" />
		<xs:attribute name="exporting" type="xs:string" use="optional" />
		<xs:attribute name="height" type="xs:string" use="optional" />
		<xs:attribute name="hflex" type="xs:string" use="optional" />
		<xs:attribute name="ignoreHiddenSeries" type="booleanType" use="optional" />
		<xs:attribute name="inverted" type="booleanType" use="optional" />
		<xs:attribute name="labels" type="xs:string" use="optional" />
		<xs:attribute name="legend" type="xs:string" use="optional" />
		<xs:attribute name="margin" type="xs:string" use="optional" />
		<xs:attribute name="marginBottom" type="xs:string" use="optional" />
		<xs:attribute name="marginLeft" type="xs:string" use="optional" />
		<xs:attribute name="marginRight" type="xs:string" use="optional" />
		<xs:attribute name="marginTop" type="xs:string" use="optional" />
		<xs:attribute name="model" type="xs:string" use="optional" />
		<xs:attribute name="navigation" type="xs:string" use="optional" />
		<xs:attribute name="noData" type="xs:string" use="optional" />
		<xs:attribute name="options" type="xs:string" use="optional" />
		<xs:attribute name="options3D" type="xs:string" use="optional" />
		<xs:attribute name="panKey" type="xs:string" use="optional" />
		<xs:attribute name="panning" type="booleanType" use="optional" />
		<xs:attribute name="parallelAxes" type="xs:string" use="optional" />
		<xs:attribute name="parallelCoordinates" type="booleanType" use="optional" />
		<xs:attribute name="pinchType" type="xs:string" use="optional" />
		<xs:attribute name="plotBackgroundColor" type="xs:string" use="optional" />
		<xs:attribute name="plotBackgroundImage" type="xs:string" use="optional" />
		<xs:attribute name="plotBorderColor" type="xs:string" use="optional" />
		<xs:attribute name="plotBorderWidth" type="xs:string" use="optional" />
		<xs:attribute name="plotOptions" type="xs:string" use="optional" />
		<xs:attribute name="plotShadow" type="booleanType" use="optional" />
		<xs:attribute name="polar" type="booleanType" use="optional" />
		<xs:attribute name="reflow" type="booleanType" use="optional" />
		<xs:attribute name="resetZoomButton" type="xs:string" use="optional" />
		<xs:attribute name="responsive" type="xs:string" use="optional" />
		<xs:attribute name="scrollablePlotArea" type="xs:string" use="optional" />
		<xs:attribute name="selectionMarkerFill" type="xs:string" use="optional" />
		<xs:attribute name="shadow" type="booleanType" use="optional" />
		<xs:attribute name="showAxes" type="booleanType" use="optional" />
		<xs:attribute name="spacing" type="xs:string" use="optional" />
		<xs:attribute name="spacingBottom" type="xs:string" use="optional" />
		<xs:attribute name="spacingLeft" type="xs:string" use="optional" />
		<xs:attribute name="spacingRight" type="xs:string" use="optional" />
		<xs:attribute name="spacingTop" type="xs:string" use="optional" />
		<xs:attribute name="style" type="xs:string" use="optional" />
		<xs:attribute name="styleMode" type="booleanType" use="optional" />
		<xs:attribute name="subtitle" type="xs:string" use="optional" />
		<xs:attribute name="theme" type="xs:string" use="optional" />
		<xs:attribute name="title" type="xs:string" use="optional" />
		<xs:attribute name="tooltip" type="xs:string" use="optional" />
		<xs:attribute name="type" type="chartsTypeAttrType" use="optional" />
		<xs:attribute name="vflex" type="xs:string" use="optional" />
		<xs:attribute name="width" type="xs:string" use="optional" />
		<xs:attribute name="zclass" type="xs:string" use="optional" />
		<xs:attribute name="zoomType" type="xs:string" use="optional" />
		<xs:attribute name="onSelection" type="xs:string" use="optional" />
		<xs:attributeGroup ref="mouseAttrGroup" />
		<xs:attributeGroup ref="rootAttrGroup" />
		<xs:attributeGroup ref="plotAttrGroup" />
	</xs:complexType>
	<!-- checkbox -->
	<xs:element name="checkbox" type="checkboxType" />
	<xs:complexType name="checkboxType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="labelImageElementAttrGroup" />
		<xs:attribute name="name" type="xs:string" use="optional" />
		<xs:attribute name="checked" type="booleanType" use="optional" />
		<xs:attribute name="disabled" type="booleanType" use="optional" />
		<xs:attribute name="indeterminate" type="booleanType" use="optional"/>
		<xs:attribute name="onCheck" type="xs:string" use="optional" />
		<xs:attribute name="value" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- chosenbox -->
	<xs:element name="chosenbox" type="chosenboxType" />
	<xs:complexType name="chosenboxType" mixed="true">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="htmlBasedComponentAttrGroup" />
		<xs:attribute name="creatable" type="booleanType" use="optional" />
		<xs:attribute name="createMessage" type="xs:string" use="optional" />
		<xs:attribute name="disabled" type="booleanType" use="optional" />
		<xs:attribute name="emptyMessage" type="xs:string" use="optional" />
		<xs:attribute name="model" type="xs:string" use="optional" />
		<xs:attribute name="name" type="xs:string" use="optional" />
		<xs:attribute name="noResultsText" type="xs:string" use="optional" />
		<xs:attribute name="open" type="booleanType" use="optional" />
		<xs:attribute name="separator" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
		<xs:attribute name="onSearch" type="xs:string" use="optional" />
		<xs:attribute name="onSearching" type="xs:string" use="optional" />
		<xs:attribute name="onItemClick" type="xs:string" use="optional" />
		<xs:attribute name="selectedObjects" type="xs:string" use="optional" />
		<xs:attribute name="itemRenderer" type="xs:string" use="optional" />
		<xs:attribute name="inplace" type="booleanType" use="optional" />
		<xs:attribute name="onSelect" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- coachmark -->
	<xs:element name="coachmark" type="coachmarkType" />
	<xs:complexType name="coachmarkType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attribute name="target" type="xs:string" use="optional" />
		<xs:attribute name="position" type="coachmarkPositionAttrType" use="optional" />
		<xs:attribute name="next" type="xs:string" use="optional" />
		<xs:attribute name="onTargetClick" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
	</xs:complexType>
	<!-- colorbox -->
	<xs:element name="colorbox" type="colorboxType" />
	<xs:complexType name="colorboxType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attribute name="color" type="xs:string" use="optional" />
		<xs:attribute name="value" type="xs:string" use="optional" />
		<xs:attribute name="disabled" type="booleanType" use="optional" />
		<xs:attribute name="onChange" type="xs:string" use="optional" />
		<xs:attribute name="width" type="xs:string" use="optional" />
		<xs:attribute name="height" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
	</xs:complexType>
	<!-- column -->
	<xs:element name="column" type="columnType" />
	<xs:complexType name="columnType">
		<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="headerElementAttrGroup" />
		<xs:attribute name="sort" type="sortAttrType" use="optional" />
		<xs:attribute name="sortDirection" type="sortDirectionAttrType" use="optional" />
		<xs:attribute name="sortAscending" type="xs:string" use="optional" />
		<xs:attribute name="sortDescending" type="xs:string" use="optional" />
		<xs:attribute name="onSort" type="xs:string" use="optional" />
		<xs:attribute name="onGroup" type="xs:string" use="optional" />
		<xs:attribute name="onUngroup" type="xs:string" use="optional" />
		<xs:attribute name="value" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- columnchildren -->
	<xs:element name="columnchildren" type="columnchildrenType" />
	<xs:complexType name="columnchildrenType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="baseGroup" />
			<xs:element ref="panel" />
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
	</xs:complexType>
	<!-- columnlayout -->
	<xs:element name="columnlayout" type="columnlayoutType" />
	<xs:complexType name="columnlayoutType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="baseGroup" />
			<xs:element ref="columnchildren" />
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
	</xs:complexType>
	<!-- columns -->
	<xs:element name="columns" type="columnsType" />
	<xs:complexType name="columnsType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="baseGroup" />
			<xs:element ref="column" />
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="sizable" type="xs:string" use="optional" />
		<xs:attribute name="value" type="xs:string" use="optional" />
		<xs:attribute name="menupopup" type="xs:string" use="optional" />
		<xs:attribute name="columnshide" type="booleanType" use="optional" />
		<xs:attribute name="columnsgroup" type="booleanType" use="optional" />
	</xs:complexType>
	<!-- combobox -->
	<xs:element name="combobox" type="comboboxType" />
	<xs:complexType name="comboboxType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="baseGroup" />
			<xs:element ref="comboitem" />
		</xs:choice>
		<xs:attributeGroup ref="inputElementAttrGroup" />
		<xs:attribute name="autocomplete" type="booleanType" use="optional" />
		<xs:attribute name="autodrop" type="booleanType" use="optional" />
		<xs:attribute name="emptySearchMessage" type="xs:string" use="optional" />
		<xs:attribute name="buttonVisible" type="booleanType" use="optional" />
		<xs:attribute name="constraint" type="constraintAttrType" use="optional" />
		<xs:attribute name="value" type="xs:string" use="optional" />
		<xs:attribute name="model" type="xs:string" use="optional" />
		<xs:attribute name="itemRenderer" type="xs:string" use="optional" />
		<xs:attribute name="type" type="textboxTypeAttrType" use="optional" />
		<xs:attribute name="open" type="booleanType" use="optional" />
		<xs:attribute name="selectedItem" type="xs:string" use="optional" />
		<xs:attribute name="selectedIndex" type="intType" use="optional" />
		<xs:attribute name="onOpen" type="xs:string" use="optional" />
		<xs:attribute name="onSelect" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
		<xs:attribute name="popupWidth" type="xs:string" use="optional" />
		<xs:attribute name="errorMessage" type="xs:string" use="optional" />
		<xs:attribute name="instantSelect" type="booleanType" use="optional" />
		<xs:attribute name="iconSclass" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- comboitem -->
	<xs:element name="comboitem" type="comboitemType" />
	<xs:complexType name="comboitemType" mixed="true">
		<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="labelImageElementAttrGroup" />
		<xs:attribute name="description" type="xs:string" use="optional" />
		<xs:attribute name="value" type="xs:string" use="optional" />
		<xs:attribute name="content" type="xs:string" use="optional" />
		<xs:attribute name="disabled" type="booleanType" use="optional" />
		<xs:attribute name="onChange" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- combobutton -->
	<xs:element name="combobutton" type="combobuttonType" />
	<xs:complexType name="combobuttonType">
		<xs:sequence>
			<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
			<xs:sequence minOccurs="0" maxOccurs="1">
				<xs:element ref="popup" />
				<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
			</xs:sequence>
		</xs:sequence>
		<xs:attributeGroup ref="labelImageElementAttrGroup" />
		<xs:attribute name="orient" type="orientAttrType" use="optional" />
		<xs:attribute name="dir" type="dirAttrType" use="optional" />
		<xs:attribute name="type" type="buttonTypeAttrType" use="optional" />
		<xs:attribute name="href" type="xs:string" use="optional" />
		<xs:attribute name="target" type="xs:string" use="optional" />
		<xs:attribute name="disabled" type="booleanType" use="optional" />
		<xs:attribute name="autodisable" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>

	<!-- cropper -->
	<xs:element name="cropper" type="cropperType"/>
	<xs:complexType name="cropperType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="baseGroup" />
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="aspectRatio" type="doubleType" use="optional" />
		<xs:attribute name="w" type="intType" use="optional" />
		<xs:attribute name="h" type="intType" use="optional" />
		<xs:attribute name="x" type="intType" use="optional" />
		<xs:attribute name="y" type="intType" use="optional" />
		<xs:attribute name="maxHeights" type="intType" use="optional" />
		<xs:attribute name="maxWidths" type="intType" use="optional" />
		<xs:attribute name="minHeights" type="intType" use="optional" />
		<xs:attribute name="minWidths" type="intType" use="optional" />
		<xs:attribute name="toolbarVisible" type="booleanType" use="optional" />
		<xs:attribute name="instant" type="booleanType" use="optional" />
		<xs:attribute name="croppedFormat" type="xs:string" use="optional" />
		<xs:attribute name="crossOrigin" type="crossOriginAttrType" use="optional" />
		<xs:attribute name="onCrop" type="xs:string" use="optional" />
		<xs:attribute name="onCancel" type="xs:string" use="optional" />
		<xs:attribute name="onChange" type="xs:string" use="optional" />
		<xs:attribute name="onChanging" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>

	<!-- custom-attributes -->
	<xs:element name="custom-attributes" type="custom-attributesType" />
	<xs:complexType name="custom-attributesType">
		<xs:anyAttribute processContents="lax" />
	</xs:complexType>
	<!-- datebox -->
	<xs:element name="datebox" type="dateboxType" />
	<xs:complexType name="dateboxType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="dateTimeInputElementAttrGroup" />
		<xs:attribute name="lenient" type="booleanType" use="optional" />
		<xs:attribute name="buttonVisible" type="booleanType" use="optional" />
		<xs:attribute name="open" type="booleanType" use="optional" />
		<xs:attribute name="displayedTimeZones" type="xs:string" use="optional" />
		<xs:attribute name="timeZonesReadonly" type="booleanType" use="optional" />
		<xs:attribute name="weekOfYear" type="booleanType" use="optional" />
		<xs:attribute name="showTodayLink" type="booleanType" use="optional" />
		<xs:attribute name="strictDate" type="booleanType" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
		<xs:attribute name="position" type="PopupPositionAttrType" use="optional" />
		<xs:attribute name="defaultDateTime" type="dateType" use="optional" />
		<xs:attribute name="selectLevel" type="xs:string" use="optional" />
		<xs:attribute name="closePopupOnTimezoneChange" type="booleanType" use="optional" />
	</xs:complexType>
	<!-- decimalbox -->
	<xs:element name="decimalbox" type="decimalboxType" />
	<xs:complexType name="decimalboxType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="numberInputElementAttrGroup" />
		<xs:attribute name="constraint" type="numberConstraintAttrType" use="optional" />
		<xs:attribute name="value" type="decimalType" use="optional" />
		<xs:attribute name="scale" type="intType" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>

	<!-- detail -->
	<xs:element name="detail" type="detailType" />
	<xs:complexType name="detailType">
		<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="contentStyle" type="xs:string" use="optional" />
		<xs:attribute name="image" type="xs:string" use="optional" />
		<xs:attribute name="open" type="booleanType" use="optional" />
	</xs:complexType>

	<!-- div -->
	<xs:element name="div" type="divType" />
	<xs:complexType name="divType" mixed="true">
		<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- doublebox -->
	<xs:element name="doublebox" type="doubleboxType" />
	<xs:complexType name="doubleboxType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="numberInputElementAttrGroup" />
		<xs:attribute name="constraint" type="numberConstraintAttrType" use="optional" />
		<xs:attribute name="value" type="doubleType" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- doublespinner -->
	<xs:element name="doublespinner" type="doublespinnerType" />
	<xs:complexType name="doublespinnerType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="numberInputElementAttrGroup" />
		<xs:attribute name="constraint" type="doubleSpinnerConstraintAttrType" use="optional" />
		<xs:attribute name="buttonVisible" type="booleanType" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
		<xs:attribute name="step" type="doubleType" use="optional" />
		<xs:attribute name="value" type="doubleType" use="optional" />
	</xs:complexType>
	<!-- drawer -->
	<xs:element name="drawer" type="drawerType" />
	<xs:complexType name="drawerType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="autodrop" type="booleanType" use="optional" />
		<xs:attribute name="closable" type="booleanType" use="optional" />
		<xs:attribute name="mask" type="booleanType" use="optional" />
		<xs:attribute name="position" type="drawerPositionAttrType" use="optional" />
		<xs:attribute name="title" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
		<xs:attribute name="onOpen" type="xs:string" use="optional" />
	</xs:complexType>
	<xs:simpleType name="drawerPositionAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="left" />
					<xs:enumeration value="right" />
					<xs:enumeration value="top" />
					<xs:enumeration value="bottom" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<!-- dropupload -->
	<xs:element name="dropupload" type="dropuploadType" />
	<xs:complexType name="dropuploadType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="content" type="xs:string" use="optional" />
		<xs:attribute name="maxsize" type="intType" use="optional" />
		<xs:attribute name="detection" type="xs:string" use="optional" />
		<xs:attribute name="native" type="booleanType" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
		<xs:attribute name="onUpload" type="xs:string" use="optional" />
		<xs:attribute name="anchor" type="xs:string" use="optional" />
		<xs:attribute name="maxFileCount" type="intType" use="optional" />
		<xs:attribute name="suppressedErrors" type="xs:string" use="optional" />
		<xs:attribute name="onMaxFileCountExceed" type="xs:string" use="optional" />
		<xs:attribute name="accept" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- east -->
	<xs:element name="east" type="layoutRegionType" />
	<xs:complexType name="layoutRegionType">
		<xs:sequence>
			<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
			<xs:element ref="caption" minOccurs="0" maxOccurs="1" />
			<xs:group ref="anyGroupSingle" minOccurs="0" maxOccurs="1" />
		</xs:sequence>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="flex" type="booleanType" use="optional" />
		<xs:attribute name="size" type="xs:string" use="optional" />
		<xs:attribute name="splittable" type="booleanType" use="optional" />
		<xs:attribute name="collapsible" type="booleanType" use="optional" />
		<xs:attribute name="margins" type="xs:string" use="optional" />
		<xs:attribute name="open" type="booleanType" use="optional" />
		<xs:attribute name="autoscroll" type="booleanType" use="optional" />
		<xs:attribute name="border" type="layoutBorderAttrType" use="optional" />
		<xs:attribute name="maxsize" type="intType" use="optional" />
		<xs:attribute name="minsize" type="intType" use="optional" />
		<xs:attribute name="onOpen" type="xs:string" use="optional" />
		<xs:attribute name="onSize" type="xs:string" use="optional" />
		<xs:attribute name="onSlide" type="xs:string" use="optional" />
		<xs:attribute name="title" type="xs:string" use="optional" />
		<xs:attribute name="slidable" type="booleanType" use="optional" />
		<xs:attribute name="closable" type="booleanType" use="optional" />
	</xs:complexType>
	<!-- fileupload -->
	<xs:element name="fileupload" type="fileuploadType" />
	<xs:complexType name="fileuploadType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="htmlBasedComponentAttrGroup" />
		<xs:attribute name="label" type="xs:string" use="optional" />
		<xs:attribute name="native" type="xs:string" use="optional" />
		<xs:attribute name="number" type="xs:string" use="optional" />
		<xs:attribute name="upload" type="xs:string" use="optional" />
		<xs:attribute name="onUpload" type="xs:string" use="optional" />
	</xs:complexType>

	<!-- fisheye -->
	<xs:element name="fisheye" type="fisheyeType" />
	<xs:complexType name="fisheyeType">
		<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="label" type="xs:string" use="optional" />
		<xs:attribute name="image" type="xs:string" use="optional" />
		<xs:attribute name="imageContent" type="mediaType" use="optional" />
	</xs:complexType>

	<!-- fisheyebar -->
	<xs:element name="fisheyebar" type="fisheyebarType" />
	<xs:complexType name="fisheyebarType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="baseGroup" />
			<xs:element ref="fisheye" />
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="itemWidth" type="intType" use="optional" />
		<xs:attribute name="itemHeight" type="intType" use="optional" />
		<xs:attribute name="itemMaxWidth" type="intType" use="optional" />
		<xs:attribute name="itemMaxHeight" type="intType" use="optional" />
		<xs:attribute name="itemPadding" type="intType" use="optional" />
		<xs:attribute name="orient" type="xs:string" use="optional" />
		<xs:attribute name="attachEdge" type="xs:string" use="optional" />
		<xs:attribute name="labelEdge" type="xs:string" use="optional" />
		<xs:attribute name="onChildAdded" type="xs:string" use="optional" />
		<xs:attribute name="onChildRemoved" type="xs:string" use="optional" />
	</xs:complexType>

	<!-- foot -->
	<xs:element name="foot" type="footType" />
	<xs:complexType name="footType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="baseGroup" />
			<xs:element ref="footer" />
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
	</xs:complexType>
	<!-- footer -->
	<xs:element name="footer" type="footerType" />
	<xs:complexType name="footerType" mixed="true">
		<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="footerElementAttrGroup" />
	</xs:complexType>

	<!-- frozen -->
	<xs:element name="frozen" type="frozenType" />
	<xs:complexType name="frozenType">
		<xs:sequence>
			<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		</xs:sequence>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="columns" type="intType" use="optional" />
		<xs:attribute name="rightColumns" type="intType" use="optional" />
		<xs:attribute name="rows" type="intType" use="optional" />
		<xs:attribute name="start" type="intType" use="optional" />
	</xs:complexType>

	<!-- goldenlayout -->
	<xs:element name="goldenlayout" type="goldenlayoutType"/>
	<xs:complexType name="goldenlayoutType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="baseGroup" />
			<xs:element ref="goldenpanel" />
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="orient" type="orientAttrType" use="optional" />
		<xs:attribute name="areas" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>

	<!-- goldenpanel -->
	<xs:element name="goldenpanel" type="goldenpanelType"/>
	<xs:complexType name="goldenpanelType">
		<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="area" type="xs:string" use="optional" />
		<xs:attribute name="title" type="xs:string" use="optional" />
		<xs:attribute name="draggable" type="booleanType" use="optional" />
		<xs:attribute name="droppable" type="booleanType" use="optional" />
		<xs:attribute name="closable" type="booleanType" use="optional" />
		<xs:attribute name="onPanelDrop" type="xs:string" use="optional" />
		<xs:attribute name="onActive" type="xs:string" use="optional" />
		<xs:attribute name="onFlexSize" type="xs:string" use="optional" />
	</xs:complexType>

	<!-- grid -->
	<xs:element name="grid" type="gridType" />
	<xs:complexType name="gridType">
		<xs:sequence minOccurs="0" maxOccurs="1">
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:group ref="baseGroup" />
				<xs:element ref="auxhead" />
				<xs:element ref="frozen" />
			</xs:choice>
			<xs:choice>
				<xs:sequence>
					<xs:element ref="columns" />
					<xs:choice minOccurs="0" maxOccurs="unbounded">
						<xs:group ref="baseGroup" />
						<xs:element ref="auxhead" />
					</xs:choice>
					<xs:choice minOccurs="0" maxOccurs="1">
						<xs:sequence minOccurs="0" maxOccurs="1">
							<xs:element ref="rows" />
							<xs:choice minOccurs="0" maxOccurs="unbounded">
								<xs:group ref="baseGroup" />
								<xs:element ref="auxhead" />
							</xs:choice>
							<xs:sequence minOccurs="0" maxOccurs="1">
								<xs:element ref="foot" />
								<xs:choice minOccurs="0" maxOccurs="unbounded">
									<xs:group ref="baseGroup" />
									<xs:element ref="auxhead" />
								</xs:choice>
							</xs:sequence>
						</xs:sequence>
						<xs:sequence minOccurs="0" maxOccurs="1">
							<xs:element ref="foot" />
							<xs:choice minOccurs="0" maxOccurs="unbounded">
								<xs:group ref="baseGroup" />
								<xs:element ref="auxhead" />
							</xs:choice>
							<xs:sequence minOccurs="0" maxOccurs="1">
								<xs:element ref="rows" />
								<xs:choice minOccurs="0" maxOccurs="unbounded">
									<xs:group ref="baseGroup" />
									<xs:element ref="auxhead" />
								</xs:choice>
							</xs:sequence>
						</xs:sequence>
					</xs:choice>
				</xs:sequence>

				<xs:sequence>
					<xs:element ref="rows" />
					<xs:choice minOccurs="0" maxOccurs="unbounded">
						<xs:group ref="baseGroup" />
						<xs:element ref="auxhead" />
					</xs:choice>
					<xs:choice minOccurs="0" maxOccurs="1">
						<xs:sequence minOccurs="0" maxOccurs="1">
							<xs:element ref="columns" />
							<xs:choice minOccurs="0" maxOccurs="unbounded">
								<xs:group ref="baseGroup" />
								<xs:element ref="auxhead" />
							</xs:choice>
							<xs:sequence minOccurs="0" maxOccurs="1">
								<xs:element ref="foot" />
								<xs:choice minOccurs="0" maxOccurs="unbounded">
									<xs:group ref="baseGroup" />
									<xs:element ref="auxhead" />
								</xs:choice>
							</xs:sequence>
						</xs:sequence>
						<xs:sequence minOccurs="0" maxOccurs="1">
							<xs:element ref="foot" />
							<xs:choice minOccurs="0" maxOccurs="unbounded">
								<xs:group ref="baseGroup" />
								<xs:element ref="auxhead" />
							</xs:choice>
							<xs:sequence minOccurs="0" maxOccurs="1">
								<xs:element ref="columns" />
								<xs:choice minOccurs="0" maxOccurs="unbounded">
									<xs:group ref="baseGroup" />
									<xs:element ref="auxhead" />
								</xs:choice>
							</xs:sequence>
						</xs:sequence>
					</xs:choice>
				</xs:sequence>

				<xs:sequence>
					<xs:element ref="foot" />
					<xs:choice minOccurs="0" maxOccurs="unbounded">
						<xs:group ref="baseGroup" />
						<xs:element ref="auxhead" />
					</xs:choice>
					<xs:choice minOccurs="0" maxOccurs="1">
						<xs:sequence minOccurs="0" maxOccurs="1">
							<xs:element ref="columns" />
							<xs:choice minOccurs="0" maxOccurs="unbounded">
								<xs:group ref="baseGroup" />
								<xs:element ref="auxhead" />
							</xs:choice>
							<xs:sequence minOccurs="0" maxOccurs="1">
								<xs:element ref="rows" />
								<xs:choice minOccurs="0" maxOccurs="unbounded">
									<xs:group ref="baseGroup" />
									<xs:element ref="auxhead" />
								</xs:choice>
							</xs:sequence>
						</xs:sequence>
						<xs:sequence minOccurs="0" maxOccurs="1">
							<xs:element ref="rows" />
							<xs:choice minOccurs="0" maxOccurs="unbounded">
								<xs:group ref="baseGroup" />
								<xs:element ref="auxhead" />
							</xs:choice>
							<xs:sequence minOccurs="0" maxOccurs="1">
								<xs:element ref="columns" />
								<xs:choice minOccurs="0" maxOccurs="unbounded">
									<xs:group ref="baseGroup" />
									<xs:element ref="auxhead" />
								</xs:choice>
							</xs:sequence>
						</xs:sequence>
					</xs:choice>
				</xs:sequence>
			</xs:choice>
		</xs:sequence>
		<xs:attribute name="visibleRows" type="intType" use="optional" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="pageSize" type="intType" use="optional" />
		<xs:attribute name="paginal" type="xs:string" use="optional" />
		<xs:attribute name="model" type="xs:string" use="optional" />
		<xs:attribute name="rowRenderer" type="xs:string" use="optional" />
		<xs:attribute name="sizedByContent" type="booleanType" use="optional" />
		<xs:attribute name="oddRowSclass" type="xs:string" use="optional" />
		<xs:attribute name="onPaging" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
		<xs:attribute name="pagingPosition" type="pagingPositionAttrType" use="optional" />
		<xs:attribute name="innerWidth" type="xs:string" use="optional" />
		<xs:attribute name="autopaging" type="booleanType" use="optional" />
		<xs:attribute name="emptyMessage" type="xs:string" use="optional" />
		<xs:attribute name="span" type="xs:string" use="optional" />
		<xs:attribute name="pagingDisabled" type="booleanType" use="optional" />
		<xs:attribute name="activePage" type="intType" use="optional" />
	</xs:complexType>

	<!-- groupbox -->
	<xs:element name="groupbox" type="groupboxType" />
	<xs:complexType name="groupboxType" mixed="true">
		<xs:sequence>
			<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
			<xs:sequence minOccurs="0" maxOccurs="1">
				<xs:element ref="caption" />
				<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
			</xs:sequence>
		</xs:sequence>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="open" type="booleanType" use="optional" />
		<xs:attribute name="closable" type="booleanType" use="optional" />
		<xs:attribute name="contentStyle" type="xs:string" use="optional" />
		<xs:attribute name="onOpen" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
		<xs:attribute name="title" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- group -->
	<xs:element name="group" type="groupType" />
	<xs:complexType name="groupType" mixed="true">
		<!-- from Row -->
		<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="align" type="gridAlignAttrType" use="optional" />
		<xs:attribute name="nowrap" type="booleanType" use="optional" />
		<xs:attribute name="spans" type="xs:string" use="optional" />
		<xs:attribute name="valign" type="valignAttrType" use="optional" />
		<xs:attribute name="value" type="xs:string" use="optional" />
		<!-- from group -->
		<xs:attribute name="label" type="xs:string" use="optional" />
		<xs:attribute name="open" type="booleanType" use="optional" />
	</xs:complexType>

	<!-- groupfoot -->
	<xs:element name="groupfoot" type="groupfootType" />
	<xs:complexType name="groupfootType" mixed="true">
		<!-- from Row -->
		<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="align" type="gridAlignAttrType" use="optional" />
		<xs:attribute name="nowrap" type="booleanType" use="optional" />
		<xs:attribute name="spans" type="xs:string" use="optional" />
		<xs:attribute name="valign" type="valignAttrType" use="optional" />
		<xs:attribute name="value" type="xs:string" use="optional" />
		<!-- from group -->
		<xs:attribute name="label" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- hbox -->
	<xs:element name="hbox" type="hboxType" />
	<xs:complexType name="hboxType" mixed="true">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="anyGroup" />
			<xs:element ref="splitter" />
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="spacing" type="xs:string" use="optional" />
		<xs:attribute name="widths" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
		<xs:attribute name="align" type="packAttrType" use="optional" />
		<xs:attribute name="pack" type="packAttrType" use="optional" />
		<xs:attribute name="sizedByContent" type="booleanType" use="optional" />
	</xs:complexType>
	<!-- hlayout -->
	<xs:element name="hlayout" type="hlayoutType" />
	<xs:complexType name="hlayoutType" mixed="true">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="anyGroup" />
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attributeGroup ref="rootAttrGroup" />
		<xs:attribute name="valign" type="valignAttrType" use="optional" />
		<xs:attribute name="spacing" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- html -->
	<xs:element name="html" type="htmlType" />
	<xs:complexType name="htmlType" mixed="true">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="content" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- idspace -->
	<xs:element name="idspace" type="idspaceType" />
	<xs:complexType name="idspaceType" mixed="true">
		<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- iframe -->
	<xs:element name="iframe" type="iframeType" />
	<xs:complexType name="iframeType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="htmlBasedComponentAttrGroup" />
		<xs:attribute name="name" type="xs:string" use="optional" />
		<xs:attribute name="src" type="xs:string" use="optional" />
		<xs:attribute name="scrolling" type="iframeScrollingAttrType" use="optional" />
		<xs:attribute name="autohide" type="booleanType" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
		<xs:attribute name="onURIChange" type="xs:string" use="optional" />
	</xs:complexType>
	<xs:simpleType name="iframeScrollingAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="auto" />
					<xs:enumeration value="true" />
					<xs:enumeration value="false" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<!-- image -->
	<xs:element name="image" type="imageType" />
	<xs:complexType name="imageType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="src" type="xs:string" use="optional" />
		<xs:attribute name="content" type="mediaType" use="optional" />
		<xs:attribute name="hover" type="xs:string" use="optional" />
		<xs:attribute name="hoverContent" type="mediaType" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- imagemap -->
	<xs:element name="imagemap" type="imagemapType" />
	<xs:complexType name="imagemapType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="baseGroup" />
			<xs:element ref="area" />
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="src" type="xs:string" use="optional" />
		<xs:attribute name="content" type="mediaType" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- include -->
	<xs:element name="include" type="includeType" />
	<xs:complexType name="includeType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="src" type="xs:string" use="optional" />
		<xs:attribute name="localized" type="booleanType" use="optional" />
		<xs:attribute name="progressing" type="booleanType" use="optional" />
		<xs:attribute name="mode" type="xs:string" use="optional" />
		<xs:attribute name="comment" type="booleanType" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- inputgroup -->
	<xs:element name="inputgroup" type="inputgroupType" />
	<xs:complexType name="inputgroupType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="orient" type="orientAttrType" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- intbox -->
	<xs:element name="intbox" type="intboxType" />
	<xs:complexType name="intboxType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="numberInputElementAttrGroup" />
		<xs:attribute name="constraint" type="numberConstraintAttrType" use="optional" />
		<xs:attribute name="value" type="intType" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- longbox -->
	<xs:element name="longbox" type="longboxType" />
	<xs:complexType name="longboxType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="numberInputElementAttrGroup" />
		<xs:attribute name="constraint" type="numberConstraintAttrType" use="optional" />
		<xs:attribute name="value" type="longType" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- label -->
	<xs:element name="label" type="labelType" />
	<xs:complexType name="labelType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="value" type="xs:string" use="optional" />
		<xs:attribute name="multiline" type="booleanType" use="optional" />
		<xs:attribute name="maxlength" type="intType" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- linelayout -->
	<xs:element name="linelayout" type="linelayoutType" />
	<xs:complexType name="linelayoutType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="orient" type="xs:string" use="optional" />
		<xs:attribute name="lineStyle" type="xs:string" use="optional" />
		<xs:attribute name="firstScale" type="intType" use="optional" />
		<xs:attribute name="lastScale" type="intType" use="optional" />
		<xs:attribute name="model" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- lineitem -->
	<xs:element name="lineitem" type="lineitemType" />
	<xs:complexType name="lineitemType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="pointVisible" type="booleanType" use="optional" />
		<xs:attribute name="pointStyle" type="xs:string" use="optional" />
		<xs:attribute name="pointImageSrc" type="xs:string" use="optional" />
		<xs:attribute name="pointImageContent" type="mediaType" use="optional" />
		<xs:attribute name="pointIconSclass" type="xs:string" use="optional" />
		<xs:attribute name="opposite" type="booleanType" use="optional" />
		<xs:attribute name="frontSpace" type="xs:string" use="optional" />
		<xs:attribute name="backSpace" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- listbox -->
	<xs:element name="listbox" type="listboxType" />
	<xs:complexType name="listboxType">
		<xs:sequence minOccurs="0" maxOccurs="1">
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:group ref="baseGroup" />
				<xs:element ref="auxhead" />
				<xs:element ref="listitem" />
				<xs:element ref="listgroup" />
				<xs:element ref="listgroupfoot" />
				<xs:element ref="frozen" />
			</xs:choice>
			<xs:choice>
				<xs:sequence>
					<xs:element ref="listhead" />
					<xs:choice minOccurs="0" maxOccurs="unbounded">
						<xs:group ref="baseGroup" />
						<xs:element ref="auxhead" />
						<xs:element ref="listitem" />
						<xs:element ref="listgroup" />
						<xs:element ref="listgroupfoot" />
					</xs:choice>
					<xs:sequence minOccurs="0" maxOccurs="1">
						<xs:element ref="listfoot" />
						<xs:choice minOccurs="0" maxOccurs="unbounded">
							<xs:group ref="baseGroup" />
							<xs:element ref="auxhead" />
							<xs:element ref="listitem" />
							<xs:element ref="listgroup" />
							<xs:element ref="listgroupfoot" />
						</xs:choice>
					</xs:sequence>
				</xs:sequence>

				<xs:sequence>
					<xs:element ref="listfoot" />
					<xs:choice minOccurs="0" maxOccurs="unbounded">
						<xs:group ref="baseGroup" />
						<xs:element ref="auxhead" />
						<xs:element ref="listitem" />
						<xs:element ref="listgroup" />
						<xs:element ref="listgroupfoot" />
					</xs:choice>
					<xs:sequence minOccurs="0" maxOccurs="1">
						<xs:element ref="listhead" />
						<xs:choice minOccurs="0" maxOccurs="unbounded">
							<xs:group ref="baseGroup" />
							<xs:element ref="auxhead" />
							<xs:element ref="listitem" />
							<xs:element ref="listgroup" />
							<xs:element ref="listgroupfoot" />
						</xs:choice>
					</xs:sequence>
				</xs:sequence>
			</xs:choice>
		</xs:sequence>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="checkmark" type="booleanType" use="optional" />
		<xs:attribute name="disabled" type="booleanType" use="optional" />
		<xs:attribute name="pageSize" type="intType" use="optional" />
		<xs:attribute name="paginal" type="xs:string" use="optional" />
		<xs:attribute name="onPaging" type="xs:string" use="optional" />
		<xs:attribute name="multiple" type="booleanType" use="optional" />
		<xs:attribute name="rows" type="intType" use="optional" />
		<xs:attribute name="maxlength" type="intType" use="optional" />
		<xs:attribute name="name" type="xs:string" use="optional" />
		<xs:attribute name="oddRowSclass" type="xs:string" use="optional" />
		<xs:attribute name="selectedItem" type="xs:string" use="optional" />
		<xs:attribute name="selectedItems" type="xs:string" use="optional" />
		<xs:attribute name="selectedIndex" type="intType" use="optional" />
		<xs:attribute name="model" type="xs:string" use="optional" />
		<xs:attribute name="itemRenderer" type="xs:string" use="optional" />
		<xs:attribute name="sizedByContent" type="booleanType" use="optional" />
		<xs:attribute name="onSelect" type="xs:string" use="optional" />
		<xs:attribute name="onCheckSelectAll" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
		<xs:attribute name="pagingPosition" type="pagingPositionAttrType" use="optional" />
		<xs:attribute name="innerWidth" type="xs:string" use="optional" />
		<xs:attribute name="nonselectableTags" type="xs:string" use="optional" />
		<xs:attribute name="autopaging" type="booleanType" use="optional" />
		<xs:attribute name="emptyMessage" type="xs:string" use="optional" />
		<xs:attribute name="span" type="xs:string" use="optional" />
		<xs:attribute name="pagingDisabled" type="booleanType" use="optional" />
		<xs:attribute name="activePage" type="intType" use="optional" />
		<xs:attribute name="onFocus" type="xs:string" use="optional" />
		<xs:attribute name="onBlur" type="xs:string" use="optional" />
		<xs:attribute name="onOK" type="xs:string" use="optional" />
		<xs:attribute name="onCancel" type="xs:string" use="optional" />
	</xs:complexType>
	<xs:simpleType name="pagingPositionAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="top" />
					<xs:enumeration value="bottom" />
					<xs:enumeration value="both" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<!-- listcell -->
	<xs:element name="listcell" type="listcellType" />
	<xs:complexType name="listcellType" mixed="true">
		<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="labelImageElementAttrGroup" />
		<xs:attribute name="span" type="intType" use="optional" />
	</xs:complexType>
	<!-- listfoot -->
	<xs:element name="listfoot" type="listfootType" />
	<xs:complexType name="listfootType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="baseGroup" />
			<xs:element ref="listfooter" />
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
	</xs:complexType>
	<!-- listfooter -->
	<xs:element name="listfooter" type="listfooterType" />
	<xs:complexType name="listfooterType" mixed="true">
		<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="footerElementAttrGroup" />
	</xs:complexType>

	<!-- listgroup -->
	<xs:element name="listgroup" type="listgroupType" />
	<xs:complexType name="listgroupType">
		<!-- from listitem -->
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="baseGroup" />
			<xs:element ref="listcell" />
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="label" type="xs:string" use="optional" />
		<xs:attribute name="value" type="xs:string" use="optional" />
		<xs:attribute name="disabled" type="booleanType" use="optional" />
		<xs:attribute name="checkable" type="booleanType" use="optional" />
		<xs:attribute name="selected" type="booleanType" use="optional" />
		<!-- from listgroup -->
		<xs:attribute name="open" type="booleanType" use="optional" />
	</xs:complexType>

	<!-- listgroupfoot -->
	<xs:element name="listgroupfoot" type="listgroupfootType" />
	<xs:complexType name="listgroupfootType">
		<!-- from listitem -->
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="baseGroup" />
			<xs:element ref="listcell" />
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="label" type="xs:string" use="optional" />
		<xs:attribute name="value" type="xs:string" use="optional" />
		<xs:attribute name="disabled" type="booleanType" use="optional" />
		<xs:attribute name="selectable" type="booleanType" use="optional" />
		<xs:attribute name="selected" type="booleanType" use="optional" />
		<!-- -->
	</xs:complexType>
	<!-- listhead -->
	<xs:element name="listhead" type="listheadType" />
	<xs:complexType name="listheadType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="baseGroup" />
			<xs:element ref="listheader" />
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="menupopup" type="xs:string" use="optional" />
		<xs:attribute name="columnshide" type="booleanType" use="optional" />
		<xs:attribute name="columnsgroup" type="booleanType" use="optional" />
		<xs:attribute name="sizable" type="booleanType" use="optional" />
		<xs:attribute name="value" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- listheader -->
	<xs:element name="listheader" type="listheaderType" />
	<xs:complexType name="listheaderType">
		<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="headerElementAttrGroup" />
		<xs:attribute name="sort" type="sortAttrType" use="optional" />
		<xs:attribute name="sortDirection" type="sortDirectionAttrType" use="optional" />
		<xs:attribute name="sortAscending" type="xs:string" use="optional" />
		<xs:attribute name="sortDescending" type="xs:string" use="optional" />
		<xs:attribute name="maxlength" type="intType" use="optional" />
		<xs:attribute name="onSort" type="xs:string" use="optional" />
		<xs:attribute name="onGroup" type="xs:string" use="optional" />
		<xs:attribute name="onUngroup" type="xs:string" use="optional" />
		<xs:attribute name="value" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- listitem -->
	<xs:element name="listitem" type="listitemType" />
	<xs:complexType name="listitemType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="baseGroup" />
			<xs:element ref="listcell" />
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="label" type="xs:string" use="optional" />
		<xs:attribute name="value" type="xs:string" use="optional" />
		<xs:attribute name="disabled" type="booleanType" use="optional" />
		<xs:attribute name="selected" type="booleanType" use="optional" />
		<xs:attribute name="selectable" type="booleanType" use="optional" />
	</xs:complexType>
	<!-- menu -->
	<xs:element name="menu" type="menuType" />
	<xs:complexType name="menuType">
		<xs:sequence>
			<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
			<xs:sequence minOccurs="0" maxOccurs="1">
				<xs:element ref="menupopup" />
				<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
			</xs:sequence>
		</xs:sequence>
		<xs:attributeGroup ref="labelImageElementAttrGroup" />
		<xs:attribute name="content" type="mediaType" use="optional" />
		<xs:attribute name="disabled" type="booleanType" use="optional" />
	</xs:complexType>
	<!-- menubar -->
	<xs:element name="menubar" type="menubarType" />
	<xs:complexType name="menubarType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="baseGroup" />
			<xs:element ref="menu" />
			<xs:element ref="menuitem" />
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="orient" type="orientAttrType" use="optional" />
		<xs:attribute name="autodrop" type="booleanType" use="optional" />
		<xs:attribute name="scrollable" type="booleanType" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- menuitem -->
	<xs:element name="menuitem" type="menuitemType" />
	<xs:complexType name="menuitemType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="labelImageElementAttrGroup" />
		<xs:attribute name="checkmark" type="booleanType" use="optional" />
		<xs:attribute name="value" type="xs:string" use="optional" />
		<xs:attribute name="checked" type="booleanType" use="optional" />
		<xs:attribute name="autocheck" type="booleanType" use="optional" />
		<xs:attribute name="href" type="xs:string" use="optional" />
		<xs:attribute name="target" type="xs:string" use="optional" />
		<xs:attribute name="disabled" type="booleanType" use="optional" />
		<xs:attribute name="upload" type="xs:string" use="optional" />
		<xs:attribute name="onUpload" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- menupopup -->
	<xs:element name="menupopup" type="menupopupType" />
	<xs:complexType name="menupopupType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="baseGroup" />
			<xs:element ref="menu" />
			<xs:element ref="menuitem" />
			<xs:element ref="menuseparator" />
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="onOpen" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- menuseparator -->
	<xs:element name="menuseparator" type="menuseparatorType" />
	<xs:complexType name="menuseparatorType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
	</xs:complexType>
	<!-- multislider -->
	<xs:element name="multislider" type="multisliderType" />
	<xs:complexType name="multisliderType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="disabled" type="booleanType" use="optional" />
		<xs:attribute name="endValue" type="intType" use="optional" />
		<xs:attribute name="marks" type="xs:string" use="optional" />
		<xs:attribute name="max" type="intType" use="optional" />
		<xs:attribute name="min" type="intType" use="optional" />
		<xs:attribute name="orient" type="xs:string" use="optional" />
		<xs:attribute name="startValue" type="intType" use="optional" />
		<xs:attribute name="step" type="intType" use="optional" />
		<xs:attribute name="tooltipVisible" type="booleanType" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- nav -->
	<xs:element name="nav" type="navType" />
	<xs:complexType name="navType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="baseGroup" />
			<xs:element ref="navitem" />
		</xs:choice>
		<xs:attributeGroup ref="labelImageElementAttrGroup" />
		<xs:attribute name="onOpen" type="xs:string" use="optional" />
		<xs:attribute name="badgeText" type="xs:string" use="optional" />
		<xs:attribute name="open" type="booleanType" use="optional" />
	</xs:complexType>
	<!-- navbar -->
	<xs:element name="navbar" type="navbarType" />
	<xs:complexType name="navbarType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="baseGroup" />
			<xs:element ref="nav" />
			<xs:element ref="navitem" />
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="orient" type="orientAttrType" use="optional" />
		<xs:attribute name="collapsed" type="booleanType" use="optional" />
		<xs:attribute name="onSelect" type="xs:string" use="optional" />
		<xs:attribute name="autoclose" type="booleanType" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- navitem -->
	<xs:element name="navitem" type="navitemType" />
	<xs:complexType name="navitemType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="labelImageElementAttrGroup" />
		<xs:attribute name="href" type="xs:string" use="optional" />
		<xs:attribute name="target" type="xs:string" use="optional" />
		<xs:attribute name="disabled" type="booleanType" use="optional" />
		<xs:attribute name="selected" type="booleanType" use="optional" />
		<xs:attribute name="content" type="xs:string" use="optional" />
		<xs:attribute name="badgeText" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- navseparator -->
	<xs:element name="navseparator" type="navseparatorType" />
	<xs:complexType name="navseparatorType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
	</xs:complexType>
	<!-- north -->
	<xs:element name="north" type="layoutRegionType" />
	<!-- panel -->
	<xs:element name="panel" type="panelType" />
	<xs:complexType name="panelType">
		<xs:sequence minOccurs="0" maxOccurs="1">
			<xs:element ref="caption" minOccurs="0" />
			<xs:element ref="toolbar" minOccurs="0" />
			<xs:element ref="panelchildren" />
			<xs:element ref="toolbar" minOccurs="0" maxOccurs="2" />
		</xs:sequence>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="border" type="panelBorderAttrType"
			use="optional" />
		<xs:attribute name="sizable" type="booleanType" use="optional" />
		<xs:attribute name="closable" type="booleanType" use="optional" />
		<xs:attribute name="collapsible" type="booleanType" use="optional" />
		<xs:attribute name="floatable" type="booleanType" use="optional" />
		<xs:attribute name="maximizable" type="booleanType" use="optional" />
		<xs:attribute name="maximized" type="booleanType" use="optional" />
		<xs:attribute name="minimized" type="booleanType" use="optional" />
		<xs:attribute name="minimizable" type="booleanType" use="optional" />
		<xs:attribute name="movable" type="booleanType" use="optional" />
		<xs:attribute name="open" type="booleanType" use="optional" />
		<xs:attribute name="title" type="xs:string" use="optional" />
	</xs:complexType>
	<xs:simpleType name="panelBorderAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="normal" />
					<xs:enumeration value="none" />
					<xs:enumeration value="rounded" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<!-- panelchildren -->
	<xs:element name="panelchildren" type="panelchildrenType" />
	<xs:complexType name="panelchildrenType">
		<xs:sequence>
			<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
			<xs:group ref="anyGroupSingle" minOccurs="0" maxOccurs="1" />
		</xs:sequence>
		<xs:attributeGroup ref="xulElementAttrGroup" />
	</xs:complexType>
	<!-- paging -->
	<xs:element name="paging" type="pagingType" />
	<xs:complexType name="pagingType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="pageSize" type="intType" use="optional" />
		<xs:attribute name="totalSize" type="intType" use="optional" />
		<xs:attribute name="activePage" type="intType" use="optional" />
		<xs:attribute name="pageIncrement" type="intType" use="optional" />
		<xs:attribute name="detailed" type="booleanType" use="optional" />
		<xs:attribute name="autohide" type="booleanType" use="optional" />
		<xs:attribute name="disabled" type="booleanType" use="optional" />
	</xs:complexType>
	<!-- pdfviewer -->
	<xs:element name="pdfviewer" type="pdfviewerType" />
	<xs:complexType name="pdfviewerType">
		<xs:choice minOccurs="0" maxOccurs="1">
			<xs:element ref="toolbar" minOccurs="0" maxOccurs="1" />
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="activePage" type="intType" use="optional" />
		<xs:attribute name="content" type="mediaType" use="optional" />
		<xs:attribute name="pageSize" type="intType" use="optional" />
		<xs:attribute name="rotation" type="intType" use="optional" />
		<xs:attribute name="src" type="xs:string" use="optional" />
		<xs:attribute name="zoom" type="pdfviewerZoomAttrType" use="optional" />
	</xs:complexType>
	<xs:simpleType name="pdfviewerZoomAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="fit-page-height" />
					<xs:enumeration value="fit-page-width" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="xs:double" />
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<!-- pivottable -->
	<xs:element name="pivottable" type="pivottableType" />
	<xs:complexType name="pivottableType">
		<xs:choice minOccurs="0" maxOccurs="3">
			<xs:group ref="anyGroup" />
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="pageSize" type="intType" use="optional" />
		<xs:attribute name="activePage" type="intType" use="optional" />
		<xs:attribute name="totalSize" type="intType" use="optional" />
		<xs:attribute name="grandTotalForRows" type="booleanType" use="optional" />
		<xs:attribute name="grandTotalForColumns" type="booleanType" use="optional" />
		<xs:attribute name="dataFieldOrient" type="xs:string" use="optional" />
		<xs:attribute name="model" type="xs:string" use="optional" />
		<xs:attribute name="pivotRenderer" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- popup -->
	<xs:element name="popup" type="popupType" />
	<xs:complexType name="popupType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="anyGroup" />
			<xs:element ref="menu" />
			<xs:element ref="menuitem" />
			<xs:element ref="menuseparator" />
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="onOpen" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- portalchildren -->
	<xs:element name="portalchildren" type="portalchildrenType" />
	<xs:complexType name="portalchildrenType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="baseGroup" />
			<xs:element ref="panel" />
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="title" type="xs:string" use="optional" />
		<xs:attribute name="counterVisible" type="booleanType" use="optional" />
	</xs:complexType>
	<!-- portallayout -->
	<xs:element name="portallayout" type="portallayoutType" />
	<xs:complexType name="portallayoutType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="baseGroup" />
			<xs:element ref="portalchildren" />
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="orient" type="orientAttrType" use="optional" />
		<xs:attribute name="maximizedMode" type="portallayoutMaximizedModeTpye" use="optional" />
		<xs:attribute name="onPortalMove" type="xs:string" use="optional" />
		<xs:attribute name="onPortalDrop" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- progressmeter -->
	<xs:element name="progressmeter" type="progressmeterType" />
	<xs:complexType name="progressmeterType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="value" type="intType" use="optional" />
		<xs:attribute name="indeterminate" type="booleanType" use="optional" />
	</xs:complexType>
	<!-- radio -->
	<xs:element name="radio" type="radioType" />
	<xs:complexType name="radioType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="labelImageElementAttrGroup" />
		<xs:attribute name="selected" type="booleanType" use="optional" />
		<xs:attribute name="checked" type="booleanType" use="optional" />
		<xs:attribute name="disabled" type="booleanType" use="optional" />
		<xs:attribute name="value" type="xs:string" use="optional" />
		<xs:attribute name="onCheck" type="xs:string" use="optional" />
		<xs:attribute name="radiogroup" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- radiogroup -->
	<xs:element name="radiogroup" type="radiogroupType" />
	<xs:complexType name="radiogroupType">
		<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="name" type="xs:string" use="optional" />
		<xs:attribute name="orient" type="orientAttrType" use="optional" />
		<xs:attribute name="selectedItem" type="xs:string" use="optional" />
		<xs:attribute name="selectedIndex" type="intType" use="optional" />
		<xs:attribute name="onCheck" type="xs:string" use="optional" />
		<xs:attribute name="model" type="xs:string" use="optional" />
		<xs:attribute name="radioRenderer" type="xs:string" use="optional" />
		<xs:attribute name="disabled" type="booleanType" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- rangeslider -->
	<xs:element name="rangeslider" type="rangesliderType" />
	<xs:complexType name="rangesliderType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="disabled" type="booleanType" use="optional" />
		<xs:attribute name="endValue" type="intType" use="optional" />
		<xs:attribute name="marks" type="xs:string" use="optional" />
		<xs:attribute name="max" type="intType" use="optional" />
		<xs:attribute name="min" type="intType" use="optional" />
		<xs:attribute name="onRangeValueChange" type="xs:string" use="optional" />
		<xs:attribute name="orient" type="xs:string" use="optional" />
		<xs:attribute name="startValue" type="intType" use="optional" />
		<xs:attribute name="step" type="intType" use="optional" />
		<xs:attribute name="tooltipVisible" type="booleanType" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- rating -->
	<xs:element name="rating" type="ratingType"/>
	<xs:complexType name="ratingType">
		<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="max" type="intType" use="optional" />
		<xs:attribute name="rating" type="intType" use="optional" />
		<xs:attribute name="orient" type="orientAttrType" use="optional" />
		<xs:attribute name="disabled" type="booleanType" use="optional" />
		<xs:attribute name="readonly" type="booleanType" use="optional" />
		<xs:attribute name="cancelable" type="booleanType" use="optional" />
		<xs:attribute name="symbol" type="xs:string" use="optional" />
		<xs:attribute name="onChange" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>

	<!-- row -->
	<xs:element name="row" type="rowType" />
	<xs:complexType name="rowType" mixed="true">
		<xs:choice minOccurs="0" maxOccurs="1" >
			<xs:sequence>
				<xs:group ref="anyGroup" minOccurs="1" maxOccurs="unbounded" />
				<xs:sequence minOccurs="0" maxOccurs="1" >
					<xs:element ref="detail" />
					<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
				</xs:sequence>
			</xs:sequence>
			<xs:sequence>
				<xs:element ref="detail" />
				<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
			</xs:sequence>
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="align" type="gridAlignAttrType" use="optional" />
		<xs:attribute name="nowrap" type="booleanType" use="optional" />
		<xs:attribute name="spans" type="xs:string" use="optional" />
		<xs:attribute name="valign" type="valignAttrType" use="optional" />
		<xs:attribute name="value" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- rows -->
	<xs:element name="rows" type="rowsType" />
	<xs:complexType name="rowsType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="baseGroup" />
			<xs:element ref="row" />
			<xs:element ref="group" />
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
	</xs:complexType>
	<!-- rowchildren -->
	<xs:element name="rowchildren" type="rowchildrenType" />
	<xs:complexType name="rowchildrenType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="baseGroup" />
			<xs:element ref="panel" />
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="colspan" type="intType" use="optional" />
		<xs:attribute name="offset" type="intType" use="optional" />
	</xs:complexType>
	<!-- rowlayout -->
	<xs:element name="rowlayout" type="rowlayoutType" />
	<xs:complexType name="rowlayoutType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="baseGroup" />
			<xs:element ref="rowchildren" />
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="orient" type="orientAttrType" use="optional" />
		<xs:attribute name="ncols" type="intType" use="optional" />
		<xs:attribute name="spacing" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- span -->
	<xs:element name="span" type="spanType" />
	<xs:complexType name="spanType" mixed="true">
		<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- script -->
	<xs:element name="script" type="scriptType" />
	<xs:complexType name="scriptType" mixed="true">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="abstractComponentAttrGroup" />
		<xs:attribute name="src" type="xs:string" use="optional" />
		<xs:attribute name="type" type="xs:string" use="optional" />
		<xs:attribute name="charset" type="xs:string" use="optional" />
		<xs:attribute name="defer" type="booleanType" use="optional" />
	</xs:complexType>

	<!-- scrollview -->
	<xs:element name="scrollview" type="scrollviewType" />
	<xs:complexType name="scrollviewType" mixed="true">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="anyGroup" />
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attributeGroup ref="rootAttrGroup" />
		<xs:attribute name="orient" type="orientAttrType" use="optional" />
		<xs:attribute name="onScrolling" type="xs:string" use="optional" />
		<xs:attribute name="onScroll" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- searchbox -->
	<xs:element name="searchbox" type="searchboxType" />
	<xs:complexType name="searchboxType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="htmlBasedComponentAttrGroup" />
		<xs:attribute name="autoclose" type="booleanType" use="optional" />
		<xs:attribute name="disabled" type="booleanType" use="optional" />
		<xs:attribute name="itemConverter" type="xs:string" use="optional" />
		<xs:attribute name="itemRenderer" type="xs:string" use="optional" />
		<xs:attribute name="model" type="xs:string" use="optional" />
		<xs:attribute name="multiple" type="booleanType" use="optional" />
		<xs:attribute name="open" type="booleanType" use="optional" />
		<xs:attribute name="placeholder" type="xs:string" use="optional" />
		<xs:attribute name="searchMessage" type="xs:string" use="optional" />
		<xs:attribute name="searchText" type="xs:string" use="optional" />
		<xs:attribute name="selectedItem" type="xs:string" use="optional" />
		<xs:attribute name="selectedItems" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
		<xs:attribute name="onAfterRender" type="xs:string" use="optional" />
		<xs:attribute name="onOpen" type="xs:string" use="optional" />
		<xs:attribute name="onSelect" type="xs:string" use="optional" />
		<xs:attribute name="onSearching" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- selectbox -->
	<xs:element name="selectbox" type="selectboxType" />
	<xs:complexType name="selectboxType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="htmlBasedComponentAttrGroup" />
		<xs:attribute name="name" type="xs:string" use="optional" />
		<xs:attribute name="disabled" type="booleanType" use="optional" />
		<xs:attribute name="selectedIndex" type="intType" use="optional" />
		<xs:attribute name="itemRenderer" type="xs:string" use="optional" />
		<xs:attribute name="onSelect" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
		<xs:attribute name="model" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- separator -->
	<xs:element name="separator" type="separatorType" />
	<xs:complexType name="separatorType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="spacing" type="xs:string" use="optional" />
		<xs:attribute name="orient" type="orientAttrType" use="optional" />
		<xs:attribute name="bar" type="booleanType" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- signature -->
	<xs:element name="signature" type="signatureType" />
	<xs:complexType name="signatureType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="penSize" type="xs:string" use="optional" />
		<xs:attribute name="penColor" type="xs:string" use="optional" />
		<xs:attribute name="backgroundColor" type="xs:string" use="optional" />
		<xs:attribute name="backgroundImage" type="xs:string" use="optional" />
		<xs:attribute name="backgroundIncluded" type="xs:boolean" use="optional" />
		<xs:attribute name="saveType" type="xs:string" use="optional" />
		<xs:attribute name="undoLabel" type="xs:string" use="optional" />
		<xs:attribute name="saveLabel" type="xs:string" use="optional" />
		<xs:attribute name="clearLabel" type="xs:string" use="optional" />
		<xs:attribute name="toolbarVisible" type="xs:boolean" use="optional"/>
		<xs:attribute name="onSave" type="xs:string" use="optional" />
		<xs:attribute name="onClear" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- slider -->
	<xs:element name="slider" type="sliderType" />
	<xs:complexType name="sliderType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="name" type="xs:string" use="optional" />
		<xs:attribute name="curpos" type="intType" use="optional" />
		<xs:attribute name="maxpos" type="intType" use="optional" />
		<xs:attribute name="minpos" type="intType" use="optional" />
		<xs:attribute name="slidingtext" type="xs:string" use="optional" />
		<xs:attribute name="pageIncrement" type="intType" use="optional" />
		<xs:attribute name="onScroll" type="xs:string" use="optional" />
		<xs:attribute name="onScrolling" type="xs:string" use="optional" />
		<xs:attribute name="orient" type="orientAttrType" use="optional" />
		<xs:attribute name="mode" type="sliderMode" use="optional" />
		<xs:attribute name="step" type="xs:string" use="optional" />
		<xs:attribute name="angleArc" type="doubleType" use="optional" />
		<xs:attribute name="strokeWidth" type="doubleType" use="optional" />
		<xs:attribute name="scaleInput" type="doubleType" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- sliderbuttons -->
	<xs:element name="sliderbuttons" type="sliderbuttonsType" />
	<xs:complexType name="sliderbuttonsType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="endValue" type="intType" use="optional" />
		<xs:attribute name="onRangeValueChange" type="xs:string" use="optional" />
		<xs:attribute name="startValue" type="intType" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- south -->
	<xs:element name="south" type="layoutRegionType" />
	<!-- space -->
	<xs:element name="space" type="spaceType" />
	<xs:complexType name="spaceType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="spacing" type="xs:string" use="optional" />
		<xs:attribute name="orient" type="orientAttrType" use="optional" />
		<xs:attribute name="bar" type="booleanType" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- spinner -->
	<xs:element name="spinner" type="spinnerType" />
	<xs:complexType name="spinnerType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="numberInputElementAttrGroup" />
		<xs:attribute name="constraint" type="spinnerConstraintAttrType" use="optional" />
		<xs:attribute name="buttonVisible" type="booleanType" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
		<xs:attribute name="step" type="xs:integer" use="optional" />
		<xs:attribute name="value" type="xs:dateTime" use="optional" />
	</xs:complexType>
	<!-- splitter -->
	<xs:element name="splitter" type="splitterType" />
	<xs:complexType name="splitterType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="collapse" type="collapseAttrType"
			use="optional" />
		<xs:attribute name="open" type="booleanType" use="optional" />
		<xs:attribute name="onOpen" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- step -->
	<xs:element name="step" type="stepType"/>
	<xs:complexType name="stepType">
		<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="complete" type="booleanType" use="optional" />
		<xs:attribute name="error" type="booleanType" use="optional" />
		<xs:attribute name="iconSclass" type="xs:string" use="optional" />
		<xs:attribute name="title" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- stepbar -->
	<xs:element name="stepbar" type="stepbarType"/>
	<xs:complexType name="stepbarType">
		<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="activeIndex" type="intType" use="optional" />
		<xs:attribute name="wrappedLabels" type="booleanType" use="optional" />
		<xs:attribute name="linear" type="booleanType" use="optional" />
		<xs:attribute name="model" type="xs:string" use="optional" />
		<xs:attribute name="orient" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- style -->
	<xs:element name="style" type="styleType" />
	<xs:complexType name="styleType" mixed="true">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="abstractComponentAttrGroup" />
		<xs:attribute name="src" type="xs:string" use="optional" />
		<xs:attribute name="content" type="xs:string" use="optional" />
		<xs:attribute name="media" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- tab -->
	<xs:element name="tab" type="tabType" />
	<xs:complexType name="tabType">
		<xs:sequence>
			<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
			<xs:sequence minOccurs="0" maxOccurs="1">
				<xs:element ref="caption" />
				<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
			</xs:sequence>
		</xs:sequence>
		<xs:attributeGroup ref="labelImageElementAttrGroup" />
		<xs:attribute name="selected" type="booleanType" use="optional" />
		<xs:attribute name="closable" type="booleanType" use="optional" />
		<xs:attribute name="onClose" type="xs:string" use="optional" />
		<xs:attribute name="disabled" type="booleanType" use="optional" />
	</xs:complexType>
	<!-- tabbox -->
	<xs:element name="tabbox" type="tabboxType" />
	<xs:complexType name="tabboxType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="baseGroup" />
			<xs:element ref="tabs"/>
			<xs:element ref="tabpanels"/>
			<xs:element ref="toolbar" minOccurs="0"/>
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="tabscroll" type="booleanType" use="optional" />
		<xs:attribute name="panelSpacing" type="xs:string" use="optional" />
		<xs:attribute name="selectedIndex" type="intType" use="optional" />
		<xs:attribute name="selectedTab" type="xs:string" use="optional" />
		<xs:attribute name="selectedPanel" type="xs:string" use="optional" />
		<xs:attribute name="orient" type="tabOrientAttrType" use="optional" />
		<xs:attribute name="maximalHeight" type="booleanType" use="optional" />
		<xs:attribute name="onSelect" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
		<xs:attribute name="model" type="xs:string" use="optional" />
		<xs:attribute name="tabboxRenderer" type="xs:string" use="optional" />
	</xs:complexType>
	<xs:simpleType name="tabOrientAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="top" />
					<xs:enumeration value="left" />
					<xs:enumeration value="right" />
					<xs:enumeration value="bottom" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<!-- tabpanel -->
	<xs:element name="tabpanel" type="tabpanelType" />
	<xs:complexType name="tabpanelType" mixed="true">
		<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
	</xs:complexType>
	<!-- tabpanels -->
	<xs:element name="tabpanels" type="tabpanelsType" />
	<xs:complexType name="tabpanelsType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="baseGroup" />
			<xs:element ref="tabpanel" />
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
	</xs:complexType>
	<!-- tabs -->
	<xs:element name="tabs" type="tabsType" />
	<xs:complexType name="tabsType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="baseGroup" />
			<xs:element ref="tab" />
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="align" type="tabsAlignAttrType" use="optional" />
	</xs:complexType>
	<!-- tablechildren -->
	<xs:element name="tablechildren" type="tablechildrenType" />
	<xs:complexType name="tablechildrenType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="baseGroup" />
			<xs:element ref="panel" />
		</xs:choice>
		<xs:attribute name="colspan" type="intType" use="optional" />
		<xs:attribute name="rowspan" type="intType" use="optional" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
	</xs:complexType>

	<!-- tablelayout -->
	<xs:element name="tablelayout" type="tablelayoutType" />
	<xs:complexType name="tablelayoutType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="baseGroup" />
			<xs:element ref="tablechildren" />
		</xs:choice>
		<xs:attribute name="columns" type="intType" use="optional" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
	</xs:complexType>
	<!-- tbeditor -->
	<xs:element name="tbeditor" type="tbeditorType" />
	<xs:complexType name="tbeditorType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="abstractComponentAttrGroup" />
		<xs:attribute name="width" type="xs:string" use="optional" />
		<xs:attribute name="height" type="xs:string" use="optional" />
		<xs:attribute name="value" type="xs:string" use="optional" />
		<xs:attribute name="hflex" type="xs:string" use="optional" />
		<xs:attribute name="vflex" type="xs:string" use="optional" />
		<xs:attribute name="onChange" type="xs:string" use="optional" />
		<xs:attribute name="onChanging" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- template -->
	<xs:element name="template" type="templateType" />
	<xs:complexType name="templateType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="anyGroup"/>
			<xs:element ref="area"/>
			<xs:element ref="bandpopup"/>
			<xs:element ref="caption"/>
			<xs:element ref="center"/>
			<xs:element ref="columns"/>
			<xs:element ref="column"/>
			<xs:element ref="comboitem"/>
			<xs:element ref="detail"/>
			<xs:element ref="east"/>
			<xs:element ref="fisheye"/>
			<xs:element ref="foot"/>
			<xs:element ref="footer"/>
			<xs:element ref="ginfo"/>
			<xs:element ref="gmarker"/>
			<xs:element ref="group"/>
			<xs:element ref="groupfoot"/>
			<xs:element ref="listcell"/>
			<xs:element ref="listfoot"/>
			<xs:element ref="listfooter"/>
			<xs:element ref="listgroup"/>
			<xs:element ref="listgroupfoot"/>
			<xs:element ref="listhead"/>
			<xs:element ref="listheader"/>
			<xs:element ref="listitem"/>
			<xs:element ref="menu"/>
			<xs:element ref="menuitem"/>
			<xs:element ref="menuseparator"/>
			<xs:element ref="nav"/>
			<xs:element ref="navitem"/>
			<xs:element ref="navseparator"/>
			<xs:element ref="north"/>
			<xs:element ref="rows"/>
			<xs:element ref="row"/>
			<xs:element ref="splitter"/>
			<xs:element ref="south"/>
			<xs:element ref="tab"/>
			<xs:element ref="tabpanel"/>
			<xs:element ref="tabpanels"/>
			<xs:element ref="tabs"/>
			<xs:element ref="treecell"/>
			<xs:element ref="treechildren"/>
			<xs:element ref="treecol"/>
			<xs:element ref="treecols"/>
			<xs:element ref="treefoot"/>
			<xs:element ref="treefooter"/>
			<xs:element ref="treeitem"/>
			<xs:element ref="treerow"/>
			<xs:element ref="west"/>
			<xs:element ref="orgchildren"/>
			<xs:element ref="orgitem"/>
			<xs:element ref="orgnode"/>
		</xs:choice>
		<xs:attribute name="name" type="xs:string" use="required" />
		<xs:attribute name="src" type="xs:string" use="optional" />
		<xs:attribute name="if" type="xs:string" use="optional" />
		<xs:attribute name="var" type="xs:string" use="optional" />
		<xs:attribute name="status" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- textbox -->
	<xs:element name="textbox" type="textboxType" />
	<xs:complexType name="textboxType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="inputElementAttrGroup" />
		<xs:attribute name="constraint" type="constraintAttrType" use="optional" />
		<xs:attribute name="value" type="xs:string" use="optional" />
		<xs:attribute name="type" type="textboxTypeAttrType" use="optional" />
		<xs:attribute name="rows" type="intType" use="optional" />
		<xs:attribute name="multiline" type="booleanType" use="optional" />
		<xs:attribute name="tabbable" type="booleanType" use="optional" />
		<xs:attribute name="submitByEnter" type="booleanType" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
		<xs:attribute name="errorMessage" type="xs:string" use="optional" />
		<xs:attribute name="errorboxSclass" type="xs:string" use="optional" />
		<xs:attribute name="errorboxIconSclass" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- timer -->
	<xs:element name="timer" type="timerType" />
	<xs:complexType name="timerType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="htmlBasedComponentAttrGroup" />
		<xs:attribute name="delay" type="intType" use="optional" />
		<xs:attribute name="repeats" type="booleanType" use="optional" />
		<xs:attribute name="running" type="booleanType" use="optional" />
		<xs:attribute name="onTimer" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- timebox -->
	<xs:element name="timebox" type="timeboxType" />
	<xs:complexType name="timeboxType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="dateTimeInputElementAttrGroup" />
		<xs:attribute name="constraint" type="localTimeConstraintAttrType" use="optional" />
		<xs:attribute name="buttonVisible" type="booleanType" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- timepicker -->
	<xs:element name="timepicker" type="timepickerType" />
	<xs:complexType name="timepickerType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="dateTimeInputElementAttrGroup" />
		<xs:attribute name="constraint" type="localTimeConstraintAttrType" use="optional" />
		<xs:attribute name="min" type="dateType" use="optional" />
		<xs:attribute name="minInLocalTime" type="dateType" use="optional" />
		<xs:attribute name="max" type="dateType" use="optional" />
		<xs:attribute name="maxInLocalTime" type="dateType" use="optional" />
		<xs:attribute name="interval" type="xs:integer" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- toolbar -->
	<xs:element name="toolbar" type="toolbarType" />
	<xs:complexType name="toolbarType">
		<xs:sequence>
			<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
			<xs:group ref="anyGroupSingle" minOccurs="0" maxOccurs="1" />
		</xs:sequence>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="orient" type="orientAttrType" use="optional" />
		<xs:attribute name="align" type="packAttrType" use="optional"/>
		<xs:attribute name="overflowPopup" type="booleanType" use="optional"/>
		<xs:attribute name="overflowPopupIconSclass" type="xs:string" use="optional"/>
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- toolbarbutton -->
	<xs:element name="toolbarbutton" type="toolbarbuttonType" />
	<xs:complexType name="toolbarbuttonType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="labelImageElementAttrGroup" />
		<xs:attribute name="orient" type="orientAttrType" use="optional" />
		<xs:attribute name="dir" type="dirAttrType" use="optional" />
		<xs:attribute name="href" type="xs:string" use="optional" />
		<xs:attribute name="target" type="xs:string" use="optional" />
		<xs:attribute name="disabled" type="booleanType" use="optional" />
		<xs:attribute name="mode" type="xs:string" use="optional" />
		<xs:attribute name="checked" type="booleanType" use="optional" />
		<xs:attribute name="upload" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
		<xs:attribute name="onUpload" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- nodom -->
	<xs:element name="nodom" type="nodomType" />
	<xs:complexType name="nodomType" mixed="true">
		<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- track -->
	<xs:element name="track" type="trackType" />
	<xs:complexType name="trackType" mixed="true">
		<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attribute name="default" type="booleanType" default="false" use="optional" />
		<xs:attribute name="kind" type="trackKindAttrType" use="optional" />
		<xs:attribute name="label" type="xs:string" use="optional" />
		<xs:attribute name="src" type="xs:string" use="required" />
		<xs:attribute name="srclang" type="xs:string" use="optional" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<xs:simpleType name="trackKindAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="subtitles" />
					<xs:enumeration value="captions" />
					<xs:enumeration value="descriptions" />
					<xs:enumeration value="chapters" />
					<xs:enumeration value="metadata" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<!-- tree -->
	<xs:element name="tree" type="treeType" />
	<xs:complexType name="treeType">
		<xs:sequence minOccurs="0" maxOccurs="1">
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:group ref="baseGroup" />
				<xs:element ref="auxhead" />
				<xs:element ref="frozen" />
			</xs:choice>
			<xs:choice>
				<xs:sequence>
					<xs:element ref="treecols" />
					<xs:choice minOccurs="0" maxOccurs="unbounded">
						<xs:group ref="baseGroup" />
						<xs:element ref="auxhead" />
					</xs:choice>
					<xs:choice minOccurs="0" maxOccurs="1">
						<xs:sequence minOccurs="0" maxOccurs="1">
							<xs:element ref="treechildren" />
							<xs:choice minOccurs="0" maxOccurs="unbounded">
								<xs:group ref="baseGroup" />
								<xs:element ref="auxhead" />
							</xs:choice>
							<xs:sequence minOccurs="0" maxOccurs="1">
								<xs:element ref="treefoot" />
								<xs:choice minOccurs="0" maxOccurs="unbounded">
									<xs:group ref="baseGroup" />
									<xs:element ref="auxhead" />
								</xs:choice>
							</xs:sequence>
						</xs:sequence>
						<xs:sequence minOccurs="0" maxOccurs="1">
							<xs:element ref="treefoot" />
							<xs:choice minOccurs="0" maxOccurs="unbounded">
								<xs:group ref="baseGroup" />
								<xs:element ref="auxhead" />
							</xs:choice>
							<xs:sequence minOccurs="0" maxOccurs="1">
								<xs:element ref="treechildren" />
								<xs:choice minOccurs="0" maxOccurs="unbounded">
									<xs:group ref="baseGroup" />
									<xs:element ref="auxhead" />
								</xs:choice>
							</xs:sequence>
						</xs:sequence>
					</xs:choice>
				</xs:sequence>

				<xs:sequence>
					<xs:element ref="treechildren" />
					<xs:choice minOccurs="0" maxOccurs="unbounded">
						<xs:group ref="baseGroup" />
						<xs:element ref="auxhead" />
					</xs:choice>
					<xs:choice minOccurs="0" maxOccurs="1">
						<xs:sequence minOccurs="0" maxOccurs="1">
							<xs:element ref="treecols" />
							<xs:choice minOccurs="0" maxOccurs="unbounded">
								<xs:group ref="baseGroup" />
								<xs:element ref="auxhead" />
							</xs:choice>
							<xs:sequence minOccurs="0" maxOccurs="1">
								<xs:element ref="treefoot" />
								<xs:choice minOccurs="0" maxOccurs="unbounded">
									<xs:group ref="baseGroup" />
									<xs:element ref="auxhead" />
								</xs:choice>
							</xs:sequence>
						</xs:sequence>
						<xs:sequence minOccurs="0" maxOccurs="1">
							<xs:element ref="treefoot" />
							<xs:choice minOccurs="0" maxOccurs="unbounded">
								<xs:group ref="baseGroup" />
								<xs:element ref="auxhead" />
							</xs:choice>
							<xs:sequence minOccurs="0" maxOccurs="1">
								<xs:element ref="treecols" />
								<xs:choice minOccurs="0" maxOccurs="unbounded">
									<xs:group ref="baseGroup" />
									<xs:element ref="auxhead" />
								</xs:choice>
							</xs:sequence>
						</xs:sequence>
					</xs:choice>
				</xs:sequence>

				<xs:sequence>
					<xs:element ref="treefoot" />
					<xs:choice minOccurs="0" maxOccurs="unbounded">
						<xs:group ref="baseGroup" />
						<xs:element ref="auxhead" />
					</xs:choice>
					<xs:choice minOccurs="0" maxOccurs="1">
						<xs:sequence minOccurs="0" maxOccurs="1">
							<xs:element ref="treecols" />
							<xs:choice minOccurs="0" maxOccurs="unbounded">
								<xs:group ref="baseGroup" />
								<xs:element ref="auxhead" />
							</xs:choice>
							<xs:sequence minOccurs="0" maxOccurs="1">
								<xs:element ref="treechildren" />
								<xs:choice minOccurs="0" maxOccurs="unbounded">
									<xs:group ref="baseGroup" />
									<xs:element ref="auxhead" />
								</xs:choice>
							</xs:sequence>
						</xs:sequence>
						<xs:sequence minOccurs="0" maxOccurs="1">
							<xs:element ref="treechildren" />
							<xs:choice minOccurs="0" maxOccurs="unbounded">
								<xs:group ref="baseGroup" />
								<xs:element ref="auxhead" />
							</xs:choice>
							<xs:sequence minOccurs="0" maxOccurs="1">
								<xs:element ref="treecols" />
								<xs:choice minOccurs="0" maxOccurs="unbounded">
									<xs:group ref="baseGroup" />
									<xs:element ref="auxhead" />
								</xs:choice>
							</xs:sequence>
						</xs:sequence>
					</xs:choice>
				</xs:sequence>
			</xs:choice>
		</xs:sequence>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="rows" type="intType" use="optional" />
		<xs:attribute name="name" type="xs:string" use="optional" />
		<xs:attribute name="checkmark" type="booleanType" use="optional" />
		<xs:attribute name="pageSize" type="intType" use="optional" />
		<xs:attribute name="paginal" type="xs:string" use="optional" />
		<xs:attribute name="onPaging" type="xs:string" use="optional" />
		<xs:attribute name="multiple" type="booleanType" use="optional" />
		<xs:attribute name="selectedItem" type="xs:string" use="optional" />
		<xs:attribute name="model" type="xs:string" use="optional" />
		<xs:attribute name="itemRenderer" type="xs:string" use="optional" />
		<xs:attribute name="sizedByContent" type="booleanType" use="optional" />
		<xs:attribute name="onSelect" type="xs:string" use="optional" />
		<xs:attribute name="onCheckSelectAll" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
		<xs:attribute name="pagingPosition" type="pagingPositionAttrType" use="optional" />
		<xs:attribute name="innerWidth" type="xs:string" use="optional" />
		<xs:attribute name="nonselectableTags" type="xs:string" use="optional" />
		<xs:attribute name="autopaging" type="booleanType" use="optional" />
		<xs:attribute name="span" type="xs:string" use="optional" />
		<xs:attribute name="pagingDisabled" type="booleanType" use="optional" />
		<xs:attribute name="activePage" type="intType" use="optional" />
	</xs:complexType>
	<!-- treecell -->
	<xs:element name="treecell" type="treecellType" />
	<xs:complexType name="treecellType" mixed="true">
		<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="labelImageElementAttrGroup" />
		<xs:attribute name="span" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- treechildren -->
	<xs:element name="treechildren" type="treechildrenType" />
	<xs:complexType name="treechildrenType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="baseGroup" />
			<xs:element ref="treeitem" />
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
	</xs:complexType>
	<!-- treecol -->
	<xs:element name="treecol" type="treecolType" />
	<xs:complexType name="treecolType">
		<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="headerElementAttrGroup" />
		<xs:attribute name="sort" type="sortAttrType" use="optional" />
		<xs:attribute name="sortDirection" type="sortDirectionAttrType" use="optional" />
		<xs:attribute name="sortAscending" type="xs:string" use="optional" />
		<xs:attribute name="sortDescending" type="xs:string" use="optional" />
		<xs:attribute name="maxlength" type="intType" use="optional" />
		<xs:attribute name="onSort" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- treecols -->
	<xs:element name="treecols" type="treecolsType" />
	<xs:complexType name="treecolsType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="baseGroup" />
			<xs:element ref="treecol" />
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="sizable" type="booleanType" use="optional" />
	</xs:complexType>
	<!-- treefoot -->
	<xs:element name="treefoot" type="treefootType" />
	<xs:complexType name="treefootType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="baseGroup" />
			<xs:element ref="treefooter" />
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
	</xs:complexType>
	<!-- treefooter -->
	<xs:element name="treefooter" type="treefooterType" />
	<xs:complexType name="treefooterType" mixed="true">
		<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="footerElementAttrGroup" />
	</xs:complexType>
	<!-- treeitem -->
	<xs:element name="treeitem" type="treeitemType" />
	<xs:complexType name="treeitemType">
		<xs:sequence>
			<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
			<xs:choice minOccurs="0" maxOccurs="1">
				<xs:sequence>
					<xs:element ref="treerow" />
					<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
					<xs:sequence minOccurs="0" maxOccurs="1">
						<xs:element ref="treechildren" />
						<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
					</xs:sequence>
				</xs:sequence>
				<xs:sequence>
					<xs:element ref="treechildren" />
					<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
					<xs:sequence minOccurs="0" maxOccurs="1">
						<xs:element ref="treerow" />
						<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
					</xs:sequence>
				</xs:sequence>
			</xs:choice>
		</xs:sequence>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="value" type="xs:string" use="optional" />
		<xs:attribute name="open" type="booleanType" use="optional" />
		<xs:attribute name="selected" type="booleanType" use="optional" />
		<xs:attribute name="selectable" type="booleanType" use="optional" />
		<xs:attribute name="image" type="xs:string" use="optional" />
		<xs:attribute name="disabled" type="booleanType" use="optional" />
		<xs:attribute name="onOpen" type="xs:string" use="optional" />
		<xs:attribute name="label" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- treerow -->
	<xs:element name="treerow" type="treerowType" />
	<xs:complexType name="treerowType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="baseGroup" />
			<xs:element ref="treecell" />
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="label" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- variables -->
	<xs:element name="variables" type="variablesType" />
	<xs:complexType name="variablesType">
		<xs:anyAttribute processContents="lax" />
	</xs:complexType>
	<!-- vbox -->
	<xs:element name="vbox" type="vboxType" />
	<xs:complexType name="vboxType" mixed="true">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="anyGroup" />
			<xs:element ref="splitter" />
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="spacing" type="xs:string" use="optional" />
		<xs:attribute name="heights" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
		<xs:attribute name="align" type="packAttrType" use="optional" />
		<xs:attribute name="pack" type="packAttrType" use="optional" />
		<xs:attribute name="sizedByContent" type="booleanType" use="optional" />
	</xs:complexType>
	<!-- vlayout -->
	<xs:element name="vlayout" type="vlayoutType" />
	<xs:complexType name="vlayoutType" mixed="true">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="anyGroup" />
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attributeGroup ref="rootAttrGroup" />
		<xs:attribute name="spacing" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- west -->
	<xs:element name="west" type="layoutRegionType" />
	<!-- window -->
	<xs:element name="window" type="windowType" />
	<xs:complexType name="windowType" mixed="true">
		<xs:sequence>
			<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
			<xs:sequence minOccurs="0" maxOccurs="1">
				<xs:element ref="caption" />
				<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
			</xs:sequence>
		</xs:sequence>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="border" type="windowBorderAttrType" use="optional" />
		<xs:attribute name="title" type="xs:string" use="optional" />
		<xs:attribute name="mode" type="windowModeAttrType" use="optional" />
		<xs:attribute name="closable" type="booleanType" use="optional" />
		<xs:attribute name="sizable" type="booleanType" use="optional" />
		<xs:attribute name="position" type="windowPositionAttrType" use="optional" />
		<xs:attribute name="contentStyle" type="xs:string" use="optional" />
		<xs:attribute name="minheight" type="intType" use="optional" />
		<xs:attribute name="minwidth" type="intType" use="optional" />
		<xs:attribute name="defaultActionOnShow" type="windowActionOnShowAttrType" use="optional" />
		<xs:attribute name="maximizable" type="booleanType" use="optional" />
		<xs:attribute name="maximized" type="booleanType" use="optional" />
		<xs:attribute name="minimized" type="booleanType" use="optional" />
		<xs:attribute name="minimizable" type="booleanType" use="optional" />
		<xs:attribute name="contentSclass" type="xs:string" use="optional" />
		<xs:attribute name="onOK" type="xs:string" use="optional" />
		<xs:attribute name="onCancel" type="xs:string" use="optional" />
		<xs:attribute name="onMove" type="xs:string" use="optional" />
		<xs:attribute name="onOpen" type="xs:string" use="optional" />
		<xs:attribute name="onClose" type="xs:string" use="optional" />
		<xs:attribute name="onZIndex" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<xs:simpleType name="windowActionOnShowAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="moveDown" />
					<xs:enumeration value="moveRight" />
					<xs:enumeration value="moveDiagonal" />
					<xs:enumeration value="appear" />
					<xs:enumeration value="slideDown" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:simpleType name="windowBorderAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="normal" />
					<xs:enumeration value="none" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:simpleType name="windowCtrlKeysAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:pattern value="([a-z0-9])+" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:simpleType name="windowModeAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="embedded" />
					<xs:enumeration value="modal" />
					<xs:enumeration value="overlapped" />
					<xs:enumeration value="popup" />
					<xs:enumeration value="highlighted" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:simpleType name="windowPositionAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="left,top" />
					<xs:enumeration value="left,center" />
					<xs:enumeration value="left,bottom" />
					<xs:enumeration value="center,top" />
					<xs:enumeration value="center" />
					<xs:enumeration value="center,bottom" />
					<xs:enumeration value="right,top" />
					<xs:enumeration value="right,center" />
					<xs:enumeration value="right,bottom" />
					<xs:enumeration value="parent" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:simpleType name="PopupPositionAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="before_start" />
					<xs:enumeration value="before_center" />
					<xs:enumeration value="before_end" />
					<xs:enumeration value="after_start" />
					<xs:enumeration value="after_center" />
					<xs:enumeration value="after_end" />
					<xs:enumeration value="start_before" />
					<xs:enumeration value="start_center" />
					<xs:enumeration value="start_after" />
					<xs:enumeration value="end_before" />
					<xs:enumeration value="end_center" />
					<xs:enumeration value="end_after" />
					<xs:enumeration value="overlap" />
					<xs:enumeration value="top_left" />
					<xs:enumeration value="top_center" />
					<xs:enumeration value="overlap_end" />
					<xs:enumeration value="top_right" />
					<xs:enumeration value="middle_left" />
					<xs:enumeration value="middle_center" />
					<xs:enumeration value="middle_right" />
					<xs:enumeration value="overlap_before" />
					<xs:enumeration value="bottom_left" />
					<xs:enumeration value="bottom_center" />
					<xs:enumeration value="overlap_after" />
					<xs:enumeration value="bottom_right" />
					<xs:enumeration value="at_pointer" />
					<xs:enumeration value="after_pointer" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:simpleType name="coachmarkPositionAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="before_start" />
					<xs:enumeration value="before_center" />
					<xs:enumeration value="before_end" />
					<xs:enumeration value="after_start" />
					<xs:enumeration value="after_center" />
					<xs:enumeration value="after_end" />
					<xs:enumeration value="start_before" />
					<xs:enumeration value="start_center" />
					<xs:enumeration value="start_after" />
					<xs:enumeration value="end_before" />
					<xs:enumeration value="end_center" />
					<xs:enumeration value="end_after" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<!-- zk -->
	<xs:element name="zk" type="zkType" />
	<xs:complexType name="zkType" mixed="true">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="anyGroup" />
			<xs:element ref="area" />
			<xs:element ref="bandpopup" />
			<xs:element ref="caption" />
			<xs:element ref="center" />
			<xs:element ref="columns" />
			<xs:element ref="column" />
			<xs:element ref="comboitem" />
			<xs:element ref="detail" />
			<xs:element ref="east" />
			<xs:element ref="fisheye" />
			<xs:element ref="foot" />
			<xs:element ref="footer" />
			<xs:element ref="ginfo" />
			<xs:element ref="gmarker" />
			<xs:element ref="group" />
			<xs:element ref="groupfoot" />
			<xs:element ref="listcell" />
			<xs:element ref="listfoot" />
			<xs:element ref="listfooter" />
			<xs:element ref="listgroup" />
			<xs:element ref="listgroupfoot" />
			<xs:element ref="listhead" />
			<xs:element ref="listheader" />
			<xs:element ref="listitem" />
			<xs:element ref="menu" />
			<xs:element ref="menuitem" />
			<xs:element ref="menuseparator" />
			<xs:element ref="nav" />
			<xs:element ref="navitem" />
			<xs:element ref="navseparator" />
			<xs:element ref="north" />
			<xs:element ref="rows" />
			<xs:element ref="row" />
			<xs:element ref="splitter" />
			<xs:element ref="south" />
			<xs:element ref="tab" />
			<xs:element ref="tabpanel" />
			<xs:element ref="tabpanels" />
			<xs:element ref="tabs" />
			<xs:element ref="treecell" />
			<xs:element ref="treechildren" />
			<xs:element ref="treecol" />
			<xs:element ref="treecols" />
			<xs:element ref="treefoot" />
			<xs:element ref="treefooter" />
			<xs:element ref="treeitem" />
			<xs:element ref="treerow" />
			<xs:element ref="west" />
		</xs:choice>
		<xs:attributeGroup ref="zkAttrGroup" />
		<xs:attribute name="switch" type="xs:string" use="optional" />
		<xs:attribute name="case" type="xs:string" use="optional" />
		<xs:attribute name="choose" type="xs:string" use="optional" />
		<xs:attribute name="when" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- zscript -->
	<xs:element name="zscript" type="zscriptType" />
	<xs:complexType name="zscriptType">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attributeGroup ref="zkAttrGroup" />
				<xs:attribute name="src" type="xs:string" use="optional" />
				<xs:attribute name="deferred" type="xs:string" use="optional" />
				<xs:attribute name="language" type="zslangAttrType" use="optional" />
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<!-- zkforge -->
	<!-- ckeditor -->
	<xs:element name="ckeditor" type="ckeditorType" />
	<xs:complexType name="ckeditorType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="abstractComponentAttrGroup" />
		<xs:attribute name="width" type="xs:string" use="optional" />
		<xs:attribute name="height" type="xs:string" use="optional" />
		<xs:attribute name="value" type="xs:string" use="optional" />
		<xs:attribute name="toolbar" type="xs:string" use="optional" />
		<xs:attribute name="onSave" type="xs:string" use="optional" />
		<xs:attribute name="hflex" type="xs:string" use="optional" />
		<xs:attribute name="vflex" type="xs:string" use="optional" />
		<xs:attribute name="customConfigurationsPath" type="xs:string" use="optional" />
		<xs:attribute name="autoHeight" type="booleanType" use="optional" />
		<xs:attribute name="resizable" type="booleanType" use="optional" />
	</xs:complexType>
	<!-- fckeditor -->
	<xs:element name="fckeditor" type="fckeditorType" />
	<xs:complexType name="fckeditorType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="abstractComponentAttrGroup" />
		<xs:attribute name="width" type="xs:string" use="optional" />
		<xs:attribute name="height" type="xs:string" use="optional" />
		<xs:attribute name="value" type="xs:string" use="optional" />
		<xs:attribute name="toolbarSet" type="xs:string" use="optional" />
		<xs:attribute name="onSave" type="xs:string" use="optional" />
		<xs:attribute name="customConfigurationsPath" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- gmapsGroup -->
	<xs:group name="gmapsGroup">
		<xs:choice>
			<xs:group ref="baseGroup" />
			<xs:element ref="gimage" />
			<xs:element ref="gmarker" />
			<xs:element ref="gpolyline" />
			<xs:element ref="gpolygon" />
			<xs:element ref="gscreen" />
		</xs:choice>
	</xs:group>
	<!-- ginfo -->
	<xs:element name="ginfo" type="ginfoType" />
	<xs:complexType name="ginfoType" mixed="true">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="open" type="booleanType" use="optional" />
		<xs:attribute name="lng" type="doubleType" use="optional" />
		<xs:attribute name="lat" type="doubleType" use="optional" />
		<xs:attribute name="content" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- gimage -->
	<xs:element name="gimage" type="gimageType" />
	<xs:complexType name="gimageType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="htmlBasedComponentAttrGroup" />
		<xs:attribute name="swlng" type="doubleType" use="optional" />
		<xs:attribute name="swlat" type="doubleType" use="optional" />
		<xs:attribute name="nelng" type="doubleType" use="optional" />
		<xs:attribute name="nelat" type="doubleType" use="optional" />
		<xs:attribute name="content" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- gmarker -->
	<xs:element name="gmarker" type="gmarkerType" />
	<xs:complexType name="gmarkerType" mixed="true">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="open" type="booleanType" use="optional" />
		<xs:attribute name="lng" type="doubleType" use="optional" />
		<xs:attribute name="lat" type="doubleType" use="optional" />
		<xs:attribute name="content" type="xs:string" use="optional" />
		<xs:attribute name="iconAnchorX" type="intType" use="optional" />
		<xs:attribute name="iconAnchorY" type="intType" use="optional" />
		<xs:attribute name="iconDragCrossAnchorX" type="intType" use="optional" />
		<xs:attribute name="iconDragCrossAnchorY" type="intType" use="optional" />
		<xs:attribute name="iconDragCrossHeight" type="intType" use="optional" />
		<xs:attribute name="iconDragCrossImage" type="xs:string" use="optional" />
		<xs:attribute name="iconDragCrossWidth" type="intType" use="optional" />
		<xs:attribute name="iconImage" type="xs:string" use="optional" />
		<xs:attribute name="iconImageMap" type="xs:string" use="optional" />
		<xs:attribute name="iconInfoAnchorX" type="intType" use="optional" />
		<xs:attribute name="iconInfoAnchorY" type="intType" use="optional" />
		<xs:attribute name="iconMaxHeight" type="intType" use="optional" />
		<xs:attribute name="iconMozPrintImage" type="xs:string" use="optional" />
		<xs:attribute name="iconPrintImage" type="xs:string" use="optional" />
		<xs:attribute name="iconPrintShadow" type="xs:string" use="optional" />
		<xs:attribute name="iconShadow" type="xs:string" use="optional" />
		<xs:attribute name="iconShadowHeight" type="intType" use="optional" />
		<xs:attribute name="iconShadowWidth" type="intType" use="optional" />
		<xs:attribute name="iconHeight" type="intType" use="optional" />
		<xs:attribute name="iconWidth" type="intType" use="optional" />
		<xs:attribute name="iconTransparent" type="xs:string" use="optional" />
		<xs:attribute name="onMapDrop" type="xs:string" use="optional" />
		<xs:attribute name="onMarkerDrop" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- gmaps -->
	<xs:element name="gmaps" type="gmapsType" />
	<xs:complexType name="gmapsType">
		<xs:sequence>
			<xs:group ref="gmapsGroup" minOccurs="0" maxOccurs="unbounded" />
			<xs:sequence minOccurs="0" maxOccurs="1">
				<xs:element ref="ginfo" />
				<xs:group ref="gmapsGroup" minOccurs="0" maxOccurs="unbounded" />
			</xs:sequence>
		</xs:sequence>
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="continuousZoom" type="booleanType" use="optional" />
		<xs:attribute name="doubleClickZoom" type="booleanType" use="optional" />
		<xs:attribute name="enableDragging" type="booleanType" use="optional" />
		<xs:attribute name="enableGoogleBar" type="booleanType" use="optional" />
		<xs:attribute name="hybrid" type="booleanType" use="optional" />
		<xs:attribute name="itemRenderer" type="xs:string" use="optional" />
		<xs:attribute name="lat" type="doubleType" use="optional" />
		<xs:attribute name="lng" type="doubleType" use="optional" />
		<xs:attribute name="mapType" type="gmapsMapTypeAttrType" use="optional" />
		<xs:attribute name="model" type="xs:string" use="optional" />
		<xs:attribute name="normal" type="booleanType" use="optional" />
		<xs:attribute name="physical" type="booleanType" use="optional" />
		<xs:attribute name="satellite" type="booleanType" use="optional" />
		<xs:attribute name="scrollWheelZoom" type="booleanType" use="optional" />
		<xs:attribute name="selectedItem" type="xs:string" use="optional" />
		<xs:attribute name="showLargeCtrl" type="booleanType" use="optional" />
		<xs:attribute name="showOverviewCtrl" type="booleanType" use="optional" />
		<xs:attribute name="showScaleCtrl" type="booleanType" use="optional" />
		<xs:attribute name="showSmallCtrl" type="booleanType" use="optional" />
		<xs:attribute name="showTypeCtrl" type="booleanType" use="optional" />
		<xs:attribute name="showZoomCtrl" type="booleanType" use="optional" />
		<xs:attribute name="zoom" type="intType" use="optional" />
		<xs:attribute name="onMapMove" type="xs:string" use="optional" />
		<xs:attribute name="onMapZoom" type="xs:string" use="optional" />
		<xs:attribute name="onInfoChange" type="xs:string" use="optional" />
		<xs:attribute name="onMapClick" type="xs:string" use="optional" />
		<xs:attribute name="onMapDoubleClick" type="xs:string" use="optional" />
		<xs:attribute name="onMapDrop" type="xs:string" use="optional" />
		<xs:attribute name="onMapRightClick" type="xs:string" use="optional" />
		<xs:attribute name="onMarkerDrop" type="xs:string" use="optional" />
	</xs:complexType>
	<xs:simpleType name="gmapsMapTypeAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="normal" />
					<xs:enumeration value="satellite" />
					<xs:enumeration value="hybrid" />
					<xs:enumeration value="physical" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<!-- gpolygon -->
	<xs:element name="gpolygon" type="gpolygonType" />
	<xs:complexType name="gpolygonType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="points" type="xs:string" use="optional" />
		<xs:attribute name="color" type="xs:string" use="optional" />
		<xs:attribute name="weight" type="intType" use="optional" />
		<xs:attribute name="opacity" type="intType" use="optional" />
		<xs:attribute name="numLevels" type="intType" use="optional" />
		<xs:attribute name="outline" type="booleanType" use="optional" />
		<xs:attribute name="fill" type="booleanType" use="optional" />
		<xs:attribute name="fillColor" type="xs:string" use="optional" />
		<xs:attribute name="fillOpacity" type="intType" use="optional" />
	</xs:complexType>
	<!-- gpolyline -->
	<xs:element name="gpolyline" type="gpolylineType" />
	<xs:complexType name="gpolylineType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="points" type="xs:string" use="optional" />
		<xs:attribute name="color" type="xs:string" use="optional" />
		<xs:attribute name="weight" type="intType" use="optional" />
		<xs:attribute name="opacity" type="intType" use="optional" />
		<xs:attribute name="numLevels" type="intType" use="optional" />
	</xs:complexType>
	<!-- gscreen -->
	<xs:element name="gscreen" type="gscreenType" />
	<xs:complexType name="gscreenType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="htmlBasedComponentAttrGroup" />
		<xs:attribute name="content" type="xs:string" use="optional" />
		<xs:attribute name="offsetX" type="xs:string" use="optional" />
		<xs:attribute name="offsetY" type="xs:string" use="optional" />
		<xs:attribute name="screenX" type="xs:string" use="optional" />
		<xs:attribute name="screenY" type="xs:string" use="optional" />
		<xs:attribute name="src" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- jasperreport -->
	<xs:element name="jasperreport" type="jasperreportType" />
	<xs:complexType name="jasperreportType">
		<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="htmlBasedComponentAttrGroup" />
		<xs:attribute name="source" type="xs:string" use="optional" />
		<xs:attribute name="parameters" type="xs:string" use="optional" />
		<xs:attribute name="datasource" type="xs:string" use="optional" />
		<xs:attribute name="exportName" type="xs:string" use="optional"/>
		<xs:attribute name="type" type="jasperreportTypeAttrType" use="optional" />
	</xs:complexType>
	<xs:simpleType name="jasperreportTypeAttrType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="xml" />
					<xs:enumeration value="html" />
					<xs:enumeration value="rtf" />
					<xs:enumeration value="xls" />
					<xs:enumeration value="jxl" />
					<xs:enumeration value="csv" />
					<xs:enumeration value="odt" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="annotationType" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<!-- shadow element: apply -->
	<xs:element name="apply" type="applyType" />
	<xs:complexType name="applyType">
		<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attribute name="template" type="xs:string" use="optional" />
		<xs:attribute name="templateURI" type="xs:string" use="optional" />
		<xs:attribute name="dynamicValue" type="booleanType" use="optional" />
		<xs:attribute name="templateName" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- shadow element: forEach -->
	<xs:element name="forEach" type="forEachType" />
	<xs:complexType name="forEachType">
		<xs:group ref="anyGroup" minOccurs="1" maxOccurs="unbounded" />
		<xs:attribute name="items" type="xs:string" use="required" />
		<xs:attribute name="begin" type="intType" use="optional" />
		<xs:attribute name="end" type="intType" use="optional" />
		<xs:attribute name="step" type="intType" use="optional" />
		<xs:attribute name="var" type="xs:string" use="optional" />
		<xs:attribute name="varStatus" type="xs:string" use="optional" />
	</xs:complexType>
	<!-- shadow element: choose -->
	<xs:element name="choose" type="chooseType" />
	<xs:complexType name="chooseType">
		<xs:sequence>
			<xs:sequence minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="when" />
			</xs:sequence>
			<xs:element ref="otherwise" />
		</xs:sequence>
		<!--no attrs-->
	</xs:complexType>
	<!-- shadow element: when -->
	<xs:element name="when" type="ifType" />
	<!-- shadow element: otherwise -->
	<xs:element name="otherwise" type="otherwiseType" />
	<xs:complexType name="otherwiseType">
		<xs:group ref="anyGroup" minOccurs="1" maxOccurs="unbounded" />
		<!--no attrs-->
	</xs:complexType>
	<!-- shadow element: if -->
	<xs:element name="if" type="ifType" />
	<xs:complexType name="ifType">
		<xs:group ref="anyGroup" minOccurs="1" maxOccurs="unbounded" />
		<xs:attribute name="test" type="booleanType" use="required" />
	</xs:complexType>
	<!-- splitlayout -->
	<xs:element name="splitlayout" type="splitlayoutType"/>
	<xs:complexType name="splitlayoutType">
		<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="xulElementAttrGroup" />
		<xs:attribute name="collapse" type="collapseAttrType" use="optional" />
		<xs:attribute name="heights" type="xs:string" use="optional" />
		<xs:attribute name="minHeights" type="xs:string" use="optional" />
		<xs:attribute name="minWidths" type="xs:string" use="optional" />
		<xs:attribute name="open" type="booleanType" use="optional" />
		<xs:attribute name="orient" type="orientAttrType" use="optional" />
		<xs:attribute name="resizable" type="booleanType" use="optional" />
		<xs:attribute name="widths" type="xs:string" use="optional" />
		<xs:attribute name="onOpen" type="xs:string" use="optional" />
		<xs:attribute name="onDivisionSize" type="xs:string" use="optional" />
		<xs:attributeGroup ref="rootAttrGroup" />
	</xs:complexType>
	<!-- organigram -->
	<xs:element name="organigram" type="organigramType"/>
	<xs:complexType name="organigramType">
		<xs:sequence minOccurs="0">
			<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="orgchildren" minOccurs="0"/>
		</xs:sequence>
		<xs:attributeGroup ref="xulElementAttrGroup"/>
		<xs:attribute name="selectedItem" type="xs:string" use="optional"/>
		<xs:attribute name="model" type="xs:string" use="optional"/>
		<xs:attribute name="itemRenderer" type="xs:string" use="optional"/>
		<xs:attribute name="onSelect" type="xs:string" use="optional"/>
		<xs:attributeGroup ref="rootAttrGroup"/>
	</xs:complexType>
	<!-- orgchildren -->
	<xs:element name="orgchildren" type="orgchildrenType"/>
	<xs:complexType name="orgchildrenType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:group ref="baseGroup"/>
			<xs:element ref="orgitem"/>
		</xs:choice>
		<xs:attributeGroup ref="xulElementAttrGroup"/>
	</xs:complexType>
	<!-- orgitem -->
	<xs:element name="orgitem" type="orgitemType"/>
	<xs:complexType name="orgitemType">
		<xs:sequence minOccurs="0">
			<xs:group ref="baseGroup" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="orgnode" minOccurs="0"/>
			<xs:element ref="orgchildren" minOccurs="0"/>
		</xs:sequence>
		<xs:attributeGroup ref="xulElementAttrGroup"/>
		<xs:attribute name="value" type="xs:string" use="optional"/>
		<xs:attribute name="open" type="booleanType" use="optional"/>
		<xs:attribute name="selected" type="booleanType" use="optional"/>
		<xs:attribute name="selectable" type="booleanType" use="optional"/>
		<xs:attribute name="image" type="xs:string" use="optional"/>
		<xs:attribute name="disabled" type="booleanType" use="optional"/>
		<xs:attribute name="onOpen" type="xs:string" use="optional"/>
		<xs:attribute name="label" type="xs:string" use="optional"/>
	</xs:complexType>
	<!-- orgnode -->
	<xs:element name="orgnode" type="orgnodeType"/>
	<xs:complexType name="orgnodeType" mixed="true">
		<xs:group ref="anyGroup" minOccurs="0" maxOccurs="unbounded"/>
		<xs:attributeGroup ref="labelImageElementAttrGroup"/>
	</xs:complexType>
</xs:schema>
