<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns="http://patlenain.dyndns.org/bouchot/tribune-1.0.xsd"
           targetNamespace="http://patlenain.dyndns.org/bouchot/tribune-1.0.xsd"
           version="1.0"
           xsi:schemaLocation="http://www.w3.org/2001/XMLSchema
                               http://www.w3.org/2001/XMLSchema.xsd">

<xs:annotation>
	<xs:documentation xml:lang="fr">
		Schéma XML du backend de ma tribune.
	</xs:documentation>
</xs:annotation>

<xs:element name="board">
	<xs:annotation>
		<xs:documentation xml:lang="fr">
			Contenu de la tribune
		</xs:documentation>
	</xs:annotation>
	<xs:complexType>
		<xs:sequence>
			<xs:element minOccurs="0" maxOccurs="unbounded" ref="post"/>
		</xs:sequence>
		<xs:attribute name="site" type="xs:anyURI" use="required">
			<xs:annotation>
				<xs:documentation xml:lang="fr">
					URL de la tribune
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
</xs:element>

<xs:element name="post">
	<xs:annotation>
		<xs:documentation xml:lang="fr">
			Un message dans la tribune
		</xs:documentation>
	</xs:annotation>
	<xs:complexType>
		<xs:sequence>
			<xs:element ref="info"/>
			<xs:element ref="message"/>
			<xs:element ref="login"/>
		</xs:sequence>
		<xs:attribute name="time" type="xs:long" use="required">
			<xs:annotation>
				<xs:documentation xml:lang="fr">
					Moment du post (en temps unix)
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="id" type="xs:long" use="required">
			<xs:annotation>
				<xs:documentation xml:lang="fr">
					Identifiant du message
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
</xs:element>

<xs:element name="message">
	<xs:annotation>
		<xs:documentation xml:lang="fr">
			Contenu du message
		</xs:documentation>
	</xs:annotation>
	<xs:complexType mixed="true">
		<xs:sequence>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="a"/>
				<xs:element ref="u"/>
				<xs:element ref="b"/>
				<xs:element ref="s"/>
				<xs:element ref="tt"/>
				<xs:element ref="i"/>
			</xs:choice>
		</xs:sequence>
	</xs:complexType>
</xs:element>

<xs:element name="info" type="xs:string">
	<xs:annotation>
		<xs:documentation xml:lang="fr">
			User-agent de l'auteur du message
		</xs:documentation>
	</xs:annotation>
</xs:element>

<xs:element name="login" type="xs:string">
	<xs:annotation>
		<xs:documentation xml:lang="fr">
			Login de l'auteur du message
		</xs:documentation>
	</xs:annotation>
</xs:element>

<xs:element name="s">
	<xs:annotation>
		<xs:documentation xml:lang="fr">
			Contenu affiché avec une barre horizontale à mi-hauteur
		</xs:documentation>
	</xs:annotation>
	<xs:complexType mixed="true">
		<xs:sequence>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="a"/>
				<xs:element ref="b"/>
				<xs:element ref="u"/>
				<xs:element ref="tt"/>
				<xs:element ref="i"/>
				<xs:element ref="s"/>
			</xs:choice>
		</xs:sequence>
	</xs:complexType>
</xs:element>

<xs:element name="b">
	<xs:annotation>
		<xs:documentation xml:lang="fr">
			Contenu affiché en gras
		</xs:documentation>
	</xs:annotation>
	<xs:complexType mixed="true">
		<xs:sequence>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="a"/>
				<xs:element ref="b"/>
				<xs:element ref="u"/>
				<xs:element ref="tt"/>
				<xs:element ref="i"/>
				<xs:element ref="s"/>
			</xs:choice>
		</xs:sequence>
	</xs:complexType>
</xs:element>

<xs:element name="u">
	<xs:annotation>
		<xs:documentation xml:lang="fr">
			Contenu affiché avec sous-lignage
		</xs:documentation>
	</xs:annotation>
	<xs:complexType mixed="true">
		<xs:sequence>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="a"/>
				<xs:element ref="b"/>
				<xs:element ref="u"/>
				<xs:element ref="tt"/>
				<xs:element ref="i"/>
				<xs:element ref="s"/>
			</xs:choice>
		</xs:sequence>
	</xs:complexType>
</xs:element>

<xs:element name="tt">
	<xs:annotation>
		<xs:documentation xml:lang="fr">
			Contenu affiché avec une police à chasse fixe
		</xs:documentation>
	</xs:annotation>
	<xs:complexType mixed="true">
		<xs:sequence>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="a"/>
				<xs:element ref="b"/>
				<xs:element ref="u"/>
				<xs:element ref="tt"/>
				<xs:element ref="i"/>
				<xs:element ref="s"/>
			</xs:choice>
		</xs:sequence>
	</xs:complexType>
</xs:element>

<xs:element name="i">
	<xs:annotation>
		<xs:documentation xml:lang="fr">
			Contenu affiché en italique
		</xs:documentation>
	</xs:annotation>
	<xs:complexType mixed="true">
		<xs:sequence>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="a"/>
				<xs:element ref="b"/>
				<xs:element ref="u"/>
				<xs:element ref="tt"/>
				<xs:element ref="i"/>
				<xs:element ref="s"/>
			</xs:choice>
		</xs:sequence>
	</xs:complexType>
</xs:element>

<xs:element name="a">
	<xs:annotation>
		<xs:documentation xml:lang="fr">
			Hyperlien
		</xs:documentation>
	</xs:annotation>
	<xs:complexType>
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="href" type="xs:anyURI" use="required">
					<xs:annotation>
						<xs:documentation xml:lang="fr">
							URL du lien
						</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
</xs:element>

</xs:schema>


