<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2008 rel. 2 sp2 (http://www.altova.com) by Marc Zweiacker (Zweiacker IT Management) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:hr="http://ch.powernet.ch/schema/" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" elementFormDefault="qualified">
	<xs:import namespace="http://ch.powernet.ch/schema/" schemaLocation="excerpt_hr_0999b.xsd"/>
	<xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd" id="schema"/>
	<xs:element name="excerpt">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="envelope">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="schemaVersion" type="xs:token">
								<xs:annotation>
									<xs:documentation>version number</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="officeID" type="xs:int">
								<xs:annotation>
									<xs:documentation>responsible for this excerpt</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="officeName" type="xs:token" minOccurs="0">
								<xs:annotation>
									<xs:documentation>printable office name</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="creationDate" type="xs:dateTime">
								<xs:annotation>
									<xs:documentation>production date and time</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="validityDate" type="xs:date">
								<xs:annotation>
									<xs:documentation>contains publications up to...</xs:documentation>
								</xs:annotation>
							</xs:element>
						</xs:sequence>
						<xs:attribute name="lang" type="langType" use="required">
							<xs:annotation>
								<xs:documentation>Language of the excerpt</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="lastInstanceOnly">
							<xs:annotation>
								<xs:documentation>data from last card only</xs:documentation>
							</xs:annotation>
							<xs:simpleType>
								<xs:restriction base="xs:int">
									<xs:minInclusive value="0"/>
									<xs:maxInclusive value="1"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:attribute>
						<xs:attribute name="activeOnly">
							<xs:annotation>
								<xs:documentation>no deletions</xs:documentation>
							</xs:annotation>
							<xs:simpleType>
								<xs:restriction base="xs:int">
									<xs:minInclusive value="0"/>
									<xs:maxInclusive value="1"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:attribute>
					</xs:complexType>
				</xs:element>
				<xs:element name="instances">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="instance" maxOccurs="unbounded">
								<xs:complexType>
									<xs:complexContent>
										<xs:extension base="instanceType">
											<xs:attribute name="CHNum" type="CHNumType" use="required"/>
											<xs:attribute name="suffix" type="xs:token">
												<xs:annotation>
													<xs:documentation>=suffix of element "identification"</xs:documentation>
												</xs:annotation>
											</xs:attribute>
										</xs:extension>
									</xs:complexContent>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element ref="dsig:Signature" minOccurs="0"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="addressType">
		<xs:sequence minOccurs="0">
			<xs:element name="addressText" type="xs:string">
				<xs:annotation>
					<xs:documentation>suitable for printing</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="addressDetails" type="locationType" minOccurs="0"/>
		</xs:sequence>
		<xs:attributeGroup ref="citeGroup"/>
		<xs:attribute name="lang" type="langType"/>
		<xs:attribute name="kind">
			<xs:simpleType>
				<xs:restriction base="xs:token">
					<xs:enumeration value="seat"/>
					<xs:enumeration value="postal"/>
					<xs:enumeration value="admin"/>
					<xs:enumeration value="other"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="capitalType">
		<xs:choice>
			<xs:sequence>
				<xs:element name="capitalAmount" minOccurs="0">
					<xs:complexType>
						<xs:simpleContent>
							<xs:extension base="xs:decimal">
								<xs:attribute name="status" use="required">
									<xs:simpleType>
										<xs:restriction base="xs:int">
											<xs:minInclusive value="0"/>
											<xs:maxInclusive value="1"/>
										</xs:restriction>
									</xs:simpleType>
								</xs:attribute>
							</xs:extension>
						</xs:simpleContent>
					</xs:complexType>
				</xs:element>
				<xs:element name="cashedIn" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Liberierung</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:simpleContent>
							<xs:extension base="xs:decimal">
								<xs:attribute name="status" use="required">
									<xs:simpleType>
										<xs:restriction base="xs:int">
											<xs:minInclusive value="0"/>
											<xs:maxInclusive value="1"/>
										</xs:restriction>
									</xs:simpleType>
								</xs:attribute>
								<xs:attribute name="del" type="xs:int"/>
							</xs:extension>
						</xs:simpleContent>
					</xs:complexType>
				</xs:element>
				<xs:element name="division" minOccurs="0" maxOccurs="unbounded">
					<xs:annotation>
						<xs:documentation>Stückelung</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:choice>
							<xs:element name="divisionText">
								<xs:complexType>
									<xs:simpleContent>
										<xs:extension base="xs:token">
											<xs:attribute name="status" use="required">
												<xs:simpleType>
													<xs:restriction base="xs:int">
														<xs:minInclusive value="0"/>
														<xs:maxInclusive value="1"/>
													</xs:restriction>
												</xs:simpleType>
											</xs:attribute>
											<xs:attribute name="del" type="xs:int"/>
										</xs:extension>
									</xs:simpleContent>
								</xs:complexType>
							</xs:element>
							<xs:element name="details">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="detailText" type="xs:token" minOccurs="0"/>
										<xs:element name="quantity" type="xs:int" minOccurs="0"/>
										<xs:element name="shareCode" minOccurs="0">
											<xs:simpleType>
												<xs:restriction base="xs:int">
													<xs:minInclusive value="1"/>
													<xs:maxInclusive value="4"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="shareText" type="xs:token" minOccurs="0"/>
										<xs:element name="valueOfShare" type="xs:decimal" minOccurs="0"/>
										<xs:element name="votingRights" type="xs:token" minOccurs="0"/>
										<xs:element name="privileges" type="xs:token" minOccurs="0"/>
									</xs:sequence>
									<xs:attribute name="status" use="required">
										<xs:simpleType>
											<xs:restriction base="xs:int">
												<xs:minInclusive value="0"/>
												<xs:maxInclusive value="1"/>
											</xs:restriction>
										</xs:simpleType>
									</xs:attribute>
									<xs:attribute name="del" type="xs:int"/>
									<xs:attribute name="restrictions">
										<xs:simpleType>
											<xs:restriction base="xs:int">
												<xs:minInclusive value="0"/>
												<xs:maxInclusive value="1"/>
											</xs:restriction>
										</xs:simpleType>
									</xs:attribute>
								</xs:complexType>
							</xs:element>
						</xs:choice>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:element name="allocation" type="xs:token">
				<xs:annotation>
					<xs:documentation>cooperative societies</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:choice>
		<xs:attributeGroup ref="citeGroup"/>
		<xs:attribute name="capitalCode" type="xs:int" use="required"/>
		<xs:attribute name="currency" type="currencyType"/>
	</xs:complexType>
	<xs:complexType name="companyRefType">
		<xs:sequence>
			<xs:element name="CHNum" minOccurs="0">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="CHNumType">
							<xs:attribute name="suffix" type="xs:token"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="IdCantonal" minOccurs="0">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:token">
							<xs:attribute name="suffix" type="xs:token"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="UID" type="UIDType" minOccurs="0"/>
			<xs:element name="other" type="xs:string" minOccurs="0"/>
			<xs:element name="link" type="xs:string" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="officeID" type="xs:int"/>
		<xs:attribute name="date" type="xs:date">
			<xs:annotation>
				<xs:documentation>date of carryover</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="instanceType">
		<xs:sequence>
			<xs:element name="heading">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="identification" type="companyRefType"/>
						<xs:element name="canton" type="cantonType"/>
						<xs:element name="entityStatus">
							<xs:simpleType>
								<xs:restriction base="xs:int">
									<xs:minInclusive value="0"/>
									<xs:maxInclusive value="1"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:element>
						<xs:element name="legalForm" type="legalFormType"/>
						<xs:element name="legalFormText" type="xs:token"/>
						<xs:element name="inscriptionDate" type="xs:date" nillable="true" minOccurs="0"/>
						<xs:element name="beginDate" type="xs:date" minOccurs="0"/>
						<xs:element name="deletionDate" type="xs:date" minOccurs="0"/>
						<xs:element name="duration" minOccurs="0">
							<xs:annotation>
								<xs:documentation>SICAF/SICAV only</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:choice>
									<xs:element name="description" type="xs:token">
										<xs:annotation>
											<xs:documentation>lifespan</xs:documentation>
										</xs:annotation>
									</xs:element>
									<xs:element name="termination" type="xs:date">
										<xs:annotation>
											<xs:documentation>date of termination</xs:documentation>
										</xs:annotation>
									</xs:element>
								</xs:choice>
							</xs:complexType>
						</xs:element>
						<xs:element name="transferFrom" type="companyRefType" minOccurs="0"/>
						<xs:element name="transferTo" type="companyRefType" minOccurs="0"/>
						<xs:element ref="hr:lastRef" minOccurs="0"/>
						<xs:element ref="hr:formerIDs" minOccurs="0"/>
						<xs:element ref="hr:timestamp" minOccurs="0"/>
					</xs:sequence>
					<xs:attribute name="lang" type="langType" use="required">
						<xs:annotation>
							<xs:documentation>language of content</xs:documentation>
						</xs:annotation>
					</xs:attribute>
				</xs:complexType>
			</xs:element>
			<xs:element name="citations">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="citation" maxOccurs="unbounded">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="canton" type="cantonType"/>
									<xs:element name="officeID" type="xs:int" minOccurs="0"/>
									<xs:element name="diary" minOccurs="0">
										<xs:complexType>
											<xs:complexContent>
												<xs:extension base="diaryType"/>
											</xs:complexContent>
										</xs:complexType>
									</xs:element>
									<xs:element name="SHAB" minOccurs="0">
										<xs:complexType>
											<xs:complexContent>
												<xs:extension base="SHABType"/>
											</xs:complexContent>
										</xs:complexType>
									</xs:element>
									<xs:element ref="hr:mutFlags" minOccurs="0"/>
									<xs:element ref="hr:visum" minOccurs="0"/>
								</xs:sequence>
								<xs:attribute name="ref" type="xs:int" use="required">
									<xs:annotation>
										<xs:documentation>citation row number</xs:documentation>
									</xs:annotation>
								</xs:attribute>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="rubrics">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="seats">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="seat" maxOccurs="unbounded">
										<xs:complexType>
											<xs:sequence>
												<xs:element name="seatText" type="xs:token"/>
												<xs:element name="bfsNum" type="bfsNumType" minOccurs="0"/>
												<xs:element name="canton" type="cantonType" minOccurs="0"/>
												<xs:element name="country" type="countryType" minOccurs="0"/>
												<xs:element ref="hr:bfs" minOccurs="0"/>
											</xs:sequence>
											<xs:attributeGroup ref="citeGroup"/>
										</xs:complexType>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="names">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="name" maxOccurs="unbounded">
										<xs:complexType>
											<xs:sequence>
												<xs:element name="native">
													<xs:complexType>
														<xs:simpleContent>
															<xs:extension base="xs:token">
																<xs:attributeGroup ref="citeGroup"/>
																<xs:attribute name="lang" type="langType"/>
															</xs:extension>
														</xs:simpleContent>
													</xs:complexType>
												</xs:element>
												<xs:element name="translation" minOccurs="0" maxOccurs="unbounded">
													<xs:complexType>
														<xs:simpleContent>
															<xs:extension base="xs:token">
																<xs:attributeGroup ref="citeGroup"/>
																<xs:attribute name="lang" type="langType"/>
															</xs:extension>
														</xs:simpleContent>
													</xs:complexType>
												</xs:element>
												<xs:element ref="hr:notice" minOccurs="0" maxOccurs="unbounded"/>
											</xs:sequence>
										</xs:complexType>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="addresses" minOccurs="0">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="address" maxOccurs="unbounded">
										<xs:complexType>
											<xs:complexContent>
												<xs:extension base="addressType"/>
											</xs:complexContent>
										</xs:complexType>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="purposes" minOccurs="0">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="purpose" maxOccurs="unbounded">
										<xs:annotation>
											<xs:documentation/>
										</xs:annotation>
										<xs:complexType>
											<xs:simpleContent>
												<xs:extension base="xs:token">
													<xs:attributeGroup ref="citeGroup"/>
												</xs:extension>
											</xs:simpleContent>
										</xs:complexType>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="topics" minOccurs="0">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="topic" maxOccurs="unbounded">
										<xs:annotation>
											<xs:documentation/>
										</xs:annotation>
										<xs:complexType mixed="true">
											<xs:sequence>
												<xs:any namespace="http://ehra.admin.ch/xmlstd.html" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
											</xs:sequence>
											<xs:attributeGroup ref="citeGroup"/>
											<xs:attribute name="topicCode" type="xs:int" use="required"/>
										</xs:complexType>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="capital" minOccurs="0">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="capitalItem" type="capitalType" maxOccurs="unbounded"/>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="bylaws" minOccurs="0">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="bylaw" maxOccurs="unbounded">
										<xs:complexType>
											<xs:choice maxOccurs="unbounded">
												<xs:element name="date">
													<xs:complexType>
														<xs:simpleContent>
															<xs:extension base="xs:date">
																<xs:attribute name="first" type="xs:int"/>
															</xs:extension>
														</xs:simpleContent>
													</xs:complexType>
												</xs:element>
												<xs:element name="text" type="xs:token"/>
											</xs:choice>
											<xs:attributeGroup ref="citeGroup"/>
										</xs:complexType>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="branches" minOccurs="0">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="branch" maxOccurs="unbounded">
										<xs:complexType>
											<xs:sequence>
												<xs:element name="identification" type="companyRefType"/>
												<xs:element name="fullText" type="xs:token"/>
												<xs:element name="bfsNum" type="bfsNumType" minOccurs="0"/>
												<xs:element name="seatText" type="xs:token" minOccurs="0"/>
											</xs:sequence>
											<xs:attributeGroup ref="citeGroup"/>
											<xs:attribute name="seq" type="xs:int" use="required"/>
										</xs:complexType>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="HQinfo" minOccurs="0">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="HQid" type="companyRefType" minOccurs="0"/>
									<xs:element name="HQtext" maxOccurs="unbounded">
										<xs:complexType>
											<xs:simpleContent>
												<xs:extension base="xs:token">
													<xs:attributeGroup ref="citeGroup"/>
													<xs:attribute name="infoCode" type="xs:int" use="required"/>
												</xs:extension>
											</xs:simpleContent>
										</xs:complexType>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="persons" minOccurs="0">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="person" type="personType" maxOccurs="unbounded"/>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="locationType">
		<xs:sequence minOccurs="0">
			<xs:element name="destination" minOccurs="0">
				<xs:annotation>
					<xs:documentation>organisation name</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="co" type="xs:token" minOccurs="0">
				<xs:annotation>
					<xs:documentation>care-of</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="attention" minOccurs="0">
				<xs:annotation>
					<xs:documentation>target person</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:attributeGroup ref="hr:attnGroup"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="street" type="xs:token" minOccurs="0"/>
			<xs:element name="buildingNum" minOccurs="0">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:token">
							<xs:attribute name="prefixed">
								<xs:simpleType>
									<xs:restriction base="xs:int">
										<xs:minInclusive value="0"/>
										<xs:maxInclusive value="1"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:attribute>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="streetAddOn" type="xs:token" minOccurs="0"/>
			<xs:element name="poBoxNum" type="xs:token" minOccurs="0"/>
			<xs:element name="zip" type="xs:token" minOccurs="0"/>
			<xs:element name="city" type="xs:token" minOccurs="0"/>
			<xs:element name="country" type="countryType" minOccurs="0"/>
			<xs:element name="bfsNum" type="bfsNumType" minOccurs="0"/>
			<xs:element name="cantonalLocNum" minOccurs="0"/>
			<xs:element name="federalLocNum" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="diaryType">
		<xs:choice>
			<xs:element name="text" type="xs:token"/>
			<xs:sequence>
				<xs:element name="entryNr" type="xs:int" nillable="true">
					<xs:annotation>
						<xs:documentation/>
					</xs:annotation>
				</xs:element>
				<xs:choice>
					<xs:element name="date" type="xs:date" nillable="true"/>
					<xs:element name="year" type="xs:gYear"/>
				</xs:choice>
			</xs:sequence>
		</xs:choice>
		<xs:attribute name="kindOfEntry">
			<xs:simpleType>
				<xs:restriction base="xs:token">
					<xs:enumeration value="N"/>
					<xs:enumeration value="R"/>
					<xs:enumeration value="C"/>
					<xs:enumeration value="P"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="SHABType">
		<xs:choice>
			<xs:element name="text" type="xs:token"/>
			<xs:sequence>
				<xs:element name="shabNum" type="xs:int" nillable="true"/>
				<xs:element name="page" type="xs:int" nillable="true" minOccurs="0"/>
				<xs:element name="pubNum" type="xs:int" nillable="true" minOccurs="0">
					<xs:annotation>
						<xs:documentation/>
					</xs:annotation>
				</xs:element>
				<xs:choice>
					<xs:element name="date" type="xs:date" nillable="true"/>
					<xs:element name="year" type="xs:gYear"/>
				</xs:choice>
			</xs:sequence>
		</xs:choice>
		<xs:attribute name="kindOfEntry">
			<xs:simpleType>
				<xs:restriction base="xs:token">
					<xs:enumeration value="N"/>
					<xs:enumeration value="R"/>
					<xs:enumeration value="C"/>
					<xs:enumeration value="P"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="personType">
		<xs:sequence>
			<xs:element name="refCancel" minOccurs="0">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:token">
							<xs:attribute name="ins" type="xs:int" use="required"/>
							<xs:attribute name="seq" type="xs:int"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="particulars">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="identification" type="companyRefType" minOccurs="0">
							<xs:annotation>
								<xs:documentation>normally used for company identification.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="PID" nillable="1" minOccurs="0">
							<xs:annotation>
								<xs:documentation>identifier of a physical person, if available</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:simpleContent>
									<xs:extension base="xs:token">
										<xs:attribute ref="hr:pid"/>
									</xs:extension>
								</xs:simpleContent>
							</xs:complexType>
						</xs:element>
						<xs:element name="name">
							<xs:annotation>
								<xs:documentation>name of person or organisation</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:simpleContent>
									<xs:extension base="xs:token">
										<xs:attribute ref="hr:prefix"/>
									</xs:extension>
								</xs:simpleContent>
							</xs:complexType>
						</xs:element>
						<xs:element name="mrMrs" minOccurs="0">
							<xs:annotation>
								<xs:documentation>1 = Frau
2 = Herr
3 = Firma</xs:documentation>
							</xs:annotation>
							<xs:simpleType>
								<xs:restriction base="xs:int">
									<xs:minInclusive value="1"/>
									<xs:maxInclusive value="3"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:element>
						<xs:element name="title" type="xs:token" minOccurs="0"/>
						<xs:element name="firstName" type="xs:token" minOccurs="0">
							<xs:annotation>
								<xs:documentation>physical person only</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="origins" minOccurs="0">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="origin" maxOccurs="unbounded">
										<xs:complexType>
											<xs:choice>
												<xs:sequence>
													<xs:element name="city">
														<xs:complexType>
															<xs:simpleContent>
																<xs:extension base="xs:token"/>
															</xs:simpleContent>
														</xs:complexType>
													</xs:element>
													<xs:element name="bfsNum" type="bfsNumType" minOccurs="0"/>
												</xs:sequence>
												<xs:sequence>
													<xs:element name="country" type="countryType" minOccurs="0"/>
													<xs:element name="phrase" type="xs:token"/>
													<xs:element ref="hr:adjective" minOccurs="0"/>
												</xs:sequence>
											</xs:choice>
										</xs:complexType>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="residence" minOccurs="0">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="city" type="xs:token"/>
									<xs:element name="zip" minOccurs="0"/>
									<xs:element name="bfsNum" type="bfsNumType" minOccurs="0"/>
									<xs:element name="country" minOccurs="0">
										<xs:simpleType>
											<xs:restriction base="countryType"/>
										</xs:simpleType>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="yearOfBirth" type="xs:gYear" minOccurs="0"/>
						<xs:element name="personText" type="xs:string" minOccurs="0"/>
					</xs:sequence>
					<xs:attribute name="personKind" use="required">
						<xs:annotation>
							<xs:documentation>1 = physical
2 = organisation</xs:documentation>
						</xs:annotation>
					</xs:attribute>
					<xs:attribute name="underage" type="xs:int">
						<xs:annotation>
							<xs:documentation>phys. person only</xs:documentation>
						</xs:annotation>
					</xs:attribute>
					<xs:attribute name="patronised" type="xs:int">
						<xs:annotation>
							<xs:documentation>phys. person only</xs:documentation>
						</xs:annotation>
					</xs:attribute>
				</xs:complexType>
			</xs:element>
			<xs:element name="functions" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="function" maxOccurs="5">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="funcCode" minOccurs="0">
										<xs:complexType>
											<xs:simpleContent>
												<xs:extension base="xs:int"/>
											</xs:simpleContent>
										</xs:complexType>
									</xs:element>
									<xs:element name="funcText" minOccurs="0">
										<xs:complexType>
											<xs:simpleContent>
												<xs:extension base="xs:token">
													<xs:attribute name="extra" type="xs:string"/>
												</xs:extension>
											</xs:simpleContent>
										</xs:complexType>
									</xs:element>
									<xs:element name="authorisation" minOccurs="0">
										<xs:complexType>
											<xs:sequence>
												<xs:element name="authCode" type="xs:int"/>
												<xs:element name="authText" type="xs:token"/>
												<xs:element name="extraCode" type="xs:int" minOccurs="0"/>
												<xs:element name="extraText" type="xs:token" minOccurs="0"/>
												<xs:element ref="hr:signShort" minOccurs="0"/>
												<xs:element ref="hr:extraShort" minOccurs="0"/>
											</xs:sequence>
										</xs:complexType>
									</xs:element>
									<xs:element ref="hr:funcShort" minOccurs="0"/>
								</xs:sequence>
								<xs:attribute name="order" type="xs:int"/>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="warranties" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="warranty" maxOccurs="unbounded">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="warrantyCode" type="xs:int"/>
									<xs:element name="warrantyText" type="xs:token" minOccurs="0"/>
									<xs:element name="amount" type="xs:decimal"/>
									<xs:element name="quantity" type="xs:int" minOccurs="0"/>
									<xs:element name="value" type="xs:decimal" minOccurs="0"/>
									<xs:element name="currency" type="currencyType" minOccurs="0"/>
									<xs:element name="votingRights" type="xs:token" minOccurs="0"/>
									<xs:element name="privileges" type="xs:token" minOccurs="0"/>
								</xs:sequence>
								<xs:attribute name="restrictions" type="xs:int"/>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attributeGroup ref="citeGroup"/>
		<xs:attribute name="change" type="xs:int"/>
		<xs:attribute name="seq" type="xs:int"/>
	</xs:complexType>
	<xs:simpleType name="CHNumType">
		<xs:restriction base="xs:token">
			<xs:pattern value="CH-\d{3}\.\d\.\d{3}\.\d{3}-\d(/\w*)?"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="countryType">
		<xs:restriction base="xs:token">
			<xs:length value="2"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="legalFormType">
		<xs:restriction base="xs:int">
			<xs:maxInclusive value="99"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="langType">
		<xs:restriction base="xs:token">
			<xs:length value="2"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:attributeGroup name="citeGroup">
		<xs:attribute name="status" use="required">
			<xs:simpleType>
				<xs:restriction base="xs:int">
					<xs:minInclusive value="0"/>
					<xs:maxInclusive value="1"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="ins" type="xs:int" use="required"/>
		<xs:attribute name="mut" type="xs:int"/>
		<xs:attribute name="del" type="xs:int"/>
	</xs:attributeGroup>
	<xs:simpleType name="currencyType">
		<xs:restriction base="xs:token">
			<xs:length value="3"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="UIDType">
		<xs:restriction base="xs:token"/>
	</xs:simpleType>
	<xs:simpleType name="cantonType">
		<xs:restriction base="xs:token">
			<xs:length value="2"/>
			<xs:enumeration value="AG"/>
			<xs:enumeration value="AR"/>
			<xs:enumeration value="AI"/>
			<xs:enumeration value="BL"/>
			<xs:enumeration value="BS"/>
			<xs:enumeration value="BE"/>
			<xs:enumeration value="FR"/>
			<xs:enumeration value="GE"/>
			<xs:enumeration value="GL"/>
			<xs:enumeration value="GR"/>
			<xs:enumeration value="JU"/>
			<xs:enumeration value="LU"/>
			<xs:enumeration value="NE"/>
			<xs:enumeration value="NW"/>
			<xs:enumeration value="OW"/>
			<xs:enumeration value="SH"/>
			<xs:enumeration value="SZ"/>
			<xs:enumeration value="SO"/>
			<xs:enumeration value="SG"/>
			<xs:enumeration value="TI"/>
			<xs:enumeration value="TG"/>
			<xs:enumeration value="UR"/>
			<xs:enumeration value="VD"/>
			<xs:enumeration value="VS"/>
			<xs:enumeration value="ZG"/>
			<xs:enumeration value="ZH"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="bfsNumType">
		<xs:restriction base="xs:int">
			<xs:maxInclusive value="9999"/>
		</xs:restriction>
	</xs:simpleType>
</xs:schema>

