Re: PaceExtendingAtom

2005-02-04 Thread Mark Nottingham
Baking this as a normative requirement -- even a SHOULD -- into a 
standards-track RFC is a bad idea.

These formats are not the only interoperable formats on the planet, and 
in fact they all have interop problems to some degree.

In five years, this requirement isn't going to make any sense.
I've said my piece on this one; I'm interested in responses to my other 
questions and points.

Cheers,
On Feb 4, 2005, at 2:15 PM, Robert Sayre wrote:
Mark Nottingham wrote:
It certainly gives the impression that there's a preference; it's 
like saying "The language of the feed SHOULD be English;" there are 
lots of options, and we don't require one, but it does call one out.
Why is this a normative requirement, and what does adding this 
sentence bring to the spec?
TEXT, HTML, and XHTML are preferred because they interoperate.
"there may exist valid reasons in particular circumstances to ignore a 
particular item, but the full implications must be understood and 
carefully weighed before choosing a different course."

Seems right to me. If MathML titles become wildly popular, the spec 
can be revised later on.

Robert Sayre

--
Mark Nottingham http://www.mnot.net/


Re: PaceExtendingAtom

2005-02-04 Thread Robert Sayre
Mark Nottingham wrote:
It certainly gives the impression that there's a preference; it's like 
saying "The language of the feed SHOULD be English;" there are lots of 
options, and we don't require one, but it does call one out.

Why is this a normative requirement, and what does adding this sentence 
bring to the spec?
TEXT, HTML, and XHTML are preferred because they interoperate.
"there may exist valid reasons in particular circumstances to ignore a 
particular item, but the full implications must be understood and 
carefully weighed before choosing a different course."

Seems right to me. If MathML titles become wildly popular, the spec can 
be revised later on.

Robert Sayre


Re: PaceExtendingAtom

2005-02-04 Thread Mark Nottingham
It certainly gives the impression that there's a preference; it's like 
saying "The language of the feed SHOULD be English;" there are lots of 
options, and we don't require one, but it does call one out.

Why is this a normative requirement, and what does adding this sentence 
bring to the spec?

On Feb 3, 2005, at 11:27 PM, Tim Bray wrote:
On Feb 3, 2005, at 8:17 PM, Mark Nottingham wrote:
This specification describes Atom's XML markup vocabulary.  
Markup from
other vocabularies ("foreign markup") can be used in Atom in 
a variety of
ways. Text Constructs may contain foreign markup which 
SHOULD be HTML or
XHTML.
What does this statement add? Why is HTML or XHTML normatively 
preferred over text, MathML, or any other vocabulary?
It's not preferred over text, you can say type='TEXT', but since this 
is a *text* construct and quite likely to be presented in rows & 
columns (title, author, etc) simpler is better, so I'd think the 
SHOULD is sensible here. -Tim


--
Mark Nottingham http://www.mnot.net/


Re: PaceExtendingAtom

2005-02-03 Thread Tim Bray

On Feb 3, 2005, at 8:17 PM, Mark Nottingham wrote:
This specification describes Atom's XML markup vocabulary.  
Markup from
other vocabularies ("foreign markup") can be used in Atom in 
a variety of
ways. Text Constructs may contain foreign markup which SHOULD 
be HTML or
XHTML.
What does this statement add? Why is HTML or XHTML normatively 
preferred over text, MathML, or any other vocabulary?
It's not preferred over text, you can say type='TEXT', but since this 
is a *text* construct and quite likely to be presented in rows & 
columns (title, author, etc) simpler is better, so I'd think the SHOULD 
is sensible here. -Tim



Re: PaceExtendingAtom

2005-02-03 Thread Mark Nottingham

This specification describes Atom's XML markup vocabulary.  
Markup from
other vocabularies ("foreign markup") can be used in Atom in a 
variety of
ways. Text Constructs may contain foreign markup which SHOULD 
be HTML or
XHTML.
What does this statement add? Why is HTML or XHTML normatively 
preferred over text, MathML, or any other vocabulary?

 9.2 Extensions To the Atom Vocabulary 
Future versions of this specification may add new elements and 
attributes
to the Atom markup vocabulary.
What about extensions to the specification (as opposed to future 
versions)?

Software written to conform to this version
of the specification will not be able to process such markup 
correctly and,
in fact, will not be able to distinguish it from a markup 
error.  For the
purposes of this discussion, unrecognized markup from the Atom 
vocabulary
will be considered "foreign markup".

Unlike markup from other vocabularies, foreign markup from the 
Atom
vocabulary MAY appear at any location in an Atom document.
*Anywhere*? As the root element? As attributes? As as child of atom:id? 
This is too permissive; it makes it too easy to change the semantics of 
an element or structure in an incompatible manner. Remember, Atom is a 
data format, not a markup format.

