Merge "objectcache: fully respect "pcTTL" in WANObjectCache instead of using INF...
[lhc/web/wiklou.git] / docs / export-0.7.xsd
index c2656a3..4803746 100644 (file)
@@ -21,6 +21,9 @@
        Version 0.7 adds a unique identity constraint for both page and
        revision identifiers. See also bug 4220.
        Fix type for <ns> from "positiveInteger" to "nonNegativeInteger" to allow 0
+       Moves <logitem> to its right location.
+       Add parentid to revision.
+       Fix type for <id> within <contributor> to "nonNegativeInteger"
 
        The canonical URL to the schema document is:
        http://www.mediawiki.org/xml/export-0.7.xsd
 
        <!-- Need this to reference xml:lang -->
        <import namespace="http://www.w3.org/XML/1998/namespace"
-                       schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+                       schemaLocation="http://www.w3.org/2001/xml.xsd" />
 
        <!-- Our root element -->
        <element name="mediawiki" type="mw:MediaWikiType">
                <!-- Page ID contraint, see bug 4220 -->
                <unique name="PageIDConstraint">
-                       <selector xpath="mw:page"/>
-                       <field xpath="mw:id"/>
+                       <selector xpath="mw:page" />
+                       <field xpath="mw:id" />
                </unique>
                <!-- Revision ID contraint, see bug 4220 -->
                <unique name="RevIDConstraint">
-                       <selector xpath="mw:page/mw:revision"/>
-                       <field xpath="mw:id"/>
+                       <selector xpath="mw:page/mw:revision" />
+                       <field xpath="mw:id" />
                </unique>
        </element>
 
        <complexType name="MediaWikiType">
                <sequence>
                        <element name="siteinfo" type="mw:SiteInfoType"
-                                        minOccurs="0" maxOccurs="1"/>
+                                        minOccurs="0" maxOccurs="1" />
                        <element name="page" type="mw:PageType"
-                                        minOccurs="0" maxOccurs="unbounded"/>
+                                        minOccurs="0" maxOccurs="unbounded" />
+                       <element name="logitem" type="mw:LogItemType"
+                                        minOccurs="0" maxOccurs="unbounded" />
                </sequence>
-               <attribute name="version" type="string" use="required"/>
-               <attribute ref="xml:lang" use="required"/>
+               <attribute name="version" type="string" use="required" />
+               <attribute ref="xml:lang" use="required" />
        </complexType>
 
        <complexType name="SiteInfoType">
 
        <simpleType name="DeletedFlagType">
                <restriction base="NMTOKEN">
-                       <enumeration value="deleted"/>
+                       <enumeration value="deleted" />
                </restriction>
        </simpleType>
 
                </simpleContent>
        </complexType>
 
+       <complexType name="RedirectType">
+               <simpleContent>
+                       <extension base="string">
+                               <attribute name="title" type="string" />
+                       </extension>
+               </simpleContent>
+       </complexType>
+
        <complexType name="PageType">
                <sequence>
                        <!-- Title in text form. (Using spaces, not underscores; with namespace ) -->
-                       <element name="title" type="string"/>
+                       <element name="title" type="string" />
 
                        <!-- Namespace in canonical form -->
-                       <element name="ns" type="nonNegativeInteger"/>
+                       <element name="ns" type="nonNegativeInteger" />
 
                        <!-- optional page ID number -->
-                       <element name="id" type="positiveInteger" minOccurs="0"/>
+                       <element name="id" type="positiveInteger" />
 
                        <!-- flag if the current revision is a redirect -->
-                       <element name="redirect" type="string" minOccurs="0"/>
+                       <element name="redirect" type="mw:RedirectType" minOccurs="0" maxOccurs="1" />
 
                        <!-- comma-separated list of string tokens, if present -->
-                       <element name="restrictions" type="string" minOccurs="0"/>
+                       <element name="restrictions" type="string" minOccurs="0" />
 
                        <!-- Zero or more sets of revision or upload data -->
                        <choice minOccurs="0" maxOccurs="unbounded">
                                <element name="revision" type="mw:RevisionType" />
                                <element name="upload" type="mw:UploadType" />
-                               <element name="logitem" type="mw:LogItemType" />
                        </choice>
 
                        <!-- Zero or One sets of discussion threading data -->
 
        <complexType name="RevisionType">
                <sequence>
-                       <element name="id" type="positiveInteger" minOccurs="0"/>
-                       <element name="timestamp" type="dateTime"/>
-                       <element name="contributor" type="mw:ContributorType"/>
-                       <element name="minor" minOccurs="0" />
-                       <element name="comment" type="mw:CommentType" minOccurs="0"/>
+                       <element name="id" type="positiveInteger" />
+                       <element name="parentid" type="positiveInteger" minOccurs="0" />
+                       <element name="timestamp" type="dateTime" />
+                       <element name="contributor" type="mw:ContributorType" />
+                       <element name="minor" minOccurs="0" maxOccurs="1" />
+                       <element name="comment" type="mw:CommentType" minOccurs="0" maxOccurs="1" />
                        <element name="sha1" type="string" />
                        <element name="text" type="mw:TextType" />
                </sequence>
 
        <complexType name="LogItemType">
                <sequence>
