| rss | ||
| @version | An RSS version identifier should be supplied | |
| @version != 0.91 | This Schematron validator is for RSS 0.91 only | |
| count(channel) = 1 | An RSS element can only contain a single channel element | |
| channel | ||
| title | You must provide a title for your channel | |
| link | You must provide a link for your channel | |
| description | You must provide a description of your channel | |
| language | You must specify the language in which the content of your channel is written. | |
| count(copyright) < 2 | Only one copyright element should be supplied per channel | |
| count(image) < 2 | Only one image element should be supplied per channel | |
| count(textinput) < 2 | Only one textinput element can be supplied per channel | |
| count(skipHours) < 2 | One one skipHours element can be supplied per channel | |
| count(skipDays) < 2 | One one skipDays element can be supplied per channel | |
| managingEditor | You should provide an email address for the managing editor of your channel | |
| webMaster | You should provide an email address for the webmaster of your channel | |
| skipHours | ||
| count(hour) > 0 | The skipHours element should contain a least one hour element | |
| skipDays | ||
| count(day) > 0 | The skipDays element should contain a least one day element | |
| title|description|link | ||
| parent::channel or parent::image or parent::item or parent::textinput | A <name path=""/> element can only be contained with a channel, image, item or textinput element. | |
| child::* | A <name path=""/> element cannot contain sub-elements, remove any additional markup | |
| name | ||
| parent::textinput | A name element can only be contained within a textinput element | |
| url | ||
| parent::image | A url element can only be contained within an image element | |
| width | ||
| parent::image | A width element can only be contained within an image element | |
| height | ||
| parent::image | A height element can only be contained within an image element | |
| image | ||
| title | Images must have titles. The title is used for the ALT text of the image. | |
| count(width) = count(height) | Width and Height elements should be balanced | |
| url | This image does not have a url | |
| textinput | ||
| title | A textinput must have a title. It is used to label the submit button for the field | |
| name | A textinput must have a name. It is used to identify the input element in the form | |
| link | A textinput must have a link. It is used to identify the target to which the form is sent | |
| item | ||
| parent::channel | An item element can only occur within a channel element | |
| title | You must provide a title for this item | |
| link | You must provide a link for this item | |
| width | ||
| preceding::height or following::height | A width should be accompanied by a height | |
| height | ||
| preceding::width or following::width | A height should be accompanied by a width | |
For documentation, please refer to http://backend.userland.com/rss091
| language | ||
| string-length(.) > 0 | You must specify a valid language code within a language element | |
| . = 'af' or . = 'sq' or . = 'eu' or . = 'be' or . = 'bg' or . = 'ca' or . = 'zh-cn' or . = 'zh-tw' or . = 'hr' or . = 'cs' or . = 'da' or . = 'nl' or . = 'nl-be' or . = 'nl-nl' or . = 'en' or . = 'en-au' or . = 'en-bz' or . = 'en-ca' or . = 'en-ie' or . = 'en-jm' or . = 'en-nz' or . = 'en-ph' or . = 'en-za' or . = 'en-tt' or . = 'en-gb' or . = 'en-us' or . = 'en-zw' or . = 'fo' or . = 'fi' or . = 'fr' or . = 'fr-be' or . = 'fr-ca' or . = 'fr-fr' or . = 'fr-lu' or . = 'fr-mc' or . = 'fr-ch' or . = 'gl' or . = 'gd' or . = 'de' or . = 'de-at' or . = 'de-de' or . = 'de-li' or . = 'de-lu' or . = 'de-ch' or . = 'el' or . = 'hu' or . = 'is' or . = 'in' or . = 'ga' or . = 'it' or . = 'it-it' or . = 'it-ch' or . = 'ja' or . = 'ko' or . = 'mk' or . = 'no' or . = 'pl' or . = 'pt' or . = 'pt-br' or . = 'pt-pt' or . = 'ro' or . = 'ro-mo' or . = 'ro-ro' or . = 'ru' or . = 'ru-mo' or . = 'ru-ru' or . = 'sr' or . = 'sk' or . = 'sl' or . = 'es' or . = 'es-ar' or . = 'es-bo' or . = 'es-cl' or . = 'es-co' or . = 'es-cr' or . = 'es-do' or . = 'es-ec' or . = 'es-sv' or . = 'es-gt' or . = 'es-hn' or . = 'es-mx' or . = 'es-ni' or . = 'es-pa' or . = 'es-py' or . = 'es-pe' or . = 'es-pr' or . = 'es-es' or . = 'es-uy' or . = 'es-ve' or . = 'sv' or . = 'sv-fi' or . = 'sv-se' or . = 'tr' or . = 'uk' | Invalid language code | |
| link | ||
| starts-with(., 'http://') or starts-with(., 'ftp://') | Links should only be made to http or ftp resources. | |
| skipHours | ||
| count(hour) < 25 | There is a limit of 24 hour elements within a <name path=""/> element | |
| hour | ||
| number(.) > 0 and number(.) < 24 | Hour values should be in the range 0-23 | |
| skipDays | ||
| count(day) < 8 | There is a limit of 7 day elements within a <name path=""/> element | |
| day | ||
| . = 'Monday' or . = 'Tuesday' or . = 'Wednesday' or . = 'Thursday' or . = 'Friday' or . = 'Saturday' or . = 'Sunday' | Days should be listed as Monday, Tuesday, Wednesday, Thursday, Friday, Saturday and Sunday | |
| image | ||
| height | An image height has not been supplied. A default height of 31 pixels will be assumed | |
| width | An image width has not been supplied. A default width of 88 pixels will be assumed | |
| url | This image does not have a url | |
| width | ||
| string-length(.) > 0 | Width elements should not be empty | |
| height | ||
| string-length(.) > 0 | Height elements should not be empty | |
For documentation, please refer to http://backend.userland.com/rss091
| channel | ||
| rating and ((string-length(.) < 20 or string-length(.) > 500)) | Supplied PICS ratings must be between 20-500 characters in length | |
| link | ||
| string-length(.) > 1 and string-length(.) < 500 | Link urls must be between 1-500 characters in length. | |
| width | ||
| number(.) < 144 and number(.) > 0 | Images width must be between 1-144 pixels | |
| height | ||
| number(.) < 400 and number(.) > 0 | Images height must be between 1-400 pixels | |
| title | ||
| string-length(.) > 1 and string-length(.) < 100 | Titles must be between 1-100 characters in length | |
| description | ||
| parent::channel and (string-length(.) = 0 or string-length(.) > 500) | Channel descriptions must be between 1-500 characters in length | |
| parent::item and (string-length(.) = 0 or string-length(.) > 500) | Item descriptions must be between 1-500 characters in length | |
| parent::image and (string-length(.) = 0 or string-length(.) > 100) | Image descriptions must be between 1-100 characters in length | |
| parent::textinput and (string-length(.) = 0 or string-length(.) > 500) | Textinput descriptions must be between 1-500 characters in length | |
| copyright|pubDate|lastBuildDate|managingEditor|webMaster | ||
| string-length(.) > 1 and string-length(.) < 100 | <name path=""/> elements must be between 1-100 characters in length | |
| url | ||
| string-length(.) > 0 | url elements must not be empty | |
Schematron Pretty by Rick Jelliffe. The Schematron by Rick Jelliffe, Academia Sinica Computing Centre.