When unknown foreign markup is encountered as a child of 
atom:entry,
atom:head, or a Person Construct, software SHOULD bypass the 
markup and any
textual content and MUST NOT change its behavior as a result 
of the
markup's presence.
Good, but what about requiring someone to understand an extension? If 
we don't introduce this before we go 1.0, we won't be able to introduce 
it until Atom 2.0 (I.e., never). This was the wall that HTTP hit, and 
one of the major drivers towards SOAP; I'd really prefer to avoid it 
this time around.

When unknown foreign markup is encountered in a Text Contruct 
or
atom:content element, software SHOULD ignore the markup and 
process any
text content of foreign elements as though the surrounding 
markup were not
present.
This is bad. If I put a strict media type in my atom:content, I expect 
its requirements, restrictions and semantics to be honoured; if I'm 
required to hand it off to a processor, and have that processor 
understand arbitrary extensions, it's too high a bar; many formats and 
processors won't be designed to deal with that. Ignoring the markup but 
processing the text may have unintended consequences.

Might I suggest:
Extensions are allowed as:
  - Child elements of atom:head
  - Child elements of atom:entry
  - Child elements of elements which are Person constructs
  - Where particular elements defined by extension explicitly allow it.
Anywhere else, it's not an Atom Document.
Furthermore, children of atom:head and atom:entry MAY have a 
mustUnderstand attribute, with the usual semantics.

Finally, extensions MUST NOT contradict their containing elements' 
semantics.

--
Mark Nottingham http://www.mnot.net/


Re: PaceExtendingAtom

2005-02-02 Thread Henry Story
[[
Also, Person Constructs, the atom:head element, and the atom:entry 
element
allow the inclusion of foreign markup.
]]

If one could add foreign markup anywhere then the above sentence would 
be
redundant.

Henry Story
http://bblfish.net/
On 2 Feb 2005, at 20:01, Joe Gregorio wrote:
How is PaceExtendingAtom restrictive? It only spells out a Must Ignore
policy and nothing else. Am I missing something?
-joe



Re: PaceExtendingAtom

2005-02-02 Thread Joe Gregorio

On Wed, 2 Feb 2005 18:06:53 +0100, Henry Story <[EMAIL PROTECTED]> wrote:
> 
> -1.  At least I don't see why there should be limitations at all on
> where extensions can appear.
> I am for a general must ignore rule.
> 
> On the other hand I think a much more ambitious extension spec would be
> one Atom were defined by
> something similar to the RELAX NG description we currently have and an
> OWL ontology. This would
> be helpful and very useful. PaceExtendingAtom as it currently is stated
> is restrictive without
> being useful.

How is PaceExtendingAtom restrictive? It only spells out a Must Ignore
policy and nothing else. Am I missing something?

-joe

-- 
Joe Gregoriohttp://bitworking.org



Re: PaceExtendingAtom

2005-02-02 Thread Henry Story
-1.  At least I don't see why there should be limitations at all on 
where extensions can appear.
I am for a general must ignore rule.

On the other hand I think a much more ambitious extension spec would be 
one Atom were defined by
something similar to the RELAX NG description we currently have and an 
OWL ontology. This would
be helpful and very useful. PaceExtendingAtom as it currently is stated 
is restrictive without
being useful.

Henry Story
On 13 Jan 2005, at 19:27, Tim Bray wrote:
+1
I wrote it and I still think it's necessary as a bare-minimum measure. 
-Tim




Re: PaceExtendingAtom status

2005-01-25 Thread Asbjørn Ulsberg
On Mon, 24 Jan 2005 16:17:46 -0800, Tim Bray <[EMAIL PROTECTED]> wrote:
Absent some convincing -1s, it probably goes in.  -Tim
It says nothing about namespaces. Shouldn't it mention that all foreign  
markup should be namespaced, and that all elements within the Atom  
namespace that aren't understood should be ignorde? Or is that clear  
enough from the pace? I don' think so. Or I've misunderstood something  
completely.

--
Asbjørn Ulsberg -=|=-http://virtuelvis.com/quark/
«He's a loathsome offensive brute, yet I can't look away»


Re: PaceExtendingAtom status

2005-01-24 Thread Joe Gregorio

+1 for making Atom a 'Must Ignore' language.


On Mon, 24 Jan 2005 16:17:46 -0800, Tim Bray <[EMAIL PROTECTED]> wrote:
> 
> If there were no further discussion: This is the result of a lot of
> discussion around "Must Ignore" and has in various drafts received lots
> of friendly remarks and suggestions for improvement, which have been
> incorporated.  Absent some convincing -1s, it probably goes in.  -Tim
> 
> 


-- 
Joe Gregoriohttp://bitworking.org



PaceExtendingAtom status

2005-01-24 Thread Tim Bray
If there were no further discussion: This is the result of a lot of 
discussion around "Must Ignore" and has in various drafts received lots 
of friendly remarks and suggestions for improvement, which have been 
incorporated.  Absent some convincing -1s, it probably goes in.  -Tim



PaceExtendingAtom

2005-01-13 Thread Tim Bray
+1
I wrote it and I still think it's necessary as a bare-minimum measure. 
-Tim