» »

[XML+XSD] Unikaten atribut

[XML+XSD] Unikaten atribut

urbecar ::

Za spodnji XML bi rad izdelal shemo, ki bi preverjala unikatnost atributa ID. Kolikor sem našel se za to uporablja lahko ali unique ali key. Atribut ID pa vsebuje samo element "Element".

XML:
<?xml version="1.0"?>
<Message>
	<Element ID="001">
		<Type>Partition</Type>
		<Length>2</Length>
		<Value/>
	</Element>
	<Element ID="002">
		<Type>Date</Type>
		<Length>8</Length>
		<Value/>
	</Element>
	...
</Message>

trenutna shema, čez katero se zgornji XML validira, če imata dva Elementa enak ID:
<?xml version="1.0" encoding="UTF-8"?>
<!--W3C Schema generated by XMLSpy v2008 (http://www.altova.com)-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:element name="Value" >
		<xs:complexType/>	<!-- value must be empty element -->
	</xs:element>
	<xs:element name="Type" >
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:minLength value="1"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="Message">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="Element" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="Length">
		<xs:simpleType >
			<xs:restriction base="xs:integer">
				<xs:minInclusive value="-1"/><!-- minimum value is -1 meaning undefined -->
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="Element">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="Type" maxOccurs="1" minOccurs="1"/>
				<xs:element ref="Length" maxOccurs="1" minOccurs="1"/>
				<xs:element ref="Value" maxOccurs="1" minOccurs="1"/>
			</xs:sequence>
			<xs:attribute name="ID" use="required"><!--id must be unique attribute-->
				<xs:simpleType>
					<xs:restriction base="xs:byte"/>
				</xs:simpleType>
			</xs:attribute>
		</xs:complexType>
		<xs:key name="UniqueID">
                        <xs:selector xpath="./Message/*" />
                        <xs:field xpath="@ID" />
                </xs:key>
	</xs:element>
</xs:schema>

smarkic ::

Mogoče tako, kot predlagajo na W3 - Example: A Unique Composed Value?


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Nekaj vprašanj glede izdelave spletne strani.

Oddelek: Izdelava spletišč
384804 (3655) scipascapa
»

Pravilni pomen in uporaba značk ter atributov

Oddelek: Izdelava spletišč
111313 (1110) marjan_h
»

[C#] Xml Serializacija Attribut pred Namespace

Oddelek: Programiranje
9958 (844) Looooooka
»

[C#] try - catch

Oddelek: Programiranje
81291 (1048) darkolord
»

[XML] xslt: sort

Oddelek: Programiranje
51522 (1301) house

Več podobnih tem