#Rss

C
'This class represents an RSS document. Its properties are those of its single <channel> element.
'It acts like an array of [RssItem](../rssitem) objects. Add your items in order and then call the
'ToString() method to get the XML document string.
'
'The Title, Link and Description are necessary. All other properties are optional.
'
'Conforming to the [RSS 2.0 specification](https://cyber.harvard.edu/rss/rss.html). You have to
'know the document structure and terminology of RSS to make use of this component.
Title
v
s

'The name or title of the feed.
Link
v
s

'The URL to the website corresponding to this feed.
Description
v
s

'A description of the feed's contents.
Language
v
s

'The language the feed content is written in. Use one of the [defined](https://cyber.harvard.edu/rss/languages.html) values.
Copyright
v
s

'Copyright notice for the feed content.
ManagingEditor
v
s

'EMail address of the managing editor.
WebMaster
v
s

'EMail address of the web master.
Pub
v
RssDate

'Publication date/timezone of the feed. E.g. a newspaper with daily publication would change this once a day. If unset, defaults to the time the XML document is written in the local timezone.
LastBuild
v
RssDate

'The date/timezone of the last change to the feed contents. If unset, defaults to the time the XML document is written in the local timezone.
Categories
v
RssCategory[]

'An array of categories for this feed.
'
'## See also
'[../../rsscategory]
Generator
v
s

'The program which generated the feed.
Docs
v
s

'A link to the RSS specification, to inform future generations of what an RSS file is, if they find one.
Cloud
v
RssCloud

'Description of an associated cloud service.
'
'## See also
'[../../rsscloud]
Ttl
v
i

'"Time to live", indicates how long the feed contents may be cached.
Image
v
RssImage

'An image associated with the feed.
'
'## See also
'[../../rssimage]
Rating
v
s

'[PICS](http://www.w3.org/PICS/) rating of the feed.
TextInput
v
RssTextInput

'Describes a text input box to be displayed with the feed.
'
'## See also
'[../../rsstextinput]
SkipHours
v
Integer[]

'A hint for news aggregators. It gives a number of hours in the range of 0 to 23 when no new content is to be expected in the feed.
'A client may ignore this setting, but can also use it to save traffic. You may only specify up to 24 skip hours.
SkipDays
v
Integer[]

'A hint for news aggregators. It gives a number of weekdays (gb.Monday, gb.Tuesday, etc.) when no new content is to be expected in
'the feed. A client may ignore this setting, but can also use it to save traffic. You may only specify up to 7 skip days.
Count
r
i

'Returns the number of RssItems in this document.
Add
m

(Item)RssItem;[(Index)i]
'Add an RssItem to the document. If ~Index~ is given, the item is inserted at the given
'position in the array of items. By default it is inserted at the end.
_get
m
RssItem
(Index)i
'Return the RssItem at position ~Index~.
_put
m

(Item)RssItem;(Index)i
'Replace the RssItem at position ~Index~.
_next
m
RssItem

'Iterate through all RssItems, in the order they are given in the document.
Remove
m

(Index)i[(Length)i]
'Remove ~Length~-many RssItems from the item array, beginning at position ~Index~. By default ~Length~ is 1.
Reverse
m


'Reverse the order of RssItems.
Sort
m

[(Mode)i]
'Sort the items by their date. You can pick ~Mode~ as gb.Ascent or gb.Descent.
'The default is descending sort so that the newest items are first in the document.
Clear
m


'Clear the Rss object. Sets all properties to Null and clears the item array.
ToString
m
s

'Write this Rss object as an XML document and return its contents.
_Write
m

(hWriter)XmlWriter;
FromString
m

(Data)s
'Read the RSS document in XML format, given in ~Data~, and fill the properties of this Rss object
'accordingly.
_Read
m

(hReader)XmlReader;
_NotClosed
M
b
(hReader)XmlReader;(iDepth)i
_GetText
M
s
(hReader)XmlReader;
#RssCategory

C
'This class represents an RSS category. The RSS specification does not provide a standard
'set of categories. You can invent your own (site-specific) categories.
Category
v
s

'The category description string. Use forward slashes as separators to structure categories hierarchically.
Domain
v
s

'The category domain is an ID for, or a URL to, a category taxonomy description.
_Write
m

(hWriter)XmlWriter;
_Read
m

(hReader)XmlReader;
#RssCloud

C
'This class can be used to specify a web application implementing the rssCloud interface.
'An rssCloud application notifies its registrees of changes in subscribed RSS channels.
'
'See [https://cyber.harvard.edu/rss/soapMeetsRss.html#rsscloudInterface] for an explanation.
XmlRpc
C
i
0
Soap
C
i
1
HttpPost
C
i
2
Domain
v
s

'Domain name of the application server.
Port
v
i

'TCP port of the application.
Path
v
s

'The script path on the server.
RegisterProcedure
v
s

'The name of the registration procedure to be called on the server side.
Protocol
v
i

'The rssCloud protocol to use. One of [../xmlrpc], [../soap] or [../httppost].
_Write
m

