<?xml version="1.0" encoding="UTF-8"?> <!-- Schema for the 0.1 snapshot of Pie/Echo/Whatever IMPORTANT: This authoritative version of this schema is in Relax NG compact syntax; i.e. its name ends in ".rnc". It would be very unwise to edit any other version. V0.1: T. Bray, July 2003 July 12: fix sequence in feed/entry clean up "mode" attribute dispatching s/Person/Writer/ --> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://www.intertwingly.net/wiki/pie/" xmlns:pie="http://www.intertwingly.net/wiki/pie/"> <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/> <xs:element name="feed"> <xs:complexType> <xs:sequence> <xs:element ref="pie:title"/> <xs:element minOccurs="0" ref="pie:subtitle"/> <xs:element ref="pie:link"/> <xs:element minOccurs="0" ref="pie:modified"/> <xs:element minOccurs="0" maxOccurs="unbounded" ref="pie:entry"/> </xs:sequence> <xs:attributeGroup ref="pie:XMLbasics"/> <xs:attributeGroup ref="pie:Version"/> </xs:complexType> </xs:element> <xs:attributeGroup name="Version"> <xs:attribute name="version" use="required"> <xs:simpleType> <xs:restriction base="xs:token"> <xs:enumeration value="0.1"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:attributeGroup> <xs:element name="title" type="xs:string"/> <xs:element name="subtitle" type="xs:string"/> <xs:element name="link" type="xs:anyURI"/> <xs:element name="id" type="xs:anyURI"/> <xs:element name="modified" type="xs:dateTime"/> <xs:element name="entry"> <xs:complexType> <xs:sequence> <xs:element ref="pie:title"/> <xs:element minOccurs="0" ref="pie:subtitle"/> <xs:element ref="pie:link"/> <xs:element ref="pie:id"/> <xs:element minOccurs="0" ref="pie:summary"/> <xs:element ref="pie:author"/> <xs:element minOccurs="0" maxOccurs="unbounded" ref="pie:contributor"/> <xs:element minOccurs="0" ref="pie:created"/> <xs:element ref="pie:modified"/> <xs:element ref="pie:issued"/> <xs:element minOccurs="0" maxOccurs="unbounded" ref="pie:content"/> </xs:sequence> <xs:attributeGroup ref="pie:XMLbasics"/> </xs:complexType> </xs:element> <xs:element name="issued" type="xs:dateTime"/> <xs:element name="created" type="xs:dateTime"/> <xs:element name="summary" type="xs:string"/> <xs:element name="author" type="pie:Writer"/> <xs:element name="contributor" type="pie:Writer"/> <xs:complexType name="Writer"> <xs:sequence> <xs:element ref="pie:name"/> <xs:element minOccurs="0" ref="pie:homepage"/> <xs:element minOccurs="0" ref="pie:weblog"/> </xs:sequence> </xs:complexType> <xs:element name="name" type="xs:string"/> <xs:element name="homepage" type="xs:anyURI"/> <xs:element name="weblog" type="xs:anyURI"/> <xs:element name="content"> <xs:complexType mixed="true"> <xs:group minOccurs="0" ref="pie:XHTML"/> <xs:attributeGroup ref="pie:XMLbasics"/> <xs:attribute name="type" use="required"/> <xs:attribute name="mode"> <xs:simpleType> <xs:restriction base="xs:token"> <xs:enumeration value="xml"/> <xs:enumeration value="escaped"/> <xs:enumeration value="base64"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="src" type="xs:anyURI"/> </xs:complexType> </xs:element> <xs:group name="XHTML"> <xs:sequence> <xs:any namespace="http://www.w3.org/1999/xhtml" processContents="skip"/> </xs:sequence> </xs:group> <xs:attributeGroup name="XMLbasics"> <xs:attribute ref="xml:lang"/> <xs:attribute ref="xml:base"/> </xs:attributeGroup> </xs:schema>