Text 1056, 385 rader
Skriven 2007-10-14 00:36:40 av Mithgol the Webmaster (2:5063/88)
Ärende: [7/11] FidoURL.txt
==========================
* originally in FTSC_Public
* also sent to GanjaNet.Local
* also sent to Ru.Fido.WWW
* also sent to Ru.FTN.Develop
* also sent to SU.FidoTech
* also sent to Titanic.Best
textsection 7 of 11 of file FidoURL.txt
textbegin.section
7.2.1.2.3.1. Empty leftmost values
-+--------------------------------
The <Year> value MAY be empty, and in that case the first
step of the above checking MUST be skipped, as if
message's year and filter's year were equal.
If the <Year> value is empty, the <Month> value MAY also
be empty, and in that case the second step of the above
checking MUST also be skipped, as if message's month and
filter's month were equal.
If the <Year> and <Month> values are empty, the <Day>
value MAY also be empty, and in that case the third step
of the above checking MUST also be skipped, as if
message's day and filter's day were equal.
If the <Year> and <Month> and <Day> values are empty, the
<Hour> value MAY also be empty, and in that case the
fourth step of the above checking MUST also be skipped,
as if message's hour and filter's hour were equal.
If the <Year> and <Month> and <Day> and <Hour> values are
empty, the <Minute> value MAY also be empty, and in that
case the fifth step of the above checking MUST also be
skipped, as if message's minute and filter's minute were
equal.
To find out whether a separator ("/", or "T", or ":") MAY
be skipped, consult the subsection 7.2.1.2.1.1: the rules
on that matter are the same here.
Example:
area://Ru.FTN.Develop/?time=18T15:56:54-
This URL designates the messages that were written
(in Ru.FTN.Develop echomail area) either after
the 18th day of any month in any year, or not before
15:56:54 of the 18th day.
7.2.1.2.3.2. Empty rightmost values
-+---------------------------------
The <Second> value MAY be empty, and in that case
the <Second> value is assumed to be 00.
If the <Second> value is empty, the <Minute> value MAY
also be empty, and in that case the <Minute>:<Second>
value is assumed to be 00:00.
If the <Second> and <Minute> values are empty, the <Hour>
value MAY also be empty, and in that case
the <Hour>:<Minute>:<Second> value is assumed to be
00:00:00.
If the <Second> and <Minute> and <Hour> values are empty,
the <Day> value MAY also be empty, and in that case
the <Day>T<Hour>:<Minute>:<Second> value is assumed to be
01T00:00:00.
If the <Second> and <Minute> and <Hour> and <Day> values
are empty, the <Month> value MAY also be empty, and
in that case the <Month>/<Day>T<Hour>:<Minute>:<Second>
value is assumed to be 01/01T00:00:00.
None of the above assumed values fail the corresponding
steps of the checking described above; the corresponding
steps SHOULD be just skipped if the rightmost values are
empty: if such a step is reached after the previous steps,
then the tested message MUST appear is the filtered set.
The leftmost values and the rightmost values MAY be empty
simultaneously; however, some non-empty values (just one,
or more) MUST appear in this form of the filter.
To find out whether a separator ("/", or "T", or ":") MAY
be skipped, consult the subsection 7.2.1.2.1.1: the rules
on that matter are the same here.
Example:
area://Ru.FTN.Develop/?time=09/01-
This URL designates the messages that were written
(in Ru.FTN.Develop echomail area) after the summer
in any year. It is equivalent to the following form:
area://Ru.FTN.Develop/?time=09/01T00:00:00-
7.2.1.2.4. Interval of time
-+-------------------------
This variant of a "time" filter's value combines
the previous two variants:
<LowerLimit>-<UpperLimit>
In details it looks like this:
<Year>/<Month>/<Day>T<Hour>:<Minute>:<Second>-%%
%%<Year>/<Month>/<Day>T<Hour>:<Minute>:<Second>
(the character sequence "%%" is used here to mark the place
where a line break appears inside the URL, and then where
the URL resumes; see section 5.2.2.5 for details).
A message from the initial message set appears in the
filtered set (defined by the given interval of time) if
and only if the message's date and time value conforms to
both of the given limits, as described in sections 7.2.1.2.2
and 7.2.1.2.3.
7.2.1.2.4.1. Empty rightmost values
-+---------------------------------
The righmost values for each of the combined limits MAY
be empty in right-to-left order (<Second>, or <Second> and
<Minute>, or <Second> and <Minute> and <Hour>, and so on).
To find out whether a separator ("/", or "T", or ":") MAY
be skipped as well, consult the subsection 7.2.1.2.1.1:
the rules on that matter are the same here.
The empty rightmost values of the lower limit are assumed
to be the lowest possible (see section 7.2.1.2.3.2).
The empty rightmost values of the upper limit are assumed
to be the highest possible (see section 7.2.1.2.2.2).
Example:
area://Ru.FTN.Develop/?time=2007/06-2007/08
This URL designates the messages that were written
(in Ru.FTN.Develop echomail area) in the summer
of 2007. It is equivalent to the following form:
area://Ru.FTN.Develop/?time=2007/06/01T00:00:00-2007/%%
%%08/31T23:59:60
(the character sequence "%%" is used here to mark
the place where a line break appears inside the URL,
and then where the URL resumes; see section 5.2.2.5
for details).
7.2.1.2.4.2. Empty leftmost values
-+--------------------------------
The number of empty leftmost values in the <LowerLimit>
part of the filter's value MUST NOT be greater than the
number of of empty leftmost values in the <UpperLimit>
part.
If such a value is empty in both parts (in <LowerLimit>
and in <UpperLimit>), then the corresponding value of the
message is not checked (see section 7.2.1.2.2.1 and
section 7.2.1.2.3.1).
Example:
area://Ru.FTN.Develop/?time=00:00:00-11:59:60
This URL designates the messages that were written
(in Ru.FTN.Develop echomail area) before the noon
of any day. (<Year> and <Month> and <Day> values are
empty in both part of the filter's value.)
If such a value is empty in the <UpperLimit> only, then
the value MUST be assumed to be equal to the corresponding
value of the <LowerLimit> part.
For example, the following URL:
area://Ru.FTN.Develop/?time=2007/08/18-26T
is equivalent to:
area://Ru.FTN.Develop/?time=2007/08/18-2007/08/26
The leftmost values and the rightmost values MAY be empty
simultaneously; however, some non-empty values (just one,
or more) MUST appear in each part (in <LowerLimit> and in
<UpperLimit>) in this form of the filter. (In the previous
example, <Hour> and <Minute> and <Second> is empty in both
parts as the rightmost, and <Year> and <Month> is empty in
<UpperLimit> as the leftmost.)
To find out whether a separator ("/", or "T", or ":") MAY
be skipped, consult the subsection 7.2.1.2.1.1: the rules
on that matter are the same here.
7.2.1.2.5. Complex filter
-+-----------------------
This variant of a "time" filter's value is a space-separated
list of two or more of the above variants: single moments,
and/or upper limits, and/or lower limits, and/or intervals
of time.
A message from the initial message set appears in the
filtered set (defined by the given complex) if and only if
it appears in at least one of the individual filtered sets
defined by the space-separated subfilters. In other words,
the filtered set of a complex "time" filter is a union of
sets defined by its subfilters.
Example:
area://Ru.FTN.Develop/?time=2004-2005+2006%202007-
is equivalent to:
area://Ru.FTN.Develop/?time=2004-
7.2.1.2.6. The type-total set for "time" filters
-+----------------------------------------------
The type-total set for "time" filters is the intersection
of the filtered sets defined by "time" filters.
Example:
area://Ru.FTN.Develop/?time=2004-2006&time=2005-2007
is equivalent to:
area://Ru.FTN.Develop/?time=2005-2006
7.2.1.2.7. Ordinal day number in the year
-+---------------------------------------
In each of the above forms of the "time" filter, if both
<Month> and <Day> values are not empty, the 3-digit ordinal
day number in the year MAY replace "<Month>/<Day>" part of
the filter's value: "001" MAY replace "01/01", "002" MAY
replace "01/02", ..., "031" MAY replace "01/31", "032" MAY
replace "02/01", etc., according to the following table:
Month name <Month>/<Day> Ordinal day number in the year
in common years: in leap years:
January 01/01-01/31 001-031 001-031
February 02/01-02/28 032-059 032-060
(but -02/29 in a leap year)
March 03/01-03/31 060-090 061-091
April 04/01-04/30 091-120 092-121
May 05/01-05/31 121-151 122-152
June 06/01-06/30 152-181 153-182
July 07/01-07/31 182-212 183-213
August 08/01-08/31 213-243 214-244
September 09/01-09/30 244-273 245-274
October 10/01-10/31 274-304 275-305
November 11/01-11/30 305-334 306-335
December 12/01-12/31 335-365 336-366
The rules that determine whether other values and/or
separators MAY be skipped remain the same as if there were
"<Month>/<Day>" non-empty values with a slash between them.
Example:
area://Ru.FTN.Develop/?time=2007/238
is equivalent to:
area://Ru.FTN.Develop/?time=2007/08/26
Such an URL form MAY come in handy for devices and/or
software units that are not intelligent enough to handle
the entire calendar with its twelve months.
7.2.1.2.8. Using current date and time
-+------------------------------------
The value "now" (case-insensitive; even "NOw" is possible)
MAY be used in the place there <Year> and/or <Month> and/or
<Day> and/or <Hour> and/or <Minute> and/or <Second> value
is expected. The URL-parsing software MUST substitute the
corresponding component of the current date or time for
the original "now" value.
For example, if the URL is parsed at the very noon, then
area://Ru.FTN.Develop/?time=2007/08/26TnOw:NoW
is equivalent to:
area://Ru.FTN.Develop/?time=2007/08/26T12:00
The ordinal day number in the year (see section 7.2.1.2.7)
MAY NOT be substituted by "now"; use "now/now" instead,
in order to substitute the current month and day pair.
If "now" value is substituted for <Year> and/or <Month>
and/or <Day>, then each of the slashes ("/") used as
separators MUST NOT be omitted from the date. (This is
REQUIRED to distinguish the appearance of dirrerent elements
of the date, because just one slash, like in "now/", is not
enough to judge whether it is year value or month value.)
Example:
area://Ru.FTN.Develop/?time=now/06-08/
This URL designates all the messages in Ru.FTN.Develop
echomail area that were written (or will be written)
in summer of this year.
7.2.1.2.9. TrueTime kludge
-+------------------------
Kludges (also known as klugde lines or control paragraphs)
are special lines embedded in the text body of a Fidonet
message. Sometimes kludges are used to support some new
addressing and other control information, sometimes they
contain pieces of auxiliary information about the message's
author (location, ICQ UIN, Jabber ID, real name, current
music, mood, etc.) See technical details in FTS-4000.
And to support the new addressing (to support using "time"
filters in FGHI URLs), a new klugde is introduced. Its line
has the following format:
<SOH>TrueTime: <Year>/<Month>/<Day>T<Hour>/<Minute>/<Second>
Here <SOH> is a single SOH character (Ctrl+A, ASCII 1); the
values <Year> and <Month> and <Day> and <Hour> and <Minute>
and <Second> specify the very single moment (see section
7.2.1.2.1) to which the message is attributed.
This method of attribution is superior to the DateTime field
of the message's header. If a message contains a TrueTime
kludge, only the contents of this kludge MUST be tested
against the encountered "time" filters when it is judged
whether a message from the initial message set appears in
the filtered set (defined by the given "time" filter).
The values <Year> and <Month> and <Day> and <Hour>
and <Minute> and <Second> MUST NOT be empty in TrueTime
kludge; separators between them MUST also be present.
TrueTime kludges MUST NOT use ordinal day number in the year
(section 7.2.1.2.7). TrueTime kludges MUST NOT use "now"
value (section 7.2.1.2.8).
If an author of some message desires to attribute its text
(or, in general terms, its material) to some moment in time
that seriously differs from the current time, the author
SHOULD use TrueTime kludge to specify the desired time, but
leave the current time in the header of the message intact.
Otherwise the message MAY be lost in transit, and for a good
reason: some echoprocessor (tosser) MAY judge it to be a bug
in an old archive of messages, for example.
textend.section
With best Fidonet 2.0 regards,
Mithgol the Webmaster. [Real nodelisted name: Sergey Sokoloff]
... Lest the dead who is forsaken may not be happy now (C) E. A. Poe
--- Come with me in the twilight of a summer night for a while... .hack//SIGN
* Origin: And the Soviets ÄÄ waist-deep in the snow ÄÄ marched in (2:5063/88)
|