<?xml version="1.0" encoding="UTF-8"?>
<!--
Document : BQLSchema.xsd
Created on : 30 January 2007, 10:09
Author : C Bettison
Description:
Purpose of XML Schema document for mcqfm project.
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:ns="http://mcqfm/quiz/1_0"
targetNamespace="http://mcqfm/quiz/1_0"
xmlns="http://mcqfm/quiz/1_0" elementFormDefault="qualified">
<xs:element name="quiz" >
<xs:complexType>
<xs:sequence>
<xs:element name="item" type="item" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="item">
<xs:choice>
<xs:element name="choicequestion" type="question"/>
<xs:element name="orderquestion" type="question"/>
<xs:element name="gapquestion" type="question"/>
</xs:choice>
<xs:attribute name="model" type="xs:string" use="required" />
<xs:attribute name="id" type="xs:integer" use="required" />
</xs:complexType>
<xs:complexType name="question">
<xs:sequence>
<xs:element name="content" type="content"/>
<xs:choice>
<xs:element name="answer" type="answer" maxOccurs="unbounded"/>
<xs:element name="orderanswer" type="orderanswer" maxOccurs="unbounded"/>
<xs:element name="sentencepart" type="sentencepart" maxOccurs="unbounded"/>
</xs:choice>
<xs:element name="feedback" type="feedback" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="minvalue" type="xs:integer" use="optional" />
<xs:attribute name="totalscorevalue" type="xs:integer" use="required" />
</xs:complexType>
<xs:complexType name="sentencepart">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="gap" type="xs:boolean" use="required" />
<xs:attribute name="id" type="xs:integer" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="answer">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="correct" type="xs:boolean" use="required" />
<xs:attribute name="id" type="xs:integer" use="required" />
<xs:attribute name="scorevalue" type="xs:integer" use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="orderanswer">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="correctorder" type="xs:integer" use="required" />
<xs:attribute name="scorevalue" type="xs:integer" use="optional" />
<xs:attribute name="correct" type="xs:boolean" use="required" />
<xs:attribute name="id" type="xs:integer" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:simpleType name="content">
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="feedback">
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>