﻿<?xml version="1.0" encoding="utf-8"?>
<xsd:schema id="DataTopic_Attributes" targetNamespace="https://imde.io/schema/azlon/1.2/attributes" elementFormDefault="qualified" xmlns="https://imde.io/schema/azlon/1.2/attributes" xmlns:code="https://imde.io/schema/azlon/1.0/codelists" xmlns:code1_2="https://imde.io/schema/azlon/1.2/codelists" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<xsd:import schemaLocation="https://imde.io/schema/azlon/1.0/codelists/culture.xsd" namespace="https://imde.io/schema/azlon/1.0/codelists"/>
	<xsd:import schemaLocation="https://imde.io/schema/azlon/1.2/codelists/attributeType.xsd" namespace="https://imde.io/schema/azlon/1.2/codelists"/>
	<xsd:import schemaLocation="https://imde.io/schema/azlon/1.0/codelists/attributeCodeType.xsd" namespace="https://imde.io/schema/azlon/1.0/codelists"/>
	<xsd:import schemaLocation="https://imde.io/schema/azlon/1.0/codelists/attributeValueType.xsd" namespace="https://imde.io/schema/azlon/1.0/codelists"/>
	<xsd:import schemaLocation="https://imde.io/schema/azlon/1.0/codelists/unitType.xsd" namespace="https://imde.io/schema/azlon/1.0/codelists"/>	
	<xsd:element name="Attributes">
		<xsd:complexType>
			<xsd:all>
				<xsd:element name="Attributes" minOccurs="1">
					<xsd:complexType>
						<xsd:sequence>
							<xsd:element name="Attribute" minOccurs="1" maxOccurs="unbounded">
								<xsd:complexType>
									<xsd:all>
										<xsd:element name="Codes" minOccurs="1" maxOccurs="1">
											<xsd:complexType>
												<xsd:sequence>
													<xsd:element name="Code" minOccurs="1" maxOccurs="unbounded">
														<xsd:complexType>
															<xsd:simpleContent>
																<xsd:extension base="xsd:string">
																	<xsd:attribute name="Type" type="code:attributeCodeType" use="required"/>
																</xsd:extension>
															</xsd:simpleContent>
														</xsd:complexType>
													</xsd:element>
												</xsd:sequence>
											</xsd:complexType>
										</xsd:element>
										<xsd:element name="Names" minOccurs="1" maxOccurs="1">
											<xsd:complexType>
												<xsd:sequence>
													<xsd:element name="Translation" minOccurs="1" maxOccurs="unbounded">
														<xsd:complexType>
															<xsd:simpleContent>
																<xsd:extension base="xsd:string">
																	<xsd:attribute name="Culture" type="code:culture" use="required"/>
																</xsd:extension>
															</xsd:simpleContent>
														</xsd:complexType>
													</xsd:element>
												</xsd:sequence>
											</xsd:complexType>
										</xsd:element>										
										<xsd:element name="Values" minOccurs="0" maxOccurs="1">
											<xsd:complexType>
												<xsd:sequence>
													<xsd:element name="Units" minOccurs="0" maxOccurs="1">
															<xsd:complexType>
																<xsd:sequence>
																	<xsd:element name="Unit" minOccurs="1" maxOccurs="unbounded">
																		<xsd:complexType>
																			<xsd:simpleContent>
																				<xsd:extension base="xsd:string">
																					<xsd:attribute name="Type" type="code:unitType" use="required"/>
																				</xsd:extension>
																			</xsd:simpleContent>
																		</xsd:complexType>
																	</xsd:element>
																</xsd:sequence>
															</xsd:complexType>
													</xsd:element>
													<xsd:choice>
														<xsd:element name="Value" minOccurs="0" maxOccurs="unbounded">
															<xsd:complexType>
																<xsd:all>
																	<xsd:element name="Translations" minOccurs="0" maxOccurs="1">
																		<xsd:complexType>
																			<xsd:sequence>
																				<xsd:element name="Translation" minOccurs="1" maxOccurs="unbounded">
																					<xsd:complexType>
																						<xsd:simpleContent>
																							<xsd:extension base="xsd:string">
																								<xsd:attribute name="Culture" type="code:culture" use="required"/>
																							</xsd:extension>
																						</xsd:simpleContent>
																					</xsd:complexType>
																				</xsd:element>
																			</xsd:sequence>
																		</xsd:complexType>
																	</xsd:element>
																	<xsd:element name="Content" minOccurs="1" maxOccurs="1">
																		<xsd:complexType>
																			<xsd:simpleContent>
																				<xsd:extension base="xsd:string">																					
																				</xsd:extension>
																			</xsd:simpleContent>
																		</xsd:complexType>
																	</xsd:element>
																</xsd:all>
																<xsd:attribute name="Type" type="code:attributeValueType" use="required"/>
															</xsd:complexType>
														</xsd:element>
														<xsd:element name="ValueString" minOccurs="0" maxOccurs="unbounded">
															<xsd:complexType>
																<xsd:simpleContent>
																	<xsd:extension base="xsd:string">
																		<xsd:attribute name="Culture" type="code:culture"/>
																	</xsd:extension>
																</xsd:simpleContent>
															</xsd:complexType>
														</xsd:element>
														<xsd:element name="ValueMultilinePlainText" minOccurs="0" maxOccurs="unbounded">
															<xsd:complexType>
																<xsd:simpleContent>
																	<xsd:extension base="xsd:string">
																		<xsd:attribute name="Culture" type="code:culture"/>
																	</xsd:extension>
																</xsd:simpleContent>
															</xsd:complexType>
														</xsd:element>
														<xsd:element name="ValueInteger" minOccurs="0" maxOccurs="unbounded">
															<xsd:complexType>
																<xsd:simpleContent>
																	<xsd:extension base="xsd:integer">
																	</xsd:extension>
																</xsd:simpleContent>
															</xsd:complexType>
														</xsd:element>
														<xsd:element name="ValueDouble" minOccurs="0" maxOccurs="unbounded">
															<xsd:complexType>
																<xsd:simpleContent>
																	<xsd:extension base="xsd:double">
																	</xsd:extension>
																</xsd:simpleContent>
															</xsd:complexType>
														</xsd:element>
														<xsd:element name="ValueNumber" minOccurs="0" maxOccurs="unbounded">
															<xsd:complexType>
																<xsd:simpleContent>
																	<xsd:extension base="xsd:double">
																	</xsd:extension>
																</xsd:simpleContent>
															</xsd:complexType>
														</xsd:element>
														<xsd:element name="ValueDate" minOccurs="0" maxOccurs="unbounded">
															<xsd:complexType>
																<xsd:simpleContent>
																	<xsd:extension base="xsd:date">
																	</xsd:extension>
																</xsd:simpleContent>
															</xsd:complexType>
														</xsd:element>
														<xsd:element name="ValueBoolean" minOccurs="0" maxOccurs="unbounded">
															<xsd:complexType>
																<xsd:simpleContent>
																	<xsd:extension base="xsd:boolean">
																	</xsd:extension>
																</xsd:simpleContent>
															</xsd:complexType>
														</xsd:element>
														<xsd:sequence>
															<xsd:element name="ValueFrom" minOccurs="1" maxOccurs="unbounded">
																<xsd:complexType>
																	<xsd:simpleContent>
																		<xsd:extension base="xsd:double">
																		</xsd:extension>
																	</xsd:simpleContent>
																</xsd:complexType>
															</xsd:element>
															<xsd:element name="ValueTo" minOccurs="1" maxOccurs="unbounded">
																<xsd:complexType>
																			<xsd:simpleContent>
																		<xsd:extension base="xsd:double">
																		</xsd:extension>
																	</xsd:simpleContent>
																</xsd:complexType>
															</xsd:element>												
														</xsd:sequence>
														<xsd:element name="ValueHtml" minOccurs="0" maxOccurs="unbounded">
															<xsd:complexType mixed="true">
																<xsd:sequence>
																	<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
																</xsd:sequence>
																<xsd:attribute name="Culture" type="code:culture"/>
															</xsd:complexType>
														</xsd:element>															
													</xsd:choice>
												</xsd:sequence>												
											</xsd:complexType>
										</xsd:element>
									</xsd:all>
									<xsd:attribute name="Type" type="code1_2:attributeType" use="required"/>
									<xsd:attribute name="AttributeGroupCode" type="xsd:string"/>
									<xsd:attribute name="IsPublic" type="xsd:boolean" use="required"/>
								</xsd:complexType>
							</xsd:element>
						</xsd:sequence>
					</xsd:complexType>
				</xsd:element>
				<xsd:element name="AttributeGroups" minOccurs="0" maxOccurs="1">
					<xsd:complexType>
						<xsd:sequence>
							<xsd:element name="AttributeGroup" minOccurs="1" maxOccurs="unbounded">
								<xsd:complexType>
									<xsd:all>
										<xsd:element name="Names" minOccurs="1" maxOccurs="1">
											<xsd:complexType>
												<xsd:sequence>
													<xsd:element name="Translation" minOccurs="1" maxOccurs="unbounded">
														<xsd:complexType>
															<xsd:simpleContent>
																<xsd:extension base="xsd:string">
																	<xsd:attribute name="Culture" type="code:culture" use="required"/>
																</xsd:extension>
															</xsd:simpleContent>
														</xsd:complexType>
													</xsd:element>
												</xsd:sequence>
											</xsd:complexType>
										</xsd:element>
									</xsd:all>
									<xsd:attribute name="Code" type="xsd:string" use="required"/>
								</xsd:complexType>
							</xsd:element>
						</xsd:sequence>
					</xsd:complexType>
				</xsd:element>
			</xsd:all>
		</xsd:complexType>
	</xsd:element>
</xsd:schema>
