KPRSS 1.0 INTERNET DRAFT Jason Robinson Title: draft-kprss1-2004.txt Kitchen Pages, computer software. Expires: September 2005 October 2004 KPRSS middleware conversions or end use applications Status of this Draft Document This document may not be modified, and derivative works of it may be created. This document may only be posted in an Internet-Draft for information uses. The text found in this document when completed will be translated into a web HTML format for web browser viewing - draft is in text. Abstract The "KPRSS" software package is designed to be simple RSS to HTM pre process translator for viewing in web browsers via the http protocol. This document defines the base framework of KPRSS on a single use basis and multiple use basis. Subsequent and previous documents leverage this base framework to extend the environments encounted and managed. The ultimate goal of this framework is to reuse entered information while retaining the function of such entered information. While this document presents technical details, it is not yet intended as a definitive or final specification, rather, the intent is to define a framework and sufficient technical detail to promote experimental deployment with a view to evolving into a comprehensive directive standard for KPRSS 2 compliant softwares. Referances KPRSS 0.0 Sun, Sep 19, 2004; by Jason Robinson. http://www.kitchenpages.com/news/kprss_help.html Updated to match kprss 1.0 and kprss 1.10 http://www.kitchenpages.com/help/i3/draft-kprss0-2004.txt KPRSS 1.0 Sun, Sep 19, 2004; by Jason Robinson. http://www.kitchenpages.com/news/kprss_help.html Updated to match kprss 1.0 and kprss 1.10 http://www.kitchenpages.com/help/i3/draft-kprss1-2004.txt RSS 0.92 Mon, Dec 25, 2000; by Dave Winer. UserLand Software http://backend.userland.com/rss092 RSS 0.91 Sun, Jun 4, 2000; by Dave Winer. UserLand Software http://backend.userland.com/rss091 RSS 0.91 Sat, July 10, 1999; by Dan Libby. Netscape Communications http://my.netscape.com/publish/formats/rss-spec-0.91.html Intro Updated as needed to match kprss2htm.exe or kprss2html.exe usage on win32 operating systems. Sample file For an example please refer to this sample KPRSS 1.0 rss files, containing selected links from KitchenPages.Com. It may be helpful to refer to others in rendering of RSS files to see how the XML can be turned into something browsable. What is RSS? RSS is dialect of XML. All RSS files must conform to the XML 1.0 specification, as published on the World Wide Web Consortium (W3C) website http:\\www.w3.org\ At the top level, a RSS document is a element, with a mandatory attribute called version, that specifies the version of RSS that the document conforms to. Subordinate to the element is a single element or multiples elements, which contains information about each channel (metadata) and its contents. Required sub-elements Following are the required elements of a . -- The name of the channel. It's how people refer to your service. If you have an HTML website that contains the same information as your RSS file, the title of your channel should be the same as the title of your website. No Maximum length for KPRSS. <link> -- A URI pointing to the website named in the <title>. No Maximum length for KPRSS. <description> -- A phrase that describes your channel, your channel's positioning statement. No Maximum length for KPRSS. <language> -- Indicates the language your channel is written in. This allows aggregators to group all Italian language sites, for example, on a single page. A list of allowable values for this element is here. <image> -- An XML element that contains several sub-elements, explained here. Non-Optional <channel> sub-elements for KitCAD2 and KPRSS by default. <copyright> -- Copyright notice for content in the channel. No Maximum length for KPRSS. What is an <image>? An <image> is a sub-element of <channel>, which contains three required and three optional sub-elements. <url> is the URL of a GIF, JPEG or PNG image that represents the channel. No Maximum length for KPRSS. <title> describes the image, it's used in the ALT attribute of the HTML <img> tag when the channel is rendered in HTML. No Maximum length for KPRSS. <link> is the URI of the site, when the channel is rendered, the image is a link to the site. (Note, in practice the image <title> and <link> should have the same value as the channel's <title> and <link>. No Maximum length for KPRSS. Optional elements include <width> and <height>, numbers, indicating the width and height of the image in pixels. <description> contains text that is included in the TITLE attribute of the link formed around the image in the HTML rendering. Maximum value for width is 144, default value is 88 for RSS. No Maximum size for KPRSS. Maximum value for height is 400, default value is 31 for RSS. No Maximum size for KPRSS. What is an <item>? Each channel may contain any number of <item>s, each of which links to a URI, with an optional description. <title> is the title. No Maximum length for KPRSS. <link> is a URI. Maximum length is mainly browser dependent. <description> is for the basic synopsis. No Maximum length for KPRSS. What is a <textInput>? Each channel may optionally contain a <textInput> and other sub-element/s. <title> -- The label of the Submit button in the text input area. No Maximum length for KPRSS. <description> -- Explains the text input area. No Maximum length for KPRSS. <link> -- The URI of the CGI script that processes text input requests. No Maximum length for KPRSS. Comments RSS 0.91 places restrictions on the first non-whitespace characters of the data in <link> and <url> elements. The data in these elements must begin with http:// or ftp://. Among others, https:, file:, mailto:, news:, and javascript: are not permitted. KPRSS can support such translations but it is not advised or practiced. The only limitation with KPRSS is that the default configure files support ALL optional elements of RSS 1.0, as noted above. Unless the configure files are updated to decrease or upgrade element swapping support. RSS 2.0 is the current version. It is upward compatible with 0.92, that is any 0.92 source is also a valid 2.0 source. RSS is a Web content syndication format. RSS 0.92 is upward-compatible with RSS 0.91. Every new feature of 0.92 is optional, meaning that a 0.91 file is also a valid 0.92 file. However implementators should check the configure files for updating the current swap elements. Example Here is a RSS 0.92 file that illustrates many of the features described on this page. <language> is optional In 0.91, the <language> element is required. In 0.92 and KPRSS it is optional and may be placed so that it is automaticly swapped. Why? If a channel is formed from various input sources there's no way to know that it's going to only contain a single language. All sub-elements of <item> are optional In 0.91, <link> and <title> are required sub-elements of <item> and <description> is optional. In 0.92, all sub-elements of <item> are optional. Why? When a RSS file reflects the content of a weblog or "blog" site, the structure required by previous versions of RSS was often impossible to synthesize. For example, there is no actual limit on the number of links a weblog item can have. Further, 0.92 allows entity-encoded HTML in the <description> of an item, to reflect actual practice by bloggers, who are often proficient HTML coders. In KPRSS 0.0, by default sub-elements of <item> are required. All limits are eliminated In RSS 0.91 various elements are restricted to 500 or 100 characters. There can be no more than 15 <items> in a 0.91 <channel>. There are no string-length or XML-level limits in KPRSS 1.0. There are no string-length or XML-level limits in RSS 0.92. Processors may impose their own limits, and generators may have preferences that say no more than a certain number of <item>s can appear in a channel, or that strings are limited in length. All Element limits are eliminated Single <channel> element or multiple <channel> elements are supported, each channel still contains information about the channel (metadata) and its contents. Other elements may also be eliminated; these include all document elements. However the basic XML structure should conform to w3 standards but this is not a requirement of source files. Output files should be 'modified' using tidy or another simmilar program to conform output for w3 html standards. All Scheme limits are eliminated Scheme elements are supported in conversion by KPRSS that are supported by a clients web browser. See <link>; As in use of mailto:\\ and other supported HTTP commands. However the basic RSS XML structure should conform to RSS0.91 standards but this is not a requirement of source files for KPRSS conversion. As in NO use of mailto:\\ commands. Output files should be 'modified' using tidy or another simmilar program to conform output for w3 html standards. Copyright and disclaimer/s © Copyright 1997-2000 UserLand Software. All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and these paragraphs are included on all such copies and derivative works. This document may not be modified in any way, such as by removing the copyright notice or references to UserLand or other organizations. Further, while these copyright restrictions apply to the written RSS specification, no claim of ownership is made by UserLand to the format it describes. Any party may, for commercial or non-commercial purposes, implement this protocol without royalty or license fee to UserLand. The limited permissions granted herein are perpetual and will not be revoked by UserLand or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and USERLAND DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. © Copyright 2004 Kitchen Pages, Jason Robinson. All Rights Reserved, modified and additional text. Author's Address Jason Robinson http://www.kitchenpages.com/feedback.html Please send comments to the author at the above address. This Referance, if any; will be: kprss1-2004.txt Next Referance, if any; will be: draft-kprss2-2004.txt Support other Referance, if any: draft-kprss1-2004.txt Previous Referance, if any; was: NONE-n/a RCS: $Id: draft-kprss1-2004.txt,v 1.0 2004/10/02 00:00:01 markd Exp $