> the Aspect chain accumulates a big pot of potentially useful 
> data related to the user's request, and the Theme selects 
> and arranges them as required to make them presentable.

> we need some way to represent logical structure of the data 
> before they are selected and laid out. 

I think we fully agree, Mark, that conceptually this is how Manakin *should* 
work.  And yet, I don't believe this is how Manakin actually does work.

Themes don't select, arrange, or layout the data on the page.  Rather, 
dri2xhtml/structural.xsl simply iterates over the DRI XML, converting 
individual DRI elements into its individual HTML counterpart.

The actual order of the data, and thus the essential arrangement and layout of 
the page, is controlled by the Aspects, not the Theme.  Just a quick glance at 
the <body> section of any DRI XML response shows quite plainly that the 
structure of the page is set-out here in the XML, not in the XSLT.

The exception to that rule is the collections/community/item metadata.  If all 
of Manakin was set-up like those templates are set-up, Manakin would be much, 
much easier to use.


> That's what I thought DRI was designed to be.  If it isn't 
> being used that way, I think we should fix *that*.

To fix the problem -- i.e., to allow Themes to actually select, arrange, and 
layout the data on the page -- I see no other course of action but to rewrite 
the XSLT.

To be able to control the layout, you've got to actually allow the XSLT to lay 
it out.  Create page-based templates wherein someone can put down the HTML for 
the page, and thus decide the order and arrangement of the data. 

The thing is, once you do that, you'll quickly see that virtually all of the 
DRI can be ignored -- in fact it *has* to be ignored to allow the XSLT to 
decide the arrangement of the data.    

At that point, we no longer need an XML schema that defines layers, paragraphs, 
headings, unordered lists, and so on -- or, rather, pseudo-layers, 
pseudo-paragraphs, pseudo-headings, etc.  

We just need, as you said previously, a way to have structured, labeled data.  
We can do that very easily without the overhead, complexity, and ultimately the 
confusion that DRI brings with it.

--Dave

==================
David Walker
Library Web Services Manager
California State University
http://xerxes.calstate.edu
________________________________________
From: Mark H. Wood [mw...@iupui.edu]
Sent: Monday, October 11, 2010 8:15 AM
To: dspace-tech@lists.sourceforge.net
Subject: Re: [Dspace-tech] manikin question

On Fri, Oct 08, 2010 at 11:04:51AM -0700, Walker, David wrote:
[quoting Mark Diggory, I believe]
> > So, to be clear, the ability to construct nested divisions,
> > lists, options, meta sections is quite powerful for getting
> > the structure of the content pushed into the presentation layer.
>
> I appreciate your opinion here, Mark.  And, yet, I think this illustrates 
> precisely why DRI is problematic.
>
> How the content is structured on the page *is* presentation.  Conceptually, 
> you cannot "push" that to the "presentation layer."  Any code (regardless of 
> where it lives) that defines the structure of the page *is* the presentation 
> layer (or at least part of it).

Data structure != page structure.  We need to keep the namespaces in
mind.  A dri:div is not the same kind of thing as an xhtml:div.  One
*can* use them in such a way that you eventually transform one into
the other, but then again one might have some completely different use
for a container of unordered data, just as one might use a dri:list to
express something which would never be noticed as an ordered
collection in the XHTML -- it might disappear completely.  For that
matter, it might be consumed by a subsequent Aspect and never reach
the Theme engine.  Data are structured to make them readily
comprehensible by later stages.  A Theme isn't required to treat that
structure as prescriptive of the structure of its output.

Come to think of it, an Aspect *can't* reliably coerce the final page
structure, at least not in some ways you might want to try.  An Aspect
has no way of knowing its position in the chain, or what other Aspects
are included before it, so it can't slot its work into the "right
place on the page"; if it has something to add, it may as well stick
it on the end and assume that some Theme will put it where that Theme
wants it.  The DRI document *has to* be an abstract representation of
the content, because only the last stage in the pipeline has the
certainty required to produce a concrete one.

It took me a while to work out what the parts were doing,
conceptually, but what finally made sense to me was that the Aspect
chain accumulates a big pot of potentially useful data related to the
user's request, and the Theme selects and arranges them as required to
make them presentable.  At least, that's the way I've tried to use the
pipeline, and it seems to work.

Regardless of how the physical structuring of the final page is done,
we need some way to represent logical structure of the data before
they are selected and laid out.  That's what I thought DRI was
designed to be.  If it isn't being used that way, I think we should
fix *that*.

--
Mark H. Wood, Lead System Programmer   mw...@iupui.edu
Balance your desire for bells and whistles with the reality that only a
little more than 2 percent of world population has broadband.
        -- Ledford and Tyler, _Google Analytics 2.0_
------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech

Reply via email to