|
From: <pka...@us...> - 2009-04-27 21:30:50
|
Revision: 188
http://cse-ip.svn.sourceforge.net/cse-ip/?rev=188&view=rev
Author: pkasprzak
Date: 2009-04-27 21:30:41 +0000 (Mon, 27 Apr 2009)
Log Message:
-----------
* Integrated ilias course xsd
* Adding a course works half way (the added course is only visible in ilias' administration view and, more seriously, xml cannot be changed due to "ElementNotFoundInComplexType-Exception" [working on it])
Modified Paths:
--------------
trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/OutboundClientAdapter.bpel
Added Paths:
-----------
trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-course.xml
trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-course.xsd
Modified: trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/OutboundClientAdapter.bpel
===================================================================
--- trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/OutboundClientAdapter.bpel 2009-04-27 21:25:21 UTC (rev 187)
+++ trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/OutboundClientAdapter.bpel 2009-04-27 21:30:41 UTC (rev 188)
@@ -9,15 +9,19 @@
xmlns:sxat="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/Attachment"
xmlns:sxeh="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/ErrorHandling"
xmlns:sxxf="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/XPathFunctions"
+ xmlns:il_crs="http://cse.campussource.de/schema/ilias/course"
xmlns:tns="http://enterprise.netbeans.org/bpel/ILIASClientAdapter/newProcess">
<import namespace="http://enterprise.netbeans.org/bpel/ilias-3.10.5-Wrapper" location="ilias-3.10.5-Wrapper.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
<import namespace="http://j2ee.netbeans.org/wsdl/ILIASClientAdapter/ILIASClientAdapter" location="ILIASClientAdapter.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
<import namespace="urn:ilUserAdministration" location="ilias-3.10.5-fixed.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
+ <import namespace="http://cse.campussource.de/schema/ilias/course" location="ilias-course.xsd" importType="http://www.w3.org/2001/XMLSchema"/>
+
<partnerLinks>
<partnerLink name="ILIAS" xmlns:tns="http://enterprise.netbeans.org/bpel/ilias-3.10.5-Wrapper" partnerLinkType="tns:ILIASSoapWebserviceLinkType" partnerRole="ILIASSoapWebserviceRole"/>
<partnerLink name="ILIASAdapter" xmlns:tns="http://j2ee.netbeans.org/wsdl/ILIASClientAdapter/ILIASClientAdapter" partnerLinkType="tns:ILIASClientAdapter" myRole="ILIASClientAdapterPortTypeRole"/>
</partnerLinks>
+
<variables>
<variable name="AddCourseOut" xmlns:tns="urn:ilUserAdministration" messageType="tns:addCourseResponse"/>
<variable name="AddCourseIn" xmlns:tns="urn:ilUserAdministration" messageType="tns:addCourseRequest"/>
@@ -29,12 +33,13 @@
<!-- ILIAS session id -->
<variable name="SID" type="xsd:string"/>
<!-- Course description in ILIAS-Format -->
-<!--
- <variable name="CourseXML" element=""/>
--->
+ <variable name="CourseXML" element="il_crs:Course"/>
</variables>
+
<sequence>
+
<receive name="receive" createInstance="yes" partnerLink="ILIASAdapter" operation="ProcessCourseOperation" xmlns:tns="http://j2ee.netbeans.org/wsdl/ILIASClientAdapter/ILIASClientAdapter" portType="tns:ILIASClientAdapterPortType" variable="ProcessCourseOperationIn"/>
+
<assign name="prepareLogin">
<copy>
<from>'test'</from>
@@ -49,6 +54,7 @@
<to variable="LoginIn" part="password"/>
</copy>
</assign>
+
<invoke name="login" partnerLink="ILIAS" operation="login" xmlns:tns="urn:ilUserAdministration" portType="tns:ILIASSoapWebservicePortType" inputVariable="LoginIn" outputVariable="LoginOut">
<sxt:trace>
<sxt:log level="info" location="onComplete">
@@ -56,28 +62,53 @@
</sxt:log>
</sxt:trace>
</invoke>
+
<assign name="saveSID">
<copy>
<from variable="LoginOut" part="sid"/>
<to variable="SID"/>
</copy>
</assign>
+
+ <!-- Initialize course xml skeleton -->
+ <assign name="initializeCourseXML">
+ <copy>
+ <from>
+ <literal>
+ <Course xmlns="http://cse.campussource.de/schema/ilias/course">
+ <MetaData xmlns="http://cse.campussource.de/schema/ilias/course">
+ <General>
+ <Title Language="en">test2</Title>
+ <Language Language="en">en</Language>
+ <Description Language="en">bpel test2</Description>
+ </General>
+ </MetaData>
+ </Course>
+ </literal>
+ </from>
+ <to>$CourseXML</to>
+ </copy>
+ </assign>
+
+ <!-- Set relevant course data -->
<!--
- <assign name="setCourseXML">
+ <assign name="setCourseData">
<copy>
- <from>$ProcessCourseOperationIn/course/attribute[name = 'title']/value</from>
- <to>$CourseXML/MetaData/General/Title</to>
+ <from>$ProcessCourseOperationIn.courseMessage/course/attribute[name = 'title']/value</from>
+ <to>$CourseXML/MetaData/General/Title/text()</to>
</copy>
<copy>
- <from>$ProcessCourseOperationIn/course/attribute[name = 'languageISO']/value</from>
+ <from>$ProcessCourseOperationIn.courseMessage/course/attribute[name = 'languageISO']/value</from>
<to>$CourseXML/MetaData/General/Title/@Language</to>
</copy>
<copy>
- <from>$ProcessCourseOperationIn/course/attribute[name = 'languageISO']/value</from>
+ <from>$ProcessCourseOperationIn.courseMessage/course/attribute[name = 'languageISO']/value</from>
<to>$CourseXML/MetaData/General/Language[0]/@Language</to>
</copy>
</assign>
-->
+
+ <!-- Set all parts for addCourse call -->
<assign name="prepareAddCourse">
<!-- Set SID -->
<copy>
@@ -90,15 +121,20 @@
<to variable="AddCourseIn" part="target_id"/>
</copy>
<!-- Set CourseXML (as string) -->
-<!-- <copy>
+ <copy>
<from>sxxf:doMarshal($CourseXML)</from>
<to variable="AddCourseIn" part="crs_xml"/>
</copy>
--->
</assign>
-<!--
- <invoke name="createLecture" partnerLink="ILIAS" operation="addCourse" xmlns:tns="urn:ilUserAdministration" portType="tns:ILIASSoapWebservicePortType" inputVariable="AddCourseIn" outputVariable="AddCourseOut"/>
--->
+
+ <invoke name="createLecture" partnerLink="ILIAS" operation="addCourse" xmlns:tns="urn:ilUserAdministration" portType="tns:ILIASSoapWebservicePortType" inputVariable="AddCourseIn" outputVariable="AddCourseOut">
+ <sxt:trace>
+ <sxt:log level="info" location="onComplete">
+ <from>concat('*** Result of addCourse: ', $AddCourseOut.course_id)</from>
+ </sxt:log>
+ </sxt:trace>
+ </invoke>
+
<assign name="prepareLogout">
<copy>
<from variable="SID"/>
Added: trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-course.xml
===================================================================
--- trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-course.xml (rev 0)
+++ trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-course.xml 2009-04-27 21:30:41 UTC (rev 188)
@@ -0,0 +1,269 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Document : ilias-course.xml
+ Created on : April 27, 2009, 4:57 PM
+ Author : pete
+ Description:
+ Purpose of the document follows.
+-->
+
+<ns0:Course xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
+ xmlns:ns0='http://cse.campussource.de/schema/ilias/course'
+ xsi:schemaLocation='http://cse.campussource.de/schema/ilias/course ilias-course.xsd' exportVersion="" id="">
+ <MetaData>
+ <General Structure="">
+ <Identifier Catalog="" Entry=""></Identifier>
+ <Identifier Catalog="" Entry=""></Identifier>
+ <Identifier Catalog="" Entry=""></Identifier>
+ <Title Language=""></Title>
+ <Language Language=""></Language>
+ <Language Language=""></Language>
+ <Language Language=""></Language>
+ <Description Language=""></Description>
+ <Description Language=""></Description>
+ <Description Language=""></Description>
+ <Keyword Language=""></Keyword>
+ <Keyword Language=""></Keyword>
+ <Keyword Language=""></Keyword>
+ <Coverage Language=""></Coverage>
+ </General>
+ <Lifecycle Status="">
+ <Version Language=""></Version>
+ <Contribute Role="">
+ <Entity></Entity>
+ <Entity></Entity>
+ <Entity></Entity>
+ <Date></Date>
+ </Contribute>
+ <Contribute Role="">
+ <Entity></Entity>
+ <Entity></Entity>
+ <Entity></Entity>
+ <Date></Date>
+ </Contribute>
+ <Contribute Role="">
+ <Entity></Entity>
+ <Entity></Entity>
+ <Entity></Entity>
+ <Date></Date>
+ </Contribute>
+ </Lifecycle>
+ <Meta-Metadata MetadataScheme="" Language="">
+ <Identifier Catalog="" Entry=""></Identifier>
+ <Identifier Catalog="" Entry=""></Identifier>
+ <Identifier Catalog="" Entry=""></Identifier>
+ <Contribute Role="">
+ <Entity></Entity>
+ <Entity></Entity>
+ <Entity></Entity>
+ <Date></Date>
+ </Contribute>
+ <Contribute Role="">
+ <Entity></Entity>
+ <Entity></Entity>
+ <Entity></Entity>
+ <Date></Date>
+ </Contribute>
+ <Contribute Role="">
+ <Entity></Entity>
+ <Entity></Entity>
+ <Entity></Entity>
+ <Date></Date>
+ </Contribute>
+ </Meta-Metadata>
+ <Technical>
+ <Format></Format>
+ <Format></Format>
+ <Format></Format>
+ <Size></Size>
+ <Location Type=""></Location>
+ <Location Type=""></Location>
+ <Location Type=""></Location>
+ <Requirement>
+ <Type>
+ <OperatingSystem Name="" MinimumVersion="" MaximumVersion=""></OperatingSystem>
+ </Type>
+ </Requirement>
+ <InstallationRemarks Language=""></InstallationRemarks>
+ <OtherPlatformRequirements Language=""></OtherPlatformRequirements>
+ <Duration></Duration>
+ </Technical>
+ <Educational InteractivityType="" LearningResourceType="" InteractivityLevel="" SemanticDensity="" IntendedEndUserRole="" Context="" Difficulty="">
+ <TypicalAgeRange Language=""></TypicalAgeRange>
+ <TypicalAgeRange Language=""></TypicalAgeRange>
+ <TypicalAgeRange Language=""></TypicalAgeRange>
+ <TypicalLearningTime></TypicalLearningTime>
+ <Description Language=""></Description>
+ <Description Language=""></Description>
+ <Description Language=""></Description>
+ <Language Language=""></Language>
+ <Language Language=""></Language>
+ <Language Language=""></Language>
+ </Educational>
+ <Rights Cost="" CopyrightAndOtherRestrictions="">
+ <Description Language=""></Description>
+ </Rights>
+ <Relation Kind="">
+ <Resource>
+ <Identifier_ Catalog="" Entry=""></Identifier_>
+ <Identifier_ Catalog="" Entry=""></Identifier_>
+ <Identifier_ Catalog="" Entry=""></Identifier_>
+ <Description Language=""></Description>
+ <Description Language=""></Description>
+ <Description Language=""></Description>
+ </Resource>
+ </Relation>
+ <Relation Kind="">
+ <Resource>
+ <Identifier_ Catalog="" Entry=""></Identifier_>
+ <Identifier_ Catalog="" Entry=""></Identifier_>
+ <Identifier_ Catalog="" Entry=""></Identifier_>
+ <Description Language=""></Description>
+ <Description Language=""></Description>
+ <Description Language=""></Description>
+ </Resource>
+ </Relation>
+ <Relation Kind="">
+ <Resource>
+ <Identifier_ Catalog="" Entry=""></Identifier_>
+ <Identifier_ Catalog="" Entry=""></Identifier_>
+ <Identifier_ Catalog="" Entry=""></Identifier_>
+ <Description Language=""></Description>
+ <Description Language=""></Description>
+ <Description Language=""></Description>
+ </Resource>
+ </Relation>
+ <Annotation>
+ <Entity></Entity>
+ <Date></Date>
+ <Description Language=""></Description>
+ </Annotation>
+ <Annotation>
+ <Entity></Entity>
+ <Date></Date>
+ <Description Language=""></Description>
+ </Annotation>
+ <Annotation>
+ <Entity></Entity>
+ <Date></Date>
+ <Description Language=""></Description>
+ </Annotation>
+ <Classification Purpose="">
+ <TaxonPath>
+ <Source Language=""></Source>
+ <Taxon Language="" Id=""></Taxon>
+ <Taxon Language="" Id=""></Taxon>
+ <Taxon Language="" Id=""></Taxon>
+ </TaxonPath>
+ <TaxonPath>
+ <Source Language=""></Source>
+ <Taxon Language="" Id=""></Taxon>
+ <Taxon Language="" Id=""></Taxon>
+ <Taxon Language="" Id=""></Taxon>
+ </TaxonPath>
+ <TaxonPath>
+ <Source Language=""></Source>
+ <Taxon Language="" Id=""></Taxon>
+ <Taxon Language="" Id=""></Taxon>
+ <Taxon Language="" Id=""></Taxon>
+ </TaxonPath>
+ <Description Language=""></Description>
+ <Keyword Language=""></Keyword>
+ <Keyword Language=""></Keyword>
+ <Keyword Language=""></Keyword>
+ </Classification>
+ <Classification Purpose="">
+ <TaxonPath>
+ <Source Language=""></Source>
+ <Taxon Language="" Id=""></Taxon>
+ <Taxon Language="" Id=""></Taxon>
+ <Taxon Language="" Id=""></Taxon>
+ </TaxonPath>
+ <TaxonPath>
+ <Source Language=""></Source>
+ <Taxon Language="" Id=""></Taxon>
+ <Taxon Language="" Id=""></Taxon>
+ <Taxon Language="" Id=""></Taxon>
+ </TaxonPath>
+ <TaxonPath>
+ <Source Language=""></Source>
+ <Taxon Language="" Id=""></Taxon>
+ <Taxon Language="" Id=""></Taxon>
+ <Taxon Language="" Id=""></Taxon>
+ </TaxonPath>
+ <Description Language=""></Description>
+ <Keyword Language=""></Keyword>
+ <Keyword Language=""></Keyword>
+ <Keyword Language=""></Keyword>
+ </Classification>
+ <Classification Purpose="">
+ <TaxonPath>
+ <Source Language=""></Source>
+ <Taxon Language="" Id=""></Taxon>
+ <Taxon Language="" Id=""></Taxon>
+ <Taxon Language="" Id=""></Taxon>
+ </TaxonPath>
+ <TaxonPath>
+ <Source Language=""></Source>
+ <Taxon Language="" Id=""></Taxon>
+ <Taxon Language="" Id=""></Taxon>
+ <Taxon Language="" Id=""></Taxon>
+ </TaxonPath>
+ <TaxonPath>
+ <Source Language=""></Source>
+ <Taxon Language="" Id=""></Taxon>
+ <Taxon Language="" Id=""></Taxon>
+ <Taxon Language="" Id=""></Taxon>
+ </TaxonPath>
+ <Description Language=""></Description>
+ <Keyword Language=""></Keyword>
+ <Keyword Language=""></Keyword>
+ <Keyword Language=""></Keyword>
+ </Classification>
+ </MetaData>
+ <AdvancedMetaData>
+ <Value id=""></Value>
+ <Value id=""></Value>
+ <Value id=""></Value>
+ </AdvancedMetaData>
+ <Admin id="" notification="" passed="" action=""></Admin>
+ <Admin id="" notification="" passed="" action=""></Admin>
+ <Admin id="" notification="" passed="" action=""></Admin>
+ <Tutor id="" notification="" passed="" action=""></Tutor>
+ <Tutor id="" notification="" passed="" action=""></Tutor>
+ <Tutor id="" notification="" passed="" action=""></Tutor>
+ <Member id="" blocked="" passed="" action=""></Member>
+ <Member id="" blocked="" passed="" action=""></Member>
+ <Member id="" blocked="" passed="" action=""></Member>
+ <Subscriber id="" subscriptionTime="" action=""></Subscriber>
+ <Subscriber id="" subscriptionTime="" action=""></Subscriber>
+ <Subscriber id="" subscriptionTime="" action=""></Subscriber>
+ <WaitingList id="" subscriptionTime="" action=""></WaitingList>
+ <WaitingList id="" subscriptionTime="" action=""></WaitingList>
+ <WaitingList id="" subscriptionTime="" action=""></WaitingList>
+ <Settings>
+ <Availability>
+ <NotAvailable></NotAvailable>
+ </Availability>
+ <Syllabus></Syllabus>
+ <ImportantInformation></ImportantInformation>
+ <Contact>
+ <Name></Name>
+ <Responsibility></Responsibility>
+ <Phone></Phone>
+ <Email></Email>
+ <Consultation></Consultation>
+ </Contact>
+ <Registration registrationType="" maxMembers="" notification="" waitingList="">
+ <Disabled></Disabled>
+ <Password></Password>
+ </Registration>
+ <Sort type=""></Sort>
+ <Archive Access="">
+ <Start></Start>
+ <End></End>
+ </Archive>
+ </Settings>
+
+</ns0:Course>
Added: trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-course.xsd
===================================================================
--- trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-course.xsd (rev 0)
+++ trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-course.xsd 2009-04-27 21:30:41 UTC (rev 188)
@@ -0,0 +1,1913 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<xs:schema version="1.0" targetNamespace="http://cse.campussource.de/schema/ilias/course" xmlns:tns="http://cse.campussource.de/schema/ilias/course" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+ <xs:element name="Admin">
+ <xs:complexType>
+ <xs:sequence/>
+ <xs:attribute name="id" type="xs:string" use="required"/>
+ <xs:attribute name="notification" type="xs:string"/>
+ <xs:attribute name="passed" type="xs:string"/>
+ <xs:attribute name="action" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="AdvancedMetaData">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Value" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="id" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="Annotation">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Entity">
+ <xs:simpleType>
+ <xs:restriction base="xs:string"/>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="Date" type="xs:string"/>
+ <xs:element name="Description">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Language" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="Archive">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Start" type="xs:string"/>
+ <xs:element name="End" type="xs:string"/>
+ </xs:sequence>
+ <xs:attribute name="Access" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="Availability">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element name="NotAvailable">
+ <xs:complexType>
+ <xs:sequence/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Unlimited">
+ <xs:complexType>
+ <xs:sequence/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="TemporarilyAvailable">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Start" type="xs:string"/>
+ <xs:element name="End" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="Browser">
+ <xs:complexType>
+ <xs:sequence/>
+ <xs:attribute name="Name" type="xs:string" use="required"/>
+ <xs:attribute name="MinimumVersion" type="xs:string"/>
+ <xs:attribute name="MaximumVersion" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="Classification">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="TaxonPath" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Source">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Language" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Taxon" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Language" type="xs:string" use="required"/>
+ <xs:attribute name="Id" type="xs:ID"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Description">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Language" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Keyword" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Language" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="Purpose" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="Contact">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Name" type="xs:string" minOccurs="0"/>
+ <xs:element name="Responsibility" type="xs:string" minOccurs="0"/>
+ <xs:element name="Phone" type="xs:string" minOccurs="0"/>
+ <xs:element name="Email" type="xs:string" minOccurs="0"/>
+ <xs:element name="Consultation" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="Contribute">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Entity" maxOccurs="unbounded">
+ <xs:simpleType>
+ <xs:restriction base="xs:string"/>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="Date" type="xs:string"/>
+ </xs:sequence>
+ <xs:attribute name="Role" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="Course">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="MetaData" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="General">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Identifier" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence/>
+ <xs:attribute name="Catalog" type="xs:string"/>
+ <xs:attribute name="Entry" type="xs:ID" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Title">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Language" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Language" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence/>
+ <xs:attribute name="Language" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Description" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Language" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Keyword" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Language" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Coverage" minOccurs="0">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Language" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="Structure" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Lifecycle" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Version">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Language" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Contribute" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Entity" maxOccurs="unbounded">
+ <xs:simpleType>
+ <xs:restriction base="xs:string"/>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="Date" type="xs:string"/>
+ </xs:sequence>
+ <xs:attribute name="Role" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="Status" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Meta-Metadata" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Identifier" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence/>
+ <xs:attribute name="Catalog" type="xs:string"/>
+ <xs:attribute name="Entry" type="xs:ID" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Contribute" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Entity" maxOccurs="unbounded">
+ <xs:simpleType>
+ <xs:restriction base="xs:string"/>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="Date" type="xs:string"/>
+ </xs:sequence>
+ <xs:attribute name="Role" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="MetadataScheme" type="xs:string"/>
+ <xs:attribute name="Language" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Technical" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Format" minOccurs="0" maxOccurs="unbounded">
+ <xs:simpleType>
+ <xs:restriction base="xs:string"/>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="Size" type="xs:string" minOccurs="0"/>
+ <xs:element name="Location" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Type" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="Requirement">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Type">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element name="OperatingSystem">
+ <xs:complexType>
+ <xs:sequence/>
+ <xs:attribute name="Name" type="xs:string" use="required"/>
+ <xs:attribute name="MinimumVersion" type="xs:string"/>
+ <xs:attribute name="MaximumVersion" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Browser">
+ <xs:complexType>
+ <xs:sequence/>
+ <xs:attribute name="Name" type="xs:string" use="required"/>
+ <xs:attribute name="MinimumVersion" type="xs:string"/>
+ <xs:attribute name="MaximumVersion" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="OrComposite">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Requirement" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Type">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element name="OperatingSystem">
+ <xs:complexType>
+ <xs:sequence/>
+ <xs:attribute name="Name" type="xs:string" use="required"/>
+ <xs:attribute name="MinimumVersion" type="xs:string"/>
+ <xs:attribute name="MaximumVersion" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Browser">
+ <xs:complexType>
+ <xs:sequence/>
+ <xs:attribute name="Name" type="xs:string" use="required"/>
+ <xs:attribute name="MinimumVersion" type="xs:string"/>
+ <xs:attribute name="MaximumVersion" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:choice>
+ <xs:element name="InstallationRemarks" minOccurs="0">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Language" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="OtherPlatformRequirements" minOccurs="0">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Language" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Duration" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Educational" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="TypicalAgeRange" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Language" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="TypicalLearningTime" type="xs:string"/>
+ <xs:element name="Description" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Language" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Language" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence/>
+ <xs:attribute name="Language" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="InteractivityType" type="xs:string" use="required"/>
+ <xs:attribute name="LearningResourceType" type="xs:string" use="required"/>
+ <xs:attribute name="InteractivityLevel" type="xs:string" use="required"/>
+ <xs:attribute name="SemanticDensity" type="xs:string" use="required"/>
+ <xs:attribute name="IntendedEndUserRole" type="xs:string" use="required"/>
+ <xs:attribute name="Context" type="xs:string" use="required"/>
+ <xs:attribute name="Difficulty" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Rights" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Description">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Language" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="Cost" type="xs:string" use="required"/>
+ <xs:attribute name="CopyrightAndOtherRestrictions" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Relation" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Resource">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Identifier_" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence/>
+ <xs:attribute name="Catalog" type="xs:string"/>
+ <xs:attribute name="Entry" type="xs:IDREF"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Description" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Language" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="Kind" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Annotation" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Entity">
+ <xs:simpleType>
+ <xs:restriction base="xs:string"/>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="Date" type="xs:string"/>
+ <xs:element name="Description">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Language" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Classification" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="TaxonPath" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Source">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Language" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Taxon" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Language" type="xs:string" use="required"/>
+ <xs:attribute name="Id" type="xs:ID"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Description">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Language" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Keyword" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Language" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="Purpose" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="AdvancedMetaData" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Value" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="id" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Admin" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence/>
+ <xs:attribute name="id" type="xs:string" use="required"/>
+ <xs:attribute name="notification" type="xs:string"/>
+ <xs:attribute name="passed" type="xs:string"/>
+ <xs:attribute name="action" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Tutor" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence/>
+ <xs:attribute name="id" type="xs:string" use="required"/>
+ <xs:attribute name="notification" type="xs:string" use="required"/>
+ <xs:attribute name="passed" type="xs:string" use="required"/>
+ <xs:attribute name="action" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Member" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence/>
+ <xs:attribute name="id" type="xs:string" use="required"/>
+ <xs:attribute name="blocked" type="xs:string"/>
+ <xs:attribute name="passed" type="xs:string"/>
+ <xs:attribute name="action" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Subscriber" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence/>
+ <xs:attribute name="id" type="xs:string" use="required"/>
+ <xs:attribute name="subscriptionTime" type="xs:string" use="required"/>
+ <xs:attribute name="action" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="WaitingList" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence/>
+ <xs:attribute name="id" type="xs:string" use="required"/>
+ <xs:attribute name="subscriptionTime" type="xs:string" use="required"/>
+ <xs:attribute name="action" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Settings" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Availability" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element name="NotAvailable">
+ <xs:complexType>
+ <xs:sequence/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Unlimited">
+ <xs:complexType>
+ <xs:sequence/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="TemporarilyAvailable">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Start" type="xs:string"/>
+ <xs:element name="End" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Syllabus" type="xs:string" minOccurs="0"/>
+ <xs:element name="ImportantInformation" type="xs:string" minOccurs="0"/>
+ <xs:element name="Contact" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Name" type="xs:string" minOccurs="0"/>
+ <xs:element name="Responsibility" type="xs:string" minOccurs="0"/>
+ <xs:element name="Phone" type="xs:string" minOccurs="0"/>
+ <xs:element name="Email" type="xs:string" minOccurs="0"/>
+ <xs:element name="Consultation" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Registration" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element name="Disabled">
+ <xs:complexType>
+ <xs:sequence/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Unlimited">
+ <xs:complexType>
+ <xs:sequence/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="TemporarilyAvailable">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Start" type="xs:string"/>
+ <xs:element name="End" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:choice>
+ <xs:element name="Password" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute name="registrationType" type="xs:string"/>
+ <xs:attribute name="maxMembers" type="xs:string"/>
+ <xs:attribute name="notification" type="xs:string"/>
+ <xs:attribute name="waitingList" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Sort" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence/>
+ <xs:attribute name="type" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Archive" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Start" type="xs:string"/>
+ <xs:element name="End" type="xs:string"/>
+ </xs:sequence>
+ <xs:attribute name="Access" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="exportVersion" type="xs:string" use="required"/>
+ <xs:attribute name="id" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="Coverage">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Language" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="Description">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Language" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="Disabled">
+ <xs:complexType>
+ <xs:sequence/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="Educational">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="TypicalAgeRange" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Language" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="TypicalLearningTime" type="xs:string"/>
+ <xs:element name="Description" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Language" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Language" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence/>
+ <xs:attribute name="Language" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="InteractivityType" type="xs:string" use="required"/>
+ <xs:attribute name="LearningResourceType" type="xs:string" use="required"/>
+ <xs:attribute name="InteractivityLevel" type="xs:string" use="required"/>
+ <xs:attribute name="SemanticDensity" type="xs:string" use="required"/>
+ <xs:attribute name="IntendedEndUserRole" type="xs:string" use="required"/>
+ <xs:attribute name="Context" type="xs:string" use="required"/>
+ <xs:attribute name="Difficulty" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="Entity">
+ <xs:simpleType>
+ <xs:restriction base="xs:string"/>
+ </xs:simpleType>
+ </xs:element>
+
+ <xs:element name="Format">
+ <xs:simpleType>
+ <xs:restriction base="xs:string"/>
+ </xs:simpleType>
+ </xs:element>
+
+ <xs:element name="General">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Identifier" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence/>
+ <xs:attribute name="Catalog" type="xs:string"/>
+ <xs:attribute name="Entry" type="xs:ID" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Title">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Language" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Language" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence/>
+ <xs:attribute name="Language" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Description" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Language" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Keyword" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Language" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Coverage" minOccurs="0">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Language" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="Structure" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="Identifier">
+ <xs:complexType>
+ <xs:sequence/>
+ <xs:attribute name="Catalog" type="xs:string"/>
+ <xs:attribute name="Entry" type="xs:ID" use="required"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="Identifier_">
+ <xs:complexType>
+ <xs:sequence/>
+ <xs:attribute name="Catalog" type="xs:string"/>
+ <xs:attribute name="Entry" type="xs:IDREF"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="InstallationRemarks">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Language" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="Keyword">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Language" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="Language">
+ <xs:complexType>
+ <xs:sequence/>
+ <xs:attribute name="Language" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="Lifecycle">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Version">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Language" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Contribute" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Entity" maxOccurs="unbounded">
+ <xs:simpleType>
+ <xs:restriction base="xs:string"/>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="Date" type="xs:string"/>
+ ...
[truncated message content] |