(hWriter)XmlWriter;
_Read
m

(hReader)XmlReader;
#RssDate

C
'This class represents a date in RSS. It is comprised of a Gambas Date and
'a Zone timezone string. Since dates are absolute in Gambas, the timezone is
'only used during reading and writing the XML document backing an RSS feed.
'It does not have to "applied" to the Date in any way by the user of this component.
Date
v
d

'The date represented by this object.
Zone
v
s

'The timezone relative to which the Date was or should be printed.
_new
m

[(Date)d(Zone)s]
_Read
m

(hReader)XmlReader;
_Write
m

(hWriter)XmlWriter;(sTag)s
#RssEnclosure

C
'This class represents a media attachment to an RSS item.
Url
v
s

'The URL of the attached file.
Length
v
l

'The length of the file in bytes.
Type
v
s

'The MIME type of the file.
_Write
m

(hWriter)XmlWriter;
_Read
m

(hReader)XmlReader;
#RssGuid

C
'This class represents a GUID (**G**lobally **U**nique **ID**entifier) of an RSS item.
'The RSS specification does not prescribe a particular format. A news aggregator may use
'this property, if present, to determine whether the item is new.
'
'By default the [IsPermaLink] property is True, meaning permalinks are the default way
'to assign the item a GUID.
Guid
v
s

'The GUID string.
IsPermaLink
v
b

'Returns or sets if this GUID is a [permalink](https://en.wikipedia.org/wiki/Permalink).
'The default value of this property is True.
_new
m


_Write
m

(hWriter)XmlWriter;
_Read
m

(hReader)XmlReader;
#RssImage

C
'This class represents an image which is associated with an RSS feed.
'The Title and Link properties should be the same as the corresponding ones of the
'parent Rss object.
Url
v
s

'The URL of the image file. The specification requires this to be a GIF, JPEG or PNG file.
Title
v
s

'An image title. It is to be used as the 'alt' attribute of the '<img>' HTML tag if the feed is rendered as HTML.
'
'## See also
'[../link], [../description]
Link
v
s

'The URL of the website the feed belongs to. When the feed is rendered as HTML the RssImage becomes a link to this website.
'
'## See also
'[../title], [../description]
Width
v
i

'The width of the image. The maximum width is 144, the default is 88.
Height
v
i

'The height of the image. The maximum height is 400, the default is 31.
Description
v
s

'If the feed is rendered as HTML this string is to be become the 'title' attribute of the link rendered around the image.
'
'## See also
'[../title], [../link]
_new
m


_Write
m

(hWriter)XmlWriter;
_Read
m

(hReader)XmlReader;
#RssItem

C
'This class represents a single news item. Create an object of this class, fill its properties
'and add it to an existing [Rss](../rss) object.
'
'All properties of this class are optional, but you have to fill at least Title *or* Description.
Title
v
s

'The title of the news item.
Link
v
s

'A link to the website containing the full content.
Description
v
s

'Synopsis of the item. You can use entity-encoded HTML.
Author
v
s

'EMail address of the author.
Categories
v
RssCategory[]

'An array of categories for this item.
'
'## See also
'[../../rsscategory]
Comments
v
s

'A URL pointing to a comment page for the item.
Enclosure
v
RssEnclosure

'Describes a media attachment to this item.
'
'## See also
'[../../rssenclosure]
Guid
v
RssGuid

'A **G**lobally **U**nique **ID**entifier for this item, e.g. a [permalink](https://en.wikipedia.org/wiki/Permalink)
'to the item's full content on your website.
'
'## See also
'[../../rssguid]
Pub
v
RssDate

'Publication date/timezone of this item. If unset, defaults to the time the XML document is written in the local timezone.
Source
v
RssSource

'If this item comes from another RSS feed, use this property to link to the original feed.
'
'## See also
'[../../rsssource]
_compare
m
i
(Other)RssItem;
_Write
m

(hWriter)XmlWriter;
_Read
m

(hReader)XmlReader;
#RssSource

C
'This class describes a foreign source of an RSS item which you included in your RSS feed.
Source
v
s

'The feed title of the source RSS feed.
'
'## See also
'[Rss.Title](../../rss/title)
Url
v
s

'Link to the foreign RSS feed's XML document.
_Write
m

(hWriter)XmlWriter;
_Read
m

(hReader)XmlReader;
#RssTextInput

C
'This class represents a text input field which the news aggregator may display
'with your feed. The [RSS specification](https://cyber.harvard.edu/rss/rss.html#lttextinputgtSubelementOfLtchannelgt)
'admits that this element's purpose is unclear and that it may not be widely supported.
'It can be used as a built-in mechanism to provide feedback to the feed owner's website
'or as a search box.
Title
v
s

'The label of the submit button next to the input box.
Description
v
s

'Explanation of the input box's purpose.
Name
v
s

'The name of the input box, for use by the CGI script the input is sent to.
Link
v
s

'Link to the CGI script which processes the input.
_Write
m

(hWriter)XmlWriter;
_Read
m

(hReader)XmlReader;
