xsl-list
[Top] [All Lists]

Re: [xsl] A question of style

2010-07-27 15:01:00
Yes, this is it.

One minor (or very important ??) addition is that the
fill-in-the-blanks document is provided as a parameter:

  <xsl:param name="pLayout"/>

and the transformation is applied on

  document($pLayout)


As I have already said, this gives us complete separation of
processing and presentation. The stylesheet has absolutely no
knowledge what is the final output that will be produced, and this
will be different on different applications of the transformation.

On the other side, any modifications can be made to the stylesheet
without affecting at all any of the layouts.


-- 
Cheers,
Dimitre Novatchev
---------------------------------------
Truly great madness cannot be achieved without significant intelligence.
---------------------------------------
To invent, you need a good imagination and a pile of junk
-------------------------------------
Never fight an inanimate object
-------------------------------------
You've achieved success in your field when you don't know whether what
you're doing is work or play



On Tue, Jul 27, 2010 at 11:25 AM, Andrew Welch 
<andrew(_dot_)j(_dot_)welch(_at_)gmail(_dot_)com> wrote:
I'll have a guess....

Instead of concat() or:

<xsl:text>This is a </xsl:text> <xsl:value-of select="$var1"/>
<xsl:text> example</xsl:text>

with <xsl:variable name="var" select="'fill in the blanks'"/>

you could do

<xsl:variable name="content">This is a <var1> example</xsl:variable>

with <xsl:apply-templates select="$content"/>

and <xsl:template match="var1">fill in the blanks</xsl:template>  (and
the identity template)

The latter being more flexible.

cheers
andrew


On 27 July 2010 19:12, Whitney, Dan (Canwest Digital Media)
<DWhitney(_at_)canwest(_dot_)com> wrote:

Dimitre,

I know you said that you'd post an example, so some very, very gently 
prodding, I too would be very interested in an example of what you mean by 
"fill-in-the-blanks".

Thanks,

Dan

-----Original Message-----
From: Dimitre Novatchev [mailto:dnovatchev(_at_)gmail(_dot_)com]
Sent: Thursday, July 08, 2010 12:37 AM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] A question of style

On Wed, Jul 7, 2010 at 7:39 PM, Lars Huttar <lars_huttar(_at_)sil(_dot_)org> 
wrote:
On 7/7/2010 5:54 PM, Dimitre Novatchev wrote:
I definitely prefer using the concat() function than a sequence of
alternating <xsl:text> and <xsl:value-of>.

concat() is more or less the equivalent of prinf() in C or
string.format() in C#. We don't have control characters like \n or \t,
but this can easily be circumvented by using either variables (in XSLT
1.0) or character-maps in XSLT 2.0.

=================

*Even better*, one can use a separate "fill-in the blanks" XML
document in which only specific elements need to be transformed into
result values.

This is a good technique which completely separates presentation from
processing and allows that different "layouts" be filled-in by
different transformations or the results of the same transformation be
presented in different layouts.

I believe this is probably one of the most important piece of
knowledge that I have shared with our fellows XSLT developers in the
course of many years.


Dmitri,
I could only partly understand what you're describing. Have you written
an article on it somewhere that you could link to? with examples?

Thanks,
Lars


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--




Lars,

I will find time during the next days to post a simple example.


--
Cheers,
Dimitre Novatchev
---------------------------------------
Truly great madness cannot be achieved without significant intelligence.
---------------------------------------
To invent, you need a good imagination and a pile of junk
-------------------------------------
Never fight an inanimate object
-------------------------------------
You've achieved success in your field when you don't know whether what
you're doing is work or play

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--





--
Andrew Welch
http://andrewjwelch.com
Kernow: http://kernowforsaxon.sf.net/

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>