Add Webfeeds XML schema
This commit is contained in:
parent
a8741718eb
commit
07773a40e0
|
@ -0,0 +1,125 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!--
|
||||
Webfeeds XML schema
|
||||
Copyright (c) 2023 ~lucidiot
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, version 3.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<xs:schema
|
||||
targetNamespace="http://webfeeds.org/rss/1.0"
|
||||
version="1.0"
|
||||
elementFormDefault="qualified"
|
||||
attributeFormDefault="unqualified"
|
||||
xmlns="http://webfeeds.org/rss/1.0"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
>
|
||||
<xs:annotation>
|
||||
<xs:documentation>Webfeeds 1.0 XML schema</xs:documentation>
|
||||
<xs:documentation><![CDATA[Derived from the DTD at <http://webfeeds.org/rss/1.0>]]></xs:documentation>
|
||||
</xs:annotation>
|
||||
|
||||
<xs:simpleType name="Color">
|
||||
<xs:annotation>
|
||||
<xs:documentation>An RGB color, as six hexadecimal digits.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:length value="6" />
|
||||
<xs:pattern value="[0-9a-fA-F]{6}" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:element name="accentColor" type="Color">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Accent color used to customize this feed's appearance within a feed reader.</xs:documentation>
|
||||
<xs:documentation>This should be added to the channel element.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
|
||||
<xs:simpleType name="AnalyticsEngine">
|
||||
<xs:annotation>
|
||||
<xs:documentation>An engine for site analytics.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="GoogleAnalytics" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:complexType name="Analytics">
|
||||
<xs:annotation>
|
||||
<xs:documentation>When this is configured, feed readers should report back events for various user actions.</xs:documentation>
|
||||
<xs:documentation>This should be added to the channel element.</xs:documentation>
|
||||
<xs:documentation>There are no further details on how the reports are made or what exactly is being reported.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:attribute name="id" type="xs:string" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A string used to identify this feed uniquely within the analytics engine.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="engine" type="AnalyticsEngine" use="optional" default="GoogleAnalytics">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Which analytics engine to send reports to.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:element name="analytics" type="Analytics" />
|
||||
|
||||
<xs:complexType name="Cover">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A cover image, a large rectangular image used as a background in feed headers.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:attribute name="image" type="xs:anyURI" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>URI to the cover image.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:element name="cover" type="Cover" />
|
||||
|
||||
<xs:element name="wordmark" type="xs:anyURI">
|
||||
<xs:annotation>
|
||||
<xs:documentation>URL of a small rectangular image used to represent the feed.</xs:documentation>
|
||||
<xs:documentation>This should be added to the channel element.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="icon" type="xs:anyURI">
|
||||
<xs:annotation>
|
||||
<xs:documentation>URL of a small square image, similar to an `apple-touch-icon.png` file, to represent the feed's icon.</xs:documentation>
|
||||
<xs:documentation>This should be added to the channel element.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="partial" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Whether this feed only includes a portion of the website's contents.</xs:documentation>
|
||||
<xs:documentation>This should be added to the channel element.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="deprecated" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Whether this feed is no longer the primary feed for the related website.</xs:documentation>
|
||||
<xs:documentation>This should be added to the channel element.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="promotion" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Promotional HTML content that should be added to the end of every item within this feed.</xs:documentation>
|
||||
<xs:documentation>This should be added to the channel element.</xs:documentation>
|
||||
<xs:documentation>This element can be used multiple times. Feed readers should pick one element at random to be displayed after an item.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:schema>
|
Loading…
Reference in New Issue