Files
Chamilo/main/common_cartridge/import/schemas13/imsvdex_v1p0.xsd
2025-04-10 12:49:05 +02:00

133 lines
5.9 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!--Generated by Turbo XML 2.3.1.100. Conforms to w3c http://www.w3.org/2001/XMLSchema-->
<xs:schema targetNamespace="http://www.imsglobal.org/xsd/imsvdex_v1p0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.imsglobal.org/xsd/imsvdex_v1p0" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
<xs:element name="vdex" type="vdexType" block="#all"/>
<xs:element name="metadata" type="metadataType" block="#all"/>
<xs:element name="langstring" type="langstringType" block="#all"/>
<xs:element name="caption" type="langstringBag" block="#all"/>
<xs:element name="description" type="descriptionType" block="#all"/>
<xs:element name="term" type="termType" block="#all"/>
<xs:element name="relationship" type="relationshipType" block="#all"/>
<xs:element name="mediaDescriptor" type="mediaDescriptorType" block="#all"/>
<xs:element name="mediaLocator" type="mediaLocatorType" block="#all"/>
<xs:element name="targetTerm" type="termRefType" block="#all"/>
<xs:element name="sourceTerm" type="termRefType" block="#all"/>
<xs:complexType name="identifierType">
<xs:simpleContent>
<xs:extension base="xs:anyURI">
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="mediaLocatorType">
<xs:simpleContent>
<xs:extension base="xs:anyURI">
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="mediaDescriptorType">
<xs:sequence>
<xs:element ref="mediaLocator"/>
<xs:element name="interpretationNote" type="descriptionType" block="#all" minOccurs="0"/>
<xs:any namespace="##other" processContents="strict" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
<xs:complexType name="relationshipType">
<xs:sequence>
<xs:element name="relationshipIdentifier" type="identifierType" block="#all" minOccurs="0"/>
<xs:element ref="sourceTerm"/>
<xs:element ref="targetTerm"/>
<xs:element name="relationshipType" type="vocabType" block="#all" minOccurs="0"/>
<xs:element ref="metadata" minOccurs="0" maxOccurs="unbounded"/>
<xs:any namespace="##other" processContents="strict" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
<xs:complexType name="termType">
<xs:sequence>
<xs:element name="termIdentifier" type="identifierType" block="#all"/>
<xs:element ref="caption" minOccurs="0"/>
<xs:element ref="description" minOccurs="0"/>
<xs:element ref="mediaDescriptor" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="metadata" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="term" minOccurs="0" maxOccurs="unbounded"/>
<xs:any namespace="##other" processContents="strict" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="orderSignificant" type="xs:boolean" default="false"/>
<xs:attribute name="validIndex" type="xs:boolean" default="true"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
<xs:complexType name="metadataType">
<xs:sequence>
<xs:any namespace="##other" processContents="strict" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
<xs:complexType name="vdexType">
<xs:sequence>
<xs:element name="vocabName" type="langstringBag" block="#all" minOccurs="0"/>
<xs:element name="vocabIdentifier" type="vocabIdentifierType" block="#all" minOccurs="0"/>
<xs:element ref="term" maxOccurs="unbounded"/>
<xs:element ref="relationship" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="metadata" minOccurs="0" maxOccurs="unbounded"/>
<xs:any namespace="##other" processContents="strict" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="orderSignificant" type="xs:boolean" default="false"/>
<xs:attribute name="profileType" type="vdexProfilesType" default="lax"/>
<xs:attribute name="language" type="xs:language"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
<xs:complexType name="langstringType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="language" type="xs:language"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="langstringBag">
<xs:sequence>
<xs:element ref="langstring" maxOccurs="unbounded"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
<xs:complexType name="vocabType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="source" type="xs:anyURI" use="required"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="descriptionType">
<xs:complexContent>
<xs:extension base="langstringBag"/>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="vocabIdentifierType">
<xs:simpleContent>
<xs:extension base="identifierType">
<xs:attribute name="isRegistered" type="xs:boolean" default="false"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="termRefType">
<xs:simpleContent>
<xs:extension base="identifierType">
<xs:attribute name="vocabularyIdentifier" type="xs:anyURI"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:simpleType name="vdexProfilesType">
<xs:restriction base="xs:string">
<xs:enumeration value="lax"/>
<xs:enumeration value="hierarchicalTokenTerms"/>
<xs:enumeration value="flatTokenTerms"/>
<xs:enumeration value="glossaryOrDictionary"/>
<xs:enumeration value="thesaurus"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>