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

Re: XSL-List Digest V4 #273

Subject: Re: XSL-List Digest V4 #273
From: David Chryst <dchryst@xxxxxxxxx>
Date: Wed, 17 Apr 2002 10:37:54 -0700 (PDT)
type 273
Jacob,
first, your input XML needs to be well-formed, that is
all attribute values must be contained in single- or
double-quotes, you must have exactly 1 root element
(named any name) and every element must be closed.

Second, suppose your input now looks like this:
<root>
<INPUT TYPE="text" name="q" size="12" maxlength="255"
value=""/> 
<INPUT type="submit" name="btnG" VALUE=" Google "/>
<input size="30" name="p"/>
<input type="submit" value="Search"/>
</root>

you can in 1 template use an xsl:choose element to
handle an input element with a type=submit differently
than other types of input elements.
try this XSL:
<?xml version="1.0"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
	<xsl:output method="html" />

<xsl:template match="INPUT">
  <xsl:call-template name="ProcessInputElement"/>
</xsl:template>
<xsl:template match="input">
  <xsl:call-template name="ProcessInputElement"/>
</xsl:template>

<xsl:template name="ProcessInputElement">
  <xsl:variable name="MyType" select="concat(@TYPE,
@type)"/>
  <xsl:choose>
    <xsl:when test="translate($MyType,
'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
'ABCDEFGHIJKLMNOPQRSTUVWXYZ') = 'submit'">
      <xsl:variable name="MyLabel"
select="concat(@VALUE, @value)"/>
	  <do type="accept" label="{$MyLabel}"/>
    </xsl:when>
    <xsl:otherwise>
      <xsl:variable name="MyName"
select="concat(@NAME, @name)"/>
      <xsl:variable name="MySize"
select="concat(@SIZE, @size)"/>
      <xsl:variable name="MyMaxlength"
select="concat(@MAXLENGTH, @maxlength)"/>
	  <input name="{$MyName}" size="{$MySize}"
maxlength="{$MyMaxlength}"/>
    </xsl:otherwise>
  </xsl:choose>
</xsl:template>

</xsl:stylesheet>


> I want to write a generic conversion that will
> convert:
> 
> <FORM method=GET
> action="http://www.google.com/search">
> <INPUT TYPE=text name=q size=12 maxlength=255
> value=""> 
> <INPUT type=submit name=btnG VALUE=" Google ">
> </FORM>
>  
> to:
> 
> <input name="q" size="12" maxlength="255">
> <do type="accept" label="Google"> 
> 
> 
> And also convert:
> 
> <input size=30 name=p>
> <input type=submit value=Search>
> 
> to:
> <input name="p" size="30">
> <do type="accept" label="Search">
> 
> 
> Is this possible to do with one template??  I just
> don't seem to know
> how to approach this.  Can anybody help?
> 
> Jacob Glenn
> 
> 
> 
>  XSL-List info and archive: 
> http://www.mulberrytech.com/xsl/xsl-list
> 
> ------------------------------
> 
> Date: Tue, 16 Apr 2002 09:41:13 +0300 (EEST)
> From: Jarkko.Moilanen@xxxxxx
> Subject: RE:  count element content length
> 
> Lainaus Jarno.Elovirta@xxxxxxxxx:
> 
> > Heppa,
> > 
> > > Is there some method to count the elements
> content length and when 
> > > for example the 20th character is met, then it
> would stop showing 
> > > the rest and put ... after that. Because of my
> lowsy english, here
> > > is one example:
> > > 
> > > elements content:
> > > <Subject id="0000000002">Chattaamaan city
> chattiin ke klo 12</Subject>
> > > 
> > > the result should be:
> > > <p>Chattaamaan city cha...</p>
> > 
> > <xsl:template match="Subject">
> >   <p>
> >     <xsl:value-of select="concat(substring(., 1,
> 20),'...')" />
> >   </p>
> > </xsl:template>
> > 
> > But you might want to consider breaking the string
> at word boundary
> 
> You are right, but I am not at that level yet =)
> But hey! If I do like Santtu suggested, the result
> is a bit wrong since
> it adds "..." also to elements that are shorter than
> 20 characters. What to do?
> 
> Cheers Jarkko
> 
> > 
> > Cheers,
> > 
> > Santtu
> > 
> >  XSL-List info and archive: 
> http://www.mulberrytech.com/xsl/xsl-list
> > 
> > 
> 
> 
> 
>
*******************************************************************
> Jarkko Moilanen         *You are wise, witty, and
> wonderful,      *
> Researcher/ ITCM        *but you spend too much time
>              *
> jarkko.moilanen@xxxxxx  *reading this sort of trash.
>              *
> www.uta.fi/~jm60697     *                           
>              *
> GSM: +358 50 3766 927   *                           
>              *
>
*******************************************************************
> * ITCM Information Technology and Crisis Management 
>              *
>
*******************************************************************
> 
>  XSL-List info and archive: 
> http://www.mulberrytech.com/xsl/xsl-list
> 
> ------------------------------
> 
> Date: Tue, 16 Apr 2002 15:01:32 +0800
> From: tanska@xxxxxxxxxxxxxxx
> Subject:  XML file not able to view on certain
> machines
> 
> Able to view the same XML with the XSL on certain
> machines with Internet
> Explorer 6, but not able to view the XML with the
> XSL format on certain
> machines.
> 
> 
> 
> 
> 
> [This e-mail is confidential and may also be
> privileged. If you are not the
> intended recipient, please delete it and notify us
> immediately; you should
> not copy or use it for any purpose, nor disclose its
> contents to any other
> person. Thank you.]
> 
> 
>  XSL-List info and archive: 
> http://www.mulberrytech.com/xsl/xsl-list
> 
> ------------------------------
> 
> Date: Tue, 16 Apr 2002 10:49:53 +0300
> From: Jarno.Elovirta@xxxxxxxxx
> Subject: RE:  count element content length
> 
> Heppa,
> 
> 
=== message truncated ===


__________________________________________________
Do You Yahoo!?
Yahoo! Tax Center - online filing with TurboTax
http://taxes.yahoo.com/

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


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.