Есть XML:

<?xml version="1.0" encoding="UTF-8"?>
<book>
	<title>Планиметрия для школы</title>
	<author>Иванов Иван Иванович</author>
	<size>4</size>
	<price>25000111.32</price>
	<currency>EUR</currency>
	<supplier>
		<supplierId>154</supplierId>
		<supplierName>ОАО "Рога и Копыта"</supplierName>
	</supplier>
</book>

На данную XML сделаем XSD- схему. Комментарии не нужны

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="1.0">
	<xsd:element name="book">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="title" type="xsd:string">
					<xsd:annotation>
						<xsd:documentation>Названsие книги</xsd:documentation>
					</xsd:annotation>
				</xsd:element>
				<xsd:element name="author">
					<xsd:annotation>
						<xsd:documentation>ФИО автора книги</xsd:documentation>
					</xsd:annotation>
					<xsd:simpleType>
						<xsd:restriction base="xsd:string">
							<xsd:minLength value="2"/>
							<xsd:maxLength value="255"/>
						</xsd:restriction>
					</xsd:simpleType>
				</xsd:element>
				<xsd:element name="size">
					<xsd:annotation>
						<xsd:documentation>Количество страниц в книге</xsd:documentation>
					</xsd:annotation>
					<xsd:simpleType>
						<xsd:restriction base="xsd:integer">
							<xsd:minInclusive value="1"/>
							<xsd:maxInclusive value="10000"/>
						</xsd:restriction>
					</xsd:simpleType>
				</xsd:element>
				<xsd:element name="price">
					<xsd:simpleType>
						<xsd:restriction base="xsd:decimal">
							<xsd:totalDigits value="10"/>
							<xsd:fractionDigits value="2"/>
						</xsd:restriction>
					</xsd:simpleType>
				</xsd:element>
				<xsd:element name="currency">
					<xsd:annotation>
						<xsd:documentation>Код валюты</xsd:documentation>
					</xsd:annotation>
					<xsd:simpleType>
						<xsd:restriction base="xsd:string">
							<xsd:minLength value="1"/>
							<xsd:maxLength value="3"/>
							<xsd:enumeration value="BYR"/>
							<xsd:enumeration value="USD"/>
							<xsd:enumeration value="EUR"/>
						</xsd:restriction>
					</xsd:simpleType>
				</xsd:element>
				<xsd:element name="supplier">
					<xsd:complexType>
						<xsd:sequence>
							<xsd:element name="supplierId" type="xsd:integer" fixed="154">
								<xsd:annotation>
									<xsd:documentation>ID поставщика</xsd:documentation>
								</xsd:annotation>
							</xsd:element>
							<xsd:element name="supplierName">
								<xsd:annotation>
									<xsd:documentation>Наименование поставщика</xsd:documentation>
								</xsd:annotation>
								<xsd:simpleType>
									<xsd:restriction base="xsd:string">
										<xsd:minLength value="5"/>
										<xsd:maxLength value="300"/>
									</xsd:restriction>
								</xsd:simpleType>
							</xsd:element>
							<xsd:element name="supplierAddress" type="xsd:string" minOccurs="0"/>
						</xsd:sequence>
					</xsd:complexType>
				</xsd:element>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
</xsd:schema>

Реклама