[xiph-commits] r3399 - standards
silvia at svn.annodex.net
silvia at svn.annodex.net
Fri Feb 1 23:44:37 PST 2008
Author: silvia
Date: 2008-02-01 23:44:36 -0800 (Fri, 01 Feb 2008)
New Revision: 3399
Added:
standards/cmml_4_0.xsd
Log:
Created new XML schema specification of CMML, which pulls in a lot from the XHTML specification at http://www.w3.org/TR/xhtml1-schema/ .
This is a first draft and includes much of the discussion had at FOMS as noted at http://trac.annodex.net/wiki/CmmlChanges .
Therefore, it is specified as CMML 4.0.
Also note that CMML is now not an authoring format for Annodex any more, but a timed text codec - a metadata format that is sequential and will easily map into a logical Ogg bitstream.
Added: standards/cmml_4_0.xsd
===================================================================
--- standards/cmml_4_0.xsd (rev 0)
+++ standards/cmml_4_0.xsd 2008-02-02 07:44:36 UTC (rev 3399)
@@ -0,0 +1,425 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<xs:schema version="1.0" xml:lang="en"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://www.annodex.org/cmml"
+ xmlns="http://www.annodex.org/cmml"
+ xmlns:html="http://www.w3.org/1999/xhtml"
+ elementFormDefault="qualified">
+
+ <xs:annotation>
+ <xs:documentation>
+ Continuous Media Markup Language CMML version 4.0 in XML Schema
+
+ CMML is a language to describe a timed text track, i.e. a timed text codec.
+
+ Namespace = http://www.annodex.net/cmml
+
+ For further information, see: http://www.annodex.net/
+
+ Copyright (c) 2008- Annodex Association, Xiph.Org.
+ All Rights Reserved.
+
+ $Revision: 4.0 $
+ $Date$
+ $Id: cmml_4_0.xsd 2008/02/01 13:00:00 ginger $
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:import namespace="http://www.w3.org/1999/xhtml"
+ schemaLocation="http://www.w3.org/2002/08/xhtml/xhtml1-strict.xsd"/>
+
+ <xs:annotation>
+ <xs:documentation>
+ ================== Imported Names ====================================
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:annotation>
+ <xs:documentation>
+ Simple Types in use in this XML schema and inherited from xhtml:
+ html:ContentType
+ html:LinkTypes
+ html:MediaDesc
+ html:Text
+ html:URI
+ html:LanguageCode
+ html:FrameTarget
+ html:Length
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:simpleType name="TTextType">
+ <xs:annotation>
+ <xs:documentation>
+ timed text types, e.g. closed-caption, annotation, subtitle, transcript, ticker
+ </xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:string"/>
+ </xs:simpleType>
+
+ <xs:simpleType name="Timestamp">
+ <xs:annotation>
+ <xs:documentation>
+ timestamps similar to [RFC2326]
+ </xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="smpte-24:"/>
+ <xs:enumeration value="smpte-24-drop:"/>
+ <xs:enumeration value="smpte-25:"/>
+ <xs:enumeration value="smpte-30:"/>
+ <xs:enumeration value="smpte-30-drop:"/>
+ <xs:enumeration value="smpte-50:"/>
+ <xs:enumeration value="smpte-60:"/>
+ <xs:enumeration value="smpte-60-drop:"/>
+ <xs:enumeration value="npt:"/>
+ <xs:enumeration value="clock:"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="Playbacktime">
+ <xs:annotation>
+ <xs:documentation>
+ timestamps similar to [RFC2326]
+ "smpte-24:" SMPTE time with a 24 fps basis
+ "smpte-24-drop:" SMPTE time with a 24/1.001 fps basis
+ "smpte-25:" SMPTE time with a 25 fps basis
+ "smpte-30:" SMPTE time with a 30 fps basis
+ "smpte-30-drop:" SMPTE time with a 30/1.001 fps basis
+ "smpte-50:" SMPTE time with a 50 fps basis
+ "smpte-60:" SMPTE time with a 60 fps basis
+ "smpte-60-drop:" SMPTE time with a 60/1.001 fps basis
+ "npt:" npt-time
+ no clock time
+ </xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="smpte-24:"/>
+ <xs:enumeration value="smpte-24-drop:"/>
+ <xs:enumeration value="smpte-25:"/>
+ <xs:enumeration value="smpte-30:"/>
+ <xs:enumeration value="smpte-30-drop:"/>
+ <xs:enumeration value="smpte-50:"/>
+ <xs:enumeration value="smpte-60:"/>
+ <xs:enumeration value="smpte-60-drop:"/>
+ <xs:enumeration value="npt:"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="UTCtime">
+ <xs:annotation>
+ <xs:documentation>
+ UTCtime is specified as in [RFC2326], but without the "clock" identifier
+ </xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:string"/>
+ </xs:simpleType>
+
+ <xs:annotation>
+ <xs:documentation>
+ =================== Generic Attributes ===============================
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:annotation>
+ <xs:documentation>
+ attribute groups in use in this XML schema and inherited from xhtml:
+ html:coreattrs
+ html:i18n
+ html:attrs
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:annotation>
+ <xs:documentation>
+ =================== Document Structure ===============================
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:annotation>
+ <xs:documentation>
+ =================== Root Element ===============================
+ cmml tag containing sequence of one head and n clip tags
+ i18n = the default language for the whole document including
+ the id tag of the cmml element
+ xmlns = namespace of the cmml tags
+ role = describes what type of text track this CMML file represents,
+ such as e.g. closed-caption, annotation, subtitle, transcript,
+ ticker
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:element name="cmml">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="head"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="clip"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="html:i18n"/>
+ <xs:attribute name="role" type="TTextType"/>
+ <xs:attribute name="id" type="xs:ID"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:annotation>
+ <xs:documentation>
+ =================== Document Head ===============================
+ head tag containing description of a specific timed text track
+ i18n = the base language of the head's attribute values and text
+ content
+ profile = space-separated list of URIs to locate meta tag schemes
+ </xs:documentation>
+ </xs:annotation>
+
+ <!-- content model is not quite right yet -->
+ <xs:element name="head">
+ <xs:annotation>
+ <xs:documentation>
+ Title is the title of the media file
+ Img is an optional representative image for the full media file
+ Base is an optional base URL for the full media file
+ Style is style sheet for the document
+ Meta is a collection of meta tags for the document
+ Link points to related documents
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:all>
+ <xs:element ref="title" minOccurs="0" maxOccurs="1"/>
+ <xs:element ref="img" minOccurs="0" maxOccurs="1"/>
+ <xs:element ref="base" minOccurs="0" maxOccurs="1"/>
+ </xs:all>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="style"/>
+ <xs:element ref="meta"/>
+ <xs:element ref="link"/>
+ </xs:choice>
+ <xs:attributeGroup ref="html:i18n"/>
+ <xs:attribute name="id" type="xs:ID"/>
+ <xs:attribute name="profile" type="html:URI"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:annotation>
+ <xs:documentation>
+ =================== Title ===============================
+ title tag giving descriptive title of the media document
+ i18n = the language of the title text
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:element name="title">
+ <xs:annotation>
+ <xs:documentation>
+ The title element is not considered part of the presentation.
+ It should be displayed, for example as the page header or
+ window title. Exactly one title is required per document.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType mixed="true">
+ <xs:attributeGroup ref="html:i18n"/>
+ <xs:attribute name="id" type="xs:ID"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:annotation>
+ <xs:documentation>
+ =================== Img ===========================================
+ To avoid accessibility problems for people who aren't
+ able to see the image, you should provide a text
+ description using the alt and longdesc attributes.
+ attrs = the language of the image's attribute values;
+ the stylesheet class attribute; a short title
+ representing the image (e.g. in tooltips)
+ src = reference to the image
+ alt = alternative text for the image (accessibility)
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:element name="img">
+ <xs:complexType>
+ <xs:attributeGroup ref="attrs"/>
+ <xs:attribute name="src" use="required" type="URI"/>
+ <xs:attribute name="alt" use="required" type="Text"/>
+ <xs:attribute name="longdesc" type="html:URI"/>
+ <xs:attribute name="height" type="html:Length"/>
+ <xs:attribute name="width" type="html:Length"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:annotation>
+ <xs:documentation>
+ =================== Base URI ===============================
+ base URI of the document (empty content)
+ i18n = the language of the title text
+ href = URI associated with the document; all relative URI references
+ get interpreted relative to this base -->
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:element name="base">
+ <xs:annotation>
+ <xs:documentation>
+ (internationalisation inherited from the parent head tag)
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:attribute name="id" type="xs:ID"/>
+ <xs:attribute name="href" type="html:URI"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:annotation>
+ <xs:documentation>
+ =================== Meta ===============================
+ description tags of the document (empty content)
+ i18n = the language of the meta attributes
+ name = identifies a property name; does not list legal values for this
+ attribute
+ content = specifies a property's value; does not list legal values for
+ this attribute
+ scheme = names a scheme to be used to interpret the property's value
+ (see the profiles tag in the head element for locating these)
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:element name="meta">
+ <xs:complexType>
+ <xs:attributeGroup ref="i18n"/>
+ <xs:attribute name="id" type="xs:ID"/>
+ <xs:attribute name="http-equiv"/>
+ <xs:attribute name="name"/>
+ <xs:attribute name="content" use="required"/>
+ <xs:attribute name="scheme"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:annotation>
+ <xs:documentation>
+ =================== Link ===============================
+ LINK tag to specify relationship values (empty content)
+ attrs = the language of the title text; a short description of the
+ relationship through title, and the stylesheet class
+ href = reference to a related document
+ type = type of the document referenced, e.g. "text/css"
+ rel = type of relationship to forward linked document
+ rev = type of relationship to reverse linked document
+ media = type or medium/media to be rendered on, default "screen"
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:element name="link">
+ <xs:complexType>
+ <xs:attributeGroup ref="attrs"/>
+ <xs:attribute name="href" type="URI"/>
+ <xs:attribute name="type" type="html:ContentType"/>
+ <xs:attribute name="rel" type="html:LinkTypes"/>
+ <xs:attribute name="rev" type="html:LinkTypes"/>
+ <xs:attribute name="media" type="html:MediaDesc"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:annotation>
+ <xs:documentation>
+ =================== Style ===============================
+ STYLE tag to specify presentation styles
+ i18n = the language of the style's title attribute
+ title = short description of the style
+ type = type of the document referenced, e.g. "text/css"
+ media = type or medium/media to be rendered on, default "screen"
+ xml:space = fixed to preserve whitespace characters in content
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:element name="style">
+ <xs:annotation>
+ <xs:documentation>
+ The content of the "style" element is a style sheet.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType mixed="true">
+ <xs:attributeGroup ref="i18n"/>
+ <xs:attribute name="id" type="xs:ID"/>
+ <xs:attribute name="title" type="html:Text"/>
+ <xs:attribute name="type" use="required" type="html:ContentType"/>
+ <xs:attribute name="media" type="html:MediaDesc"/>
+ <xs:attribute ref="xml:space" fixed="preserve"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:annotation>
+ <xs:documentation>
+ =================== Clip Elements ===============================
+ Clip tag containing information for a specific fragment
+ attrs = the base language of the clip's attribute values and
+ of its content elements; the stylesheet class attribute;
+ a short title representing the clip (e.g. in tooltips)
+ track = defines different sets of clip tags; clip tags of same
+ type cannot overlap temporally
+ start = specifies the start time of the clip; specified in
+ time relative to the basetime of the header
+ [NOT INCLUDED IN OGG DOCUMENT]
+ end = specifies the end time of the clip; specified in
+ time relative to the basetime of the header
+ [NOT INCLUDED IN OGG DOCUMENT]
+ </xs:documentation>
+ </xs:annotation>
+
+ <!-- content model is not quite right yet -->
+ <xs:element name="clip">
+ <xs:complexType>
+ <xs:all>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="meta"/>
+ <xs:element ref="style"/>
+ </xs:choice>
+ <xs:element ref="a" minOccurs="0" maxOccurs="1"/>
+ <xs:element ref="img" minOccurs="0" maxOccurs="1"/>
+ <xs:element ref="html:body" minOccurs="0" maxOccurs="1"/>
+ </xs:all>
+ <xs:attributeGroup ref="html:attrs"/>
+ <xs:attribute name="start" type="Timestamp"/>
+ <xs:attribute name="end" type="Timestamp"/>
+ </xs:complexType>
+ </xs:element>
+
+
+ <xs:annotation>
+ <xs:documentation>
+ ================== The Anchor Element ================================
+ A tag containing information for a specific clip
+ attrs = the base language of the clip's attribute values and
+ of its content elements; the stylesheet class attribute;
+ a short title representing the anchor (e.g. in tooltips)
+ href = specifies the location of a Web resource, thus defining a
+ link between the current element (the source anchor) and the
+ destination anchor given by this attribute
+ rel = Specifies the relationship between the current document and
+ the target URL
+ rev = Specifies the relationship between the target URL and the
+ current document
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:element name="a">
+ <xs:annotation>
+ <xs:documentation>
+ a tag contains anchor text being a textual description of the link
+ between the current element (the source anchor) and the destination
+ anchor given by the href attribute
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType mixed="true">
+ <xs:complexContent>
+ <xs:attributeGroup ref="attrs"/>
+ <xs:attribute name="href" type="html:URI"/>
+ <xs:attribute name="hreflang" type="html:LanguageCode"/>
+ <xs:attribute name="rel" type="html:LinkTypes"/>
+ <xs:attribute name="rev" type="html:LinkTypes"/>
+ <xs:attribute name="target" type="html:FrameTarget"/>
+ <xs:attribute name="type" type="html:ContentType"/>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+
+</schema>
\ No newline at end of file
More information about the commits
mailing list