[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: RSS extensibility




On Jan 7, 2005, at 5:48 AM, Danny Ayers wrote:
In the interests of clarification, consider this pseudo-Atom snippet,
with an extension:

<feed "http://purl.org/atom/ns#
xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/";>

<entry>
   <prism:embargoDate>2005-02-15</prism:embargoDate>
...
</entry>

</feed>

A properly defined metadata specification would not define such as an element, but rather as an attribute on the entry element. The reason it is an element in PRISM is because that namespace is intended for RDF descriptions, which are themselves a case of third-party metadata assignment, not mark-up design.

Looking at the PRISM spec (which the namespace qualification identifies) -
[[
embargoDate
Earliest date (potentially including time) the resource may be used
according to the rights agreement, or clause in the rights agreement.
]]

And it also says


 7 Sharp-eyed readers familiar with RDF may have noticed that the
   RDF subject of the embargoDate and expirationDate elements is not
   the Corfu photo, but an anonymous node. That is because those
   elements do not directly describe the photo. Instead, their
   interpretation is that the agreement governing the use of the
   photo imposes such a condition. This interpretation is also used
   in the geography, industrySector, and usage elements shown in the
   next example.

So the human meaning of an 'embargoDate' element is reasonably clear.
The problem is that with RSS 2.0's approach to extensibility, there is
no relationship defined between this element and any part of the feed
data. Ok, it's an embargo date. But the embargo date of what?

On the other hand, following the RSS 1.0 approach to extensibility,
the markup would be interpreted as RDF/XML, which assigns a role for
the different parts of the XML structure. The pseudo-Atom is making
the statement:

_:entry prism:embargoDate "2005-02-15" .

The embargoDate is unambiguously a property of the entry. In the RSS
1.0 case this is defined in the RDF model.

No, it isn't, as is clear from the PRISM specification itself. XML does have a built-in containment relation, which is the essence of a mark-up language. RDF/XML does extra work to override that containment relation for the sake of externally-defined metadata. What you ascribe to RDF's inherent characteristics is, in fact, the opposite -- it is XML's native characteristics that are escaped by RDF/XML.

Poorly targeted RDF mark-up will be just as vulnerable to misinterpretation
as poorly designed XML mark-up, whereas properly designed XML mark-up is
syntactically bound through containment to the resource it refers. E.g.,


<entry other:embargoDate="20050202">stuff to be embargoed</entry>

XML does have a natural containment relationship that is only violated
by specific types of languages that do not actually perform mark-up,
namely RDF and its siblings. While I don't see any reason not to make
XML's mark-up relations explicit in the specification, I do hope that folks
understand that the relationship should be obvious to anyone who does not
work in a language that is as perversely non-mark-up as RDF/XML.


....Roy