-                       <element name="id" type="positiveInteger" minOccurs="0"/>
-                       <element name="timestamp" type="dateTime"/>
-                       <element name="contributor" type="mw:ContributorType"/>
-                       <element name="comment" type="mw:CommentType" minOccurs="0"/>
+                       <element name="id" type="positiveInteger" />
+                       <element name="timestamp" type="dateTime" />
+                       <element name="contributor" type="mw:ContributorType" />
+                       <element name="comment" type="mw:CommentType" minOccurs="0" />
                        <element name="type" type="string" />
                        <element name="action" type="string" />
-                       <element name="text" type="mw:TextType" />
+                       <element name="text" type="mw:LogTextType" minOccurs="0" maxOccurs="1" />
+                       <element name="logtitle" type="string" minOccurs="0" maxOccurs="1" />
+                       <element name="params" type="mw:LogParamsType" minOccurs="0" maxOccurs="1" />
                </sequence>
        </complexType>
 
                <simpleContent>
                        <extension base="string">
                                <!-- This allows deleted=deleted on non-empty elements, but XSD is not omnipotent -->
-                               <attribute name="deleted" use="optional" type="mw:DeletedFlagType"/>
+                               <attribute name="deleted" use="optional" type="mw:DeletedFlagType" />
                        </extension>
                </simpleContent>
        </complexType>
                        <extension base="string">
                                <attribute ref="xml:space" use="optional" default="preserve" />
                                <!-- This allows deleted=deleted on non-empty elements, but XSD is not omnipotent -->
-                               <attribute name="deleted" use="optional" type="mw:DeletedFlagType"/>
+                               <attribute name="deleted" use="optional" type="mw:DeletedFlagType" />
                                <!-- This isn't a good idea; we should be using "ID" instead of "NMTOKEN" -->
                                <!-- However, "NMTOKEN" is strictest definition that is both compatible with existing -->
                                <!-- usage ([0-9]+) and with the "ID" type. -->
-                               <attribute name="id" type="NMTOKEN"/>
-                               <attribute name="bytes" use="optional" type="nonNegativeInteger"/>
+                               <attribute name="id" type="NMTOKEN" />
+                               <attribute name="bytes" use="optional" type="nonNegativeInteger" />
+                       </extension>
+               </simpleContent>
+       </complexType>
+
+       <complexType name="LogTextType">
+               <simpleContent>
+                       <extension base="string">
+                               <!-- This allows deleted=deleted on non-empty elements, but XSD is not omnipotent -->
+                               <attribute name="deleted" use="optional" type="mw:DeletedFlagType" />
+                       </extension>
+               </simpleContent>
+       </complexType>
+
+       <complexType name="LogParamsType">
+               <simpleContent>
+                       <extension base="string">
+                               <attribute ref="xml:space" use="optional" default="preserve" />
                        </extension>
                </simpleContent>
        </complexType>
 
        <complexType name="ContributorType">
                <sequence>
-                       <element name="username" type="string" minOccurs="0"/>
-                       <element name="id" type="positiveInteger" minOccurs="0" />
+                       <element name="username" type="string" minOccurs="0" />
+                       <element name="id" type="nonNegativeInteger" minOccurs="0" />
 
-                       <element name="ip" type="string" minOccurs="0"/>
+                       <element name="ip" type="string" minOccurs="0" />
                </sequence>
                <!-- This allows deleted=deleted on non-empty elements, but XSD is not omnipotent -->
-               <attribute name="deleted" use="optional" type="mw:DeletedFlagType"/>
+               <attribute name="deleted" use="optional" type="mw:DeletedFlagType" />
        </complexType>
 
        <complexType name="UploadType">
                <sequence>
                        <!-- Revision-style data... -->
-                       <element name="timestamp" type="dateTime"/>
-                       <element name="contributor" type="mw:ContributorType"/>
-                       <element name="comment" type="string" minOccurs="0"/>
+                       <element name="timestamp" type="dateTime" />
+                       <element name="contributor" type="mw:ContributorType" />
+                       <element name="comment" type="string" minOccurs="0" />
 
-                       <!-- Filename. (Using underscores, not spaces. No 'Image:' namespace marker.) -->
-                       <element name="filename" type="string"/>
+                       <!-- Filename. (Using underscores, not spaces. No 'File:' namespace marker.) -->
+                       <element name="filename" type="string" />
 
                        <!-- URI at which this resource can be obtained -->
-                       <element name="src" type="anyURI"/>
+                       <element name="src" type="anyURI" />
 
                        <element name="size" type="positiveInteger" />