Proposal: [WWW] Seperate site and document

Hi everyone!

In a discussion on a German board (about the future of XHTML), an user asked
for the seperation between navigation and the proper document.
The others told him that there's always been a possibilty for this:
Framesets. Well, as you should know, frames have a lot of problems, that
make them inadequate.

I had another idea: Why not embed the XHTML in a "Site Description Language"
document? So I wrote the following piece of code:

<?xml version="1.0" ?>
<?xml-stylesheet type="text/css" href=http://example.org/mysite/style.css ?>
<sdl xmlns="http://example.org/SDL"
xmlns:h = "http://www.w3.org/1999/xhtml"
xmlns:f = "http://www.w3.org/2002/xforms"
xmlns:l = "http://www.w3.org/1999/xlink">
<site>
 <title>John Doe Ltd.</title>
 <subtitle>Since 1950</subtitle>
 <toc>
  <tocnode
    l:href="http://example.org/mysite/index.sdl"
    title="Home">
   <tocnode
    l:href="http://example.org/mysite/services.sdl"
    title="Our services">
   <tocnode
    l:href="http://example.org/mysite/service1.sdl"
    title="Furniture" />
    <tocnode
    l:href="http://example.org/mysite/service2.sdl"
    title="Kitchen equipment" />
   </tocnode>
  </tocnode>
 </toc>
  <searchform>
   <f:model>
     <f:submission
       action="http://example.org/mysite/search.sdl"
       method="post" id="s" />
    </f:model>
    <f:input ref="searchterm"><f:label>Search site</f:label></f:input>
    <f:submit submission="s"><f:label>OK</f:label></f:submit>
  </searchform>
</site>
 <document>
   <h:html>
    <h:head>
     <h:title>Home</h:title>
    </h:head>
    <h:body>
     <h:h1>Welcome</h:h1>
     <h:p>John Doe Ltd. is a company...</h:p>
    </h:body>
   </h:html>
 </document>
</sdl>

The benefit:
Document and site are seperated. The site properties are
semantically marked up.

But there are some disadvantages:
The user complained that there's still traffic caused by the navigation. He
wanted it to be seperated physically, so that the UA may cache it. Also
older UAs that don't interprete this new language could not access the whole
site.

The user was right. After a bit of thinking I had another idea: templating.

How does this work?
Our new SDL language can be used to create templates. This is an example:

<?xml version="1.0" ?>
<?xml-stylesheet type="text/css"
href=http://example.org/mysite/sdl-style.css" ?>
<?sdl-templating is-template="true" ?>

<?xml-stylesheet type="text/css" href=http://example.org/mysite/style.css ?>
<sdl xmlns="http://example.org/SDL"
xmlns:l = http://www.w3.org/1999/xlink"
xmlns:f = "http://www.w3.org/2002/xforms">
 <site>
  <title>John Doe Ltd.</title>
  <subtitle>Since 1950</subtitle>
  <!-- It's the same as above, the table of contents the searchform,
etc. -->
 </site>
 <document />
</sdl>

The difference: A processing instruction that indicates wheter this SDL
document is a template, and an empty document element. It will be replaced
by the parser.

So what happens now when we request the index.xhtml?
The server responds with an ordinary XHTML document (without navigation) and
adds the following HTTP header:

X-SDL-Template-Location: http://example.org/mysite/template.sdl

The browser requests the template and inserts the proper document
(index.xhtml) into the document element. (Of course only if it's XML. If
not,
the parser may add a sample XHTML document with object element or so).

Benefits:
 - Compatible with older browser
 - Navigation can be cached
 - Template may be different (context sensitive)

Disadvantage: Older browser receive a document without navigation...

What do you think about this? This would change the way of organizing
webpages.
Navigations can be replaced very easy, and the document is independent from
the site.

I look forward to your comments

Regards
Luca Del Re

PS: I know this would fit better to WWW Distributed Indexing and Searching
information, but the www-disw mailing list seems to be abandoned and is full
of spam, so I hope you apologize that I posted this here :)

Received on Sunday, 20 January 2008 04:02:38 UTC