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

Re: Dynamic image and text alignment

Subject: Re: Dynamic image and text alignment
From: "M. David Peterson" <m.david.x2x2x@xxxxxxxxx>
Date: Mon, 3 Jan 2005 15:35:20 -0700
div style align
xml-input of:

<?xml version="1.0"?>
<form-data>
  <form>
    <field id="foo" value="This is a string of text aligned on the
right" align="right" image="foo.gif" image-width="100px" 
image-height="100px" />
    <field id="bar" value="This is a string of text aligned on the
left" align="left" image="bar.gif" image-width="100px"
image-height="100px" />
  </form>
</form-data>

xsl-stylesheet 0f:

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
  <xsl:apply-templates select="form-data/form"/>
</xsl:template>
<xsl:template match="form">
  <div>
    <xsl:apply-templates select="field"/>
  </div>
</xsl:template>
<xsl:template match="field">
<xsl:variable name="opposite-float">
<xsl:choose>
  <xsl:when test="@align = 'left'">
    <xsl:text>right</xsl:text>
  </xsl:when>
  <xsl:otherwise>
    <xsl:text>left</xsl:text>
  </xsl:otherwise>
</xsl:choose>
</xsl:variable>
  <div style="clear:both">
    <div style="float:{$opposite-float}">
      <img src="{@image}" style="width:{@image-width};
height:{@image-height}" />
    </div>
    <div style="float:{@align}">
      <xsl:value-of select="@value"/>
    </div>
  </div>
</xsl:template>
</xsl:stylesheet>


gives the output of:

<div>
  <div style="clear:both">
    <div style="float:left">
      <img style="width:100px; height:100px" src="foo.gif"/>
    </div>
    <div style="float:right">This is a string of text aligned on the right</div>
  </div>
  <div style="clear:both">
    <div style="float:right">
      <img style="width:100px; height:100px" src="bar.gif"/>
    </div>
    <div style="float:left">This is a string of text aligned on the left</div>
  </div>
</div>

This should get you started in the right direction.

Cheers!

<M:D/>


On Mon, 3 Jan 2005 13:53:15 -0800, Tiffany Blake <Tiffany_Blake@xxxxxxx> wrote:
> i am trying to control the image and text alignment in my presentation dynamically based on the user choice input.  the trick is to allow multiple variations of image/text presentation on one page.
> 
> Page example:
> 
> paragraph 1 (user choice creates flag = left-right <xsl:if test="body_image_placement='left-right'">)
> 
>         image flush left
>         text right aligned to image
> 
> paragraph 2 (user choice creates flag = top-bottom <xsl:if test="body_image_placement='top-bottom'">)
> 
>         image above text
>         text below image
> 
> paragraph 3 (user choice creates flag = top-bottom <xsl:if test="body_image_placement='top-bottom'">)
> 
>         no image
>         text flush left
> 
> Rendered page:
> 
> paragraph 1             X       this is the text that appears
>                                 right aligned to image
> 
> paragraph 2             X
> 
>                         this is the text that appears below the
>                         image
> 
> paragraph 3             this is the text that apppears with no image
> 
> any suggestions?
> tiffany_blake@xxxxxxx
> 
> -----Original Message-----
> From: Michael Kay [mailto:mike@xxxxxxxxxxxx]
> Sent: Monday, January 03, 2005 1:07 PM
> To: 'Dimtre Novatchev'
> Cc: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: RE:  Computational complexity of accessing the Nth item in
> a sequence and in a node-set
> 
> > So, if I have understood correctly, having
> >
> >    $sequence[last()]
> >
> > (and somehow more than one reference to $sequence)
> > will guarantee that any further access to the items of $sequence will
> > be performed in constant time?
> 
> No guarantees: but yes, that's what I would expect to happen.
> >
> > Cant this be pre-computed automatically by the XSLT processor?
> > Something like computing a function with @memo-function="yes", but
> > done by the XSLT processor?
> 
> I'm not clear what you mean.
> 
> Michael Kay
> http://www.saxonica.com/
> 
> 


-- 
<M:D/>

:: M. David Peterson ::
XML & XML Transformations, C#, .NET, and Functional Languages Specialist

Current Thread

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
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.