Outils personnels
Vous êtes ici : Accueil Schema lomfrv1.0 adh dataTypes.xsd

dataTypes.xsd

Cliquez ici pour obtenir le fichier

Taille 3.1 kB - Type du fichier text/xml

Contenu du fichier

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" elementFormDefault="qualified" version="LOMFRv1.0">
	<xsd:annotation>
		<xsd:documentation>Fichier décrivant les types de base utilisés dans LOMFR</xsd:documentation>
		<xsd:appinfo>Voir documentation dans lomfr.xsd</xsd:appinfo>
	</xsd:annotation>
	<xsd:simpleType name="CharacterString">
		<xsd:restriction base="xsd:string"/>
	</xsd:simpleType>
	<!-- VCard -->
	<xsd:simpleType name="vCard">
		<xsd:restriction base="CharacterString"/>
	</xsd:simpleType>
	<!-- URI -->
	<xsd:simpleType name="URI">
		<xsd:restriction base="xsd:anyURI"/>
	</xsd:simpleType>
	<!-- MimeType -->
	<xsd:simpleType name="MimeType">
		<xsd:restriction base="CharacterString"/>
	</xsd:simpleType>
	<!-- Size -->
	<xsd:simpleType name="Size">
		<xsd:restriction base="xsd:nonNegativeInteger"/>
	</xsd:simpleType>
	<!-- Language -->
	<xsd:simpleType name="Language">
		<xsd:restriction base="CharacterString"/>
	</xsd:simpleType>
	<!-- LangString -->
	<xsd:complexType name="LangString">
		<xsd:sequence maxOccurs="unbounded">
			<xsd:element name="string">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="CharacterString">
							<xsd:attribute name="language" type="Language" use="required"/>
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>				
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<!-- DateTime -->
	<!-- Regular expresion from Christian Klaue (IEEE LOM)-->
	<xsd:simpleType name="DateTimeString">
		<xsd:restriction base="CharacterString">
			<xsd:pattern value="([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]|[0-9][1-9][0-9]{2}|[1-9][0-9]{3})(\-(0[1-9]|1[0-2])(\-(0[1-9]|[1-2][0-9]|3[0-1])(T([0-1][0-9]|2[0-3])(:[0-5][0-9](:[0-5][0-9](\.[0-9]{1,}(Z|((\+|\-)([0-1][0-9]|2[0-3]):[0-5][0-9]))?)?)?)?)?)?)?"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:complexType name="Date">
		<xsd:sequence>
			<xsd:element name="dateTime" type="DateTimeString" minOccurs="0"/>
			<xsd:element name="description" type="LangString" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<!-- Duration -->
	<!-- Regular expresion from Christian Klaue (IEEE LOM)-->
	<xsd:simpleType name="DurationString">
		<xsd:restriction base="CharacterString">
			<xsd:pattern value="P([0-9]{1,}Y){0,1}([0-9]{1,}M){0,1}([0-9]{1,}D){0,1}(T([0-9]{1,}H){0,1}([0-9]{1,}M){0,1}([0-9]{1,}(\.[0-9]{1,}){0,1}S){0,1}){0,1}"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:complexType name="Duration">
		<xsd:sequence>
			<xsd:element name="duration" type="DurationString" minOccurs="0"/>
			<xsd:element name="description" type="LangString" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<!-- Vocabular -->
	<xsd:simpleType name="LomfrVocab">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="LOMFRv1.0"/>
			<xsd:enumeration value="LOMv1.0"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:complexType name="Vocabular" abstract="true">
		<xsd:sequence>
			<xsd:element name="source" type="LomfrVocab"/>
		</xsd:sequence>
	</xsd:complexType>
</xsd:schema>