123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238 |
- <?xml version="1.0" encoding="utf-8"?>
- <xs:schema xmlns:atom="http://www.w3.org/2005/Atom" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xml="http://www.w3.org/XML/1998/namespace" targetNamespace="http://www.w3.org/2005/Atom" elementFormDefault="qualified" attributeFormDefault="unqualified">
- <xs:annotation>
- <xs:documentation>
- This version of the Atom schema is based on version 1.0 of the format specifications,
- found here http://www.atomenabled.org/developers/syndication/atom-format-spec.php.
- </xs:documentation>
- </xs:annotation>
- <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="oadr_xml.xsd"/>
- <xs:annotation>
- <xs:documentation>
- An Atom document may have two root elements, feed and entry, as defined in section 2.
- </xs:documentation>
- </xs:annotation>
- <xs:element name="feed" type="atom:feedType"/>
- <xs:element name="entry" type="atom:entryType"/>
- <xs:complexType name="textType" mixed="true">
- <xs:annotation>
- <xs:documentation>
- The Atom text construct is defined in section 3.1 of the format spec.
- </xs:documentation>
- </xs:annotation>
- <xs:sequence>
- <xs:any namespace="http://www.w3.org/1999/xhtml" minOccurs="0"/>
- </xs:sequence>
- <xs:attribute name="type">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="text"/>
- <xs:enumeration value="html"/>
- <xs:enumeration value="xhtml"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attributeGroup ref="atom:commonAttributes"/>
- </xs:complexType>
- <xs:complexType name="personType">
- <xs:annotation>
- <xs:documentation>
- The Atom person construct is defined in section 3.2 of the format spec.
- </xs:documentation>
- </xs:annotation>
- <xs:choice maxOccurs="unbounded">
- <xs:element name="name" type="xs:string"/>
- <xs:element name="uri" type="atom:uriType" minOccurs="0"/>
- <xs:element name="email" type="atom:emailType" minOccurs="0"/>
- <xs:any namespace="##other"/>
- </xs:choice>
- <xs:attributeGroup ref="atom:commonAttributes"/>
- </xs:complexType>
- <xs:simpleType name="emailType">
- <xs:annotation>
- <xs:documentation>
- Schema definition for an email address.
- </xs:documentation>
- </xs:annotation>
- <xs:restriction base="xs:normalizedString">
- <xs:pattern value="\w+@(\w+\.)+\w+"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:complexType name="feedType">
- <xs:annotation>
- <xs:documentation>
- The Atom feed construct is defined in section 4.1.1 of the format spec.
- </xs:documentation>
- </xs:annotation>
- <xs:choice minOccurs="3" maxOccurs="unbounded">
- <xs:element name="author" type="atom:personType" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element name="category" type="atom:categoryType" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element name="contributor" type="atom:personType" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element name="generator" type="atom:generatorType" minOccurs="0"/>
- <xs:element name="icon" type="atom:iconType" minOccurs="0"/>
- <xs:element name="id" type="atom:idType"/>
- <xs:element name="link" type="atom:linkType" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element name="logo" type="atom:logoType" minOccurs="0"/>
- <xs:element name="rights" type="atom:textType" minOccurs="0"/>
- <xs:element name="subtitle" type="atom:textType" minOccurs="0"/>
- <xs:element name="title" type="atom:textType"/>
- <xs:element name="updated" type="atom:dateTimeType"/>
- <xs:element name="entry" type="atom:entryType" minOccurs="0" maxOccurs="unbounded"/>
- <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
- </xs:choice>
- <xs:attributeGroup ref="atom:commonAttributes"/>
- </xs:complexType>
- <xs:complexType name="entryType">
- <xs:annotation>
- <xs:documentation>
- The Atom entry construct is defined in section 4.1.2 of the format spec.
- </xs:documentation>
- </xs:annotation>
- <xs:choice maxOccurs="unbounded">
- <xs:element name="author" type="atom:personType" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element name="category" type="atom:categoryType" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element name="content" type="atom:contentType" minOccurs="0"/>
- <xs:element name="contributor" type="atom:personType" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element name="id" type="atom:idType"/>
- <xs:element name="link" type="atom:linkType" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element name="published" type="atom:dateTimeType" minOccurs="0"/>
- <xs:element name="rights" type="atom:textType" minOccurs="0"/>
- <xs:element name="source" type="atom:textType" minOccurs="0"/>
- <xs:element name="summary" type="atom:textType" minOccurs="0"/>
- <xs:element name="title" type="atom:textType"/>
- <xs:element name="updated" type="atom:dateTimeType"/>
- <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
- </xs:choice>
- <xs:attributeGroup ref="atom:commonAttributes"/>
- </xs:complexType>
- <xs:complexType name="contentType" mixed="true">
- <xs:annotation>
- <xs:documentation>
- The Atom content construct is defined in section 4.1.3 of the format spec.
- </xs:documentation>
- </xs:annotation>
- <xs:sequence>
- <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:attribute name="type" type="xs:string"/>
- <xs:attribute name="src" type="xs:anyURI"/>
- <xs:attributeGroup ref="atom:commonAttributes"/>
- </xs:complexType>
- <xs:complexType name="categoryType">
- <xs:annotation>
- <xs:documentation>
- The Atom category construct is defined in section 4.2.2 of the format spec.
- </xs:documentation>
- </xs:annotation>
- <xs:attribute name="term" type="xs:string" use="required"/>
- <xs:attribute name="scheme" type="xs:anyURI" use="optional"/>
- <xs:attribute name="label" type="xs:string" use="optional"/>
- <xs:attributeGroup ref="atom:commonAttributes"/>
- </xs:complexType>
- <xs:complexType name="generatorType">
- <xs:annotation>
- <xs:documentation>
- The Atom generator element is defined in section 4.2.4 of the format spec.
- </xs:documentation>
- </xs:annotation>
- <xs:simpleContent>
- <xs:extension base="xs:string">
- <xs:attribute name="uri" type="xs:anyURI" use="optional"/>
- <xs:attribute name="version" type="xs:string" use="optional"/>
- <xs:attributeGroup ref="atom:commonAttributes"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- <xs:complexType name="iconType">
- <xs:annotation>
- <xs:documentation>
- The Atom icon construct is defined in section 4.2.5 of the format spec.
- </xs:documentation>
- </xs:annotation>
- <xs:simpleContent>
- <xs:extension base="xs:anyURI">
- <xs:attributeGroup ref="atom:commonAttributes"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- <xs:complexType name="idType">
- <xs:annotation>
- <xs:documentation>
- The Atom id construct is defined in section 4.2.6 of the format spec.
- </xs:documentation>
- </xs:annotation>
- <xs:simpleContent>
- <xs:extension base="xs:anyURI">
- <xs:attributeGroup ref="atom:commonAttributes"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- <xs:complexType name="linkType" mixed="true">
- <xs:annotation>
- <xs:documentation>
- The Atom link construct is defined in section 3.4 of the format spec.
- </xs:documentation>
- </xs:annotation>
- <xs:attribute name="href" type="xs:anyURI" use="required"/>
- <xs:attribute name="rel" type="xs:string" use="optional"/>
- <xs:attribute name="type" type="xs:string" use="optional"/>
- <xs:attribute name="hreflang" type="xs:NMTOKEN" use="optional"/>
- <xs:attribute name="title" type="xs:string" use="optional"/>
- <xs:attribute name="length" type="xs:positiveInteger" use="optional"/>
- <xs:attributeGroup ref="atom:commonAttributes"/>
- </xs:complexType>
- <xs:complexType name="logoType">
- <xs:annotation>
- <xs:documentation>
- The Atom logo construct is defined in section 4.2.8 of the format spec.
- </xs:documentation>
- </xs:annotation>
- <xs:simpleContent>
- <xs:extension base="xs:anyURI">
- <xs:attributeGroup ref="atom:commonAttributes"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- <xs:complexType name="sourceType">
- <xs:annotation>
- <xs:documentation>
- The Atom source construct is defined in section 4.2.11 of the format spec.
- </xs:documentation>
- </xs:annotation>
- <xs:choice maxOccurs="unbounded">
- <xs:element name="author" type="atom:personType" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element name="category" type="atom:categoryType" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element name="contributor" type="atom:personType" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element name="generator" type="atom:generatorType" minOccurs="0"/>
- <xs:element name="icon" type="atom:iconType" minOccurs="0"/>
- <xs:element name="id" type="atom:idType" minOccurs="0"/>
- <xs:element name="link" type="atom:linkType" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element name="logo" type="atom:logoType" minOccurs="0"/>
- <xs:element name="rights" type="atom:textType" minOccurs="0"/>
- <xs:element name="subtitle" type="atom:textType" minOccurs="0"/>
- <xs:element name="title" type="atom:textType" minOccurs="0"/>
- <xs:element name="updated" type="atom:dateTimeType" minOccurs="0"/>
- <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
- </xs:choice>
- <xs:attributeGroup ref="atom:commonAttributes"/>
- </xs:complexType>
- <xs:complexType name="uriType">
- <xs:simpleContent>
- <xs:extension base="xs:anyURI">
- <xs:attributeGroup ref="atom:commonAttributes"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- <xs:complexType name="dateTimeType">
- <xs:simpleContent>
- <xs:extension base="xs:dateTime">
- <xs:attributeGroup ref="atom:commonAttributes"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- <xs:attributeGroup name="commonAttributes">
- <xs:attribute ref="xml:base"/>
- <xs:attribute ref="xml:lang"/>
- <xs:anyAttribute namespace="##other"/>
- </xs:attributeGroup>
- </xs:schema>
|