Skip to content

Instantly share code, notes, and snippets.

@bracken
Last active December 14, 2015 12:08
Show Gist options
  • Select an option

  • Save bracken/5083961 to your computer and use it in GitHub Desktop.

Select an option

Save bracken/5083961 to your computer and use it in GitHub Desktop.
Draft of XSD for Common Cartridge Assignment extension
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://www.imsglobal.org/xsd/imscc_extensions/imscc_extensions/assignment"
xmlns="http://www.imsglobal.org/xsd/imscc_extensions/imscc_extensions/assignment"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
version="IMS Assignment Proposal 0.0.1">
<xs:element name="assignment" type="Assignment.Type"/>
<xs:complexType name="Assignment.Type">
<xs:attribute name="identifier" type="xs:ID" use="required"/>
<xs:all minOccurs="0" maxOccurs="1">
<xs:element name="title" type="xs:string" minOccurs="1"/>
<xs:element name="text" type="Text.Type"/>
<xs:element name="instructor_text" type="Text.Type"/>
<xs:element name="attachments" type="Attachments.Type"/>
<xs:element name="gradable" type="Assignment.Gradable"/>
<xs:element name="submission_formats" type="Assignment.SubmissionFormats"/>
<xs:element name="extensions" type="Extensions.Type" maxOccurs="unbounded"/>
</xs:all>
</xs:complexType>
<!-- These type definitions are copied from http://www.imsglobal.org/profile/cc/ccv1p2/ccv1p2_imsdt_v1p2.xsd -->
<xs:complexType name="Text.Type">
<xs:annotation>
<xs:documentation source="umldocumentation">The Text for the assignment.
</xs:documentation>
</xs:annotation>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="texttype" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="text/plain"/>
<xs:enumeration value="text/html"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="EmptyPrimitiveType.Type">
<xs:complexContent>
<xs:restriction base="xs:anyType"/>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="Attachments.Type" mixed="false">
<xs:sequence>
<xs:element name="attachment" type="Attachment.Type" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Attachment.Type">
<xs:complexContent>
<xs:extension base="EmptyPrimitiveType.Type">
<xs:attribute name="href" use="required" type="xs:normalizedString"/>
<!-- Need to restrict role to LIS role types? -->
<xs:attribute name="role" type="xs:string"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="Assignment.SubmissionFormats">
<xs:all minOccurs="0" maxOccurs="unbounded">
<xs:element name="format">
<xs:complexType>
<xs:attribute name="type">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="text"/>
<xs:enumeration value="html"/>
<xs:enumeration value="url"/>
<xs:enumeration value="file"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
<xs:complexType name="Assignment.Gradable" xml:base="xs:boolean">
<xs:attribute name="points_possible" type="xs:float"/>
</xs:complexType>
<xs:complexType name="Extensions.Type">
<xs:complexContent>
<xs:restriction base="xs:anyType"/>
</xs:complexContent>
<xs:attribute name="platform" type="xs:string" use="optional"/>
</xs:complexType>
</xs:schema>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment