web/cda-perso.xsd
author Fabien Ninoles <fabien@tzone.org>
Mon, 17 Mar 2008 00:27:14 -0400
branchcda
changeset 21 e72b1e649090
permissions -rw-r--r--
Première version du perso en XML.

<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
	   targetNamespace="http://harmonies.tzone.org/CdA/2008/CdA"
	   default="http://harmonies.tzone.org/CdA/2008/CdA"
	   elementFormDefault="qualified">
  <xs:complexType name="playerType">
    <xs:all>
      <xs:element name="name" type="xs:string"/>
      <xs:element name="email" type="xs:string" minOccurs="0"/>
    </xs:all>
    <xs:any/>
  </xs:complexType>
  <xs:simpleType name="genderType">
    <xs:restriction base="xs:string"/>
    <xs:enumeration value="male"/>
    <xs:enumeration value="female"/>
    <xs:enumeration value="other"/>
  </xs:simpleType>
  <xs:complexType name="descriptionType">
    <xs:all>
      <xs:element name="name" type="xs:string"/>
      <xs:element name="gender" type="genderType" minOccurs="0"/>
      <xs:element name="age" type="xs:unsignedInteger" minOccurs="0"/>
      <xs:element name="height" type="xs:decimal" minOccurs="0"/>
      <xs:element name="weight" type="xs:decimal" minOccurs="0"/>
    </xs:all>
    <xs:any/>
  </xs:complexType>
  <xs:simpleType name="qualityType">
    <xs:restriction base="xs:integer">
      <xs:minInclusive value="-10"/>
      <xs:maxInclusive value="+10"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="profileType">
    <xs:all>
      <xs:element name="pu" type="qualityType" minOccurs="0"/>
      <xs:element name="re" type="qualityType" minOccurs="0"/>
      <xs:element name="ma" type="qualityType" minOccurs="0"/>
      <xs:element name="pr" type="qualityType" minOccurs="0"/>
      <xs:element name="ex" type="qualityType" minOccurs="0"/>
      <xs:element name="pe" type="qualityType" minOccurs="0"/>
    </xs:all>
  </xs:complexType>
  <xs:complexType name="competenceBasicType">
    <xs:simpleContent>
      <xs:extension base="xs:string">
	<xs:attribute name="nc" type="xs:unsignedInteger"/>
	<xs:attribute name="xp" type="xs:unsignedInteger"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="competenceType">
    <xs:complexContent>
      <xs:extension base="competenceBasicType">
	<xs:attribute name="aspect" type="xs:string"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>    
  <xs:complexType name="aspectType">
    <xs:attribute name="type" type="xs:string" use="required"/>
    <xs:attribute name="bonus" type="xs:integer"/>
    <xs:element name="competence" type="competenceBasicType" 
		maxOccurs="unbounded"/>
  </xs:complexType>
  <xs:element name="player" type="playerType"/>
  <xs:complexType name="characterType">
    <xs:element ref="player"/>
    <xs:element name="description" type="descriptionType"/>
    <xs:element name="profile" type="profileType"/>
    <xs:element name="physique" type="aspectType"/>
    <xs:element name="mental" type="aspectType"/>
    <xs:element name="mystic" type="aspectType"/>
  </xs:complexType>
  <xs:element name="character" type="characterType"/>
</xs:schema>