[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Examplotron for rss 1.0 and request for comments

  • From: Eric van der Vlist <vdv@d...>
  • To: "xml-dev@l..." <xml-dev@l...>
  • Date: Tue, 27 Mar 2001 12:26:40 +0200

rss dc
(also posted on rss-dev)

I am now testing examplotron [1] against real live vocabularies starting
with RSS 1.0 that offers issues simpler but similar than XHTML.

The current release (0.3 [2]) does quite a good job for RSS 1.0 core
[3].

In fact an examplotron for RSS1.0 core is really just an example with a
couple of additional attributes and the following one is checking the
item/image/textinput definitions and references using the eg:assert
attribute:

<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
         xmlns="http://purl.org/rss/1.0/" 
         xmlns:eg="http://examplotron.org/0/" 
         xmlns:rss10="http://purl.org/rss/1.0/">
  <channel rdf:about="http://www.xml.com/xml/news.rss">
    <title>XML.com</title>
    <link>http://xml.com/pub</link>
    <description>
                 XML.com features a rich mix of information and services 
                 for the XML community.
               </description>
    <image rdf:resource="http://xml.com/universal/images/xml_tiny.gif" 
           eg:occurs="?" 
           eg:assert="/rdf:RDF/rss10:image/@rdf:about=@rdf:resource"/>
    <items>
      <rdf:Seq>
        <rdf:li resource="http://xml.com/pub/2000/08/09/xslt/xslt.html" 
                eg:occurs="+" 
                eg:assert="/rdf:RDF/rss10:item/@rdf:about=@resource"/>
      </rdf:Seq>
    </items>
    <textinput rdf:resource="http://search.xml.com" 
               eg:occurs="?" 
       eg:assert="/rdf:RDF/rss10:textinput/@rdf:about=@rdf:resource"/>
  </channel>
  <image rdf:about="http://xml.com/universal/images/xml_tiny.gif" 
         eg:occurs="?" 
    
eg:assert="/rdf:RDF/rss10:channel/rss10:image/@rdf:resource=@rdf:about">
    <title>XML.com</title>
    <link>http://www.xml.com</link>
    <url>http://xml.com/universal/images/xml_tiny.gif</url>
  </image>
  <item rdf:about="http://xml.com/pub/2000/08/09/xslt/xslt.html" 
        eg:occurs="+"
    
eg:assert="/rdf:RDF/rss10:channel/rss10:items/rdf:Seq/rdf:li/@resource=@rdf:about">
    <title>Processing Inclusions with XSLT</title>
    <link>http://xml.com/pub/2000/08/09/xslt/xslt.html</link>
    <description eg:occurs="?">
                Processing document inclusions with general XML tools
can be 
                problematic. This article proposes a way of preserving
inclusion 
                information through SAX-based processing.
               </description>
  </item>
  <textinput rdf:about="http://search.xml.com" 
             eg:occurs="?"
     
eg:assert="/rdf:RDF/rss10:channel/rss10:textinput/@rdf:resource=@rdf:about">
    <title>Search XML.com</title>
    <description>Search XML.com's XML collection</description>
    <name>s</name>
    <link>http://search.xml.com</link>
  </textinput>
</rdf:RDF>

I am now working on the modules and I'd like to get your feedback on a
first solution that I have partially implemented (not posted yet).

I would still like to follow the way we are describing a module such as
the Dublin Core module [4] by giving examples of partial RSS1.0
documents with dc elements.

I'd propose to add 2 new features in examplotron.

The first one would be the element eg:import:

<eg:import xlink:href="rss10.xml"/>

The meaning of eg:import is to "import" the definitions from another
examplotron by merging the possibilities described in the imported
document with these from the current document.

This is not sufficient to controle modules, though since we
obviously do not want to redefine the RSS1.0 core vocabulary in the DC
module and we need a way to say that the statements in the DC module
about RSS 1.0 core are "non normative".

For this, I'd like to propose a "eg:placeHolder" attribute that would
say that the current element is just here to identify a path and not to
add a new pattern:

<channel eg:placeHolder="true">

With these two features, an examplotron for the DC module would be:

<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:dc="http://purl.org/dc/elements/1.1/"
         xmlns="http://purl.org/rss/1.0/"
         xmlns:eg="http://examplotron.org/0/"
         xmlns:xlink="http://www.w3.org/1999/xlink"
        eg:placeHolder="true">
  <eg:import xlink:href="rss10.xml"/>
  <channel eg:placeHolder="true">
    <dc:publisher eg:occurs="*">The O'Reilly Network</dc:publisher>
    <dc:creator eg:occurs="*">Rael Dornfest
(mailto:rael@o...)</dc:creator>
    <dc:rights eg:occurs="*">Copyright © 2000 O'Reilly &amp; Associates,
Inc.</dc:rights>
    <dc:date eg:occurs="*">2000-01-01T12:00+00:00</dc:date>
    <dc:subject eg:occurs="*">XML</dc:subject>
    <dc:title eg:occurs="*">Your title here</dc:title>
    <dc:description eg:occurs="*">Description</dc:description>
    <dc:contributor eg:occurs="*">Contributor</dc:contributor>
    <dc:type eg:occurs="*">Type</dc:type>
    <dc:format eg:occurs="*">Format</dc:format>
    <dc:identifier eg:occurs="*">Identifier</dc:identifier>
    <dc:source eg:occurs="*">Source</dc:source>
    <dc:language eg:occurs="*">Language</dc:language>
    <dc:relation eg:occurs="*">Relation</dc:relation>
    <dc:coverage eg:occurs="*">Coverage</dc:coverage>
  </channel>
  <image eg:placeHolder="true">
    <dc:publisher eg:occurs="*">Publisher</dc:publisher>
    <dc:creator eg:occurs="*">Author</dc:creator>
    <dc:rights eg:occurs="*">Rights</dc:rights>
    <dc:date eg:occurs="*">date</dc:date>
    <dc:subject eg:occurs="*">subject</dc:subject>
    <dc:title eg:occurs="*">Your title here</dc:title>
    <dc:description eg:occurs="*">Description</dc:description>
    <dc:contributor eg:occurs="*">Contributor</dc:contributor>
    <dc:type eg:occurs="*">Type</dc:type>
    <dc:format eg:occurs="*">Format</dc:format>
    <dc:identifier eg:occurs="*">Identifier</dc:identifier>
    <dc:source eg:occurs="*">Source</dc:source>
    <dc:language eg:occurs="*">Language</dc:language>
    <dc:relation eg:occurs="*">Relation</dc:relation>
    <dc:coverage eg:occurs="*">Coverage</dc:coverage>
  </image>
  <item eg:placeHolder="true">
    <dc:description eg:occurs="*">
                 XML is placing increasingly heavy loads on the existing
technical
                 infrastructure of the Internet.
               </dc:description>
    <dc:publisher eg:occurs="*">The O'Reilly Network</dc:publisher>
    <dc:creator eg:occurs="*">Simon St.Laurent
(mailto:simonstl@s...)</dc:creator>
    <dc:rights eg:occurs="*">Copyright © 2000 O'Reilly &amp; Associates,
Inc.</dc:rights>
    <dc:date eg:occurs="*">2000-01-01T12:00+00:00</dc:date>
    <dc:subject eg:occurs="*">XML</dc:subject>
    <dc:title eg:occurs="*">Your title here</dc:title>
    <dc:contributor eg:occurs="*">Contributor</dc:contributor>
    <dc:type eg:occurs="*">Type</dc:type>
    <dc:format eg:occurs="*">Format</dc:format>
    <dc:identifier eg:occurs="*">Identifier</dc:identifier>
    <dc:source eg:occurs="*">Source</dc:source>
    <dc:language eg:occurs="*">Language</dc:language>
    <dc:relation eg:occurs="*">Relation</dc:relation>
    <dc:coverage eg:occurs="*">Coverage</dc:coverage>
  </item>
  <textinput eg:placeHolder="true">
    <dc:publisher eg:occurs="*">Publisher</dc:publisher>
    <dc:creator eg:occurs="*">Author</dc:creator>
    <dc:rights eg:occurs="*">Rights</dc:rights>
    <dc:date eg:occurs="*">date</dc:date>
    <dc:subject eg:occurs="*">subject</dc:subject>
    <dc:title eg:occurs="*">Your title here</dc:title>
    <dc:description eg:occurs="*">Description</dc:description>
    <dc:contributor eg:occurs="*">Contributor</dc:contributor>
    <dc:type eg:occurs="*">Type</dc:type>
    <dc:format eg:occurs="*">Format</dc:format>
    <dc:identifier eg:occurs="*">Identifier</dc:identifier>
    <dc:source eg:occurs="*">Source</dc:source>
    <dc:language eg:occurs="*">Language</dc:language>
    <dc:relation eg:occurs="*">Relation</dc:relation>
    <dc:coverage eg:occurs="*">Coverage</dc:coverage>
  </textinput>
</rdf:RDF>

Thanks for your feedback!

Eric

[1] http://examplotron.org/
[2] http://examplotron.org/0/3/
[3] http://purl.org/rss/1.0/
[4]
http://groups.yahoo.com/group/rss-dev/files/Modules/Standard/mod_dc.html
-- 
Rendez-vous à Paris pour net2001.
                         http://www.mynet2001.net/pgmonline2001/it2.html
------------------------------------------------------------------------
Eric van der Vlist       Dyomedea                    http://dyomedea.com
http://xmlfr.org         http://4xt.org              http://ducotede.com
------------------------------------------------------------------------

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.