xsl-list
[Top] [All Lists]

RE: format <xsl:message> output

2004-12-01 07:02:23
Hello David,

I now removed all breaks by writing everything in one line but I still
have this funny line break left.

Call of template:
-----------------
<xsl:call-template name="LOG">
        <xsl:with-param name="type">ERROR</xsl:with-param>
        <xsl:with-param name="task">4</xsl:with-param>
        <xsl:with-param name="location"><xsl:value-of
select="substring-after(document-uri(/), substring-after($root-path,
'..'))"/></xsl:with-param>
        <xsl:with-param name="message">relation to <xsl:value-of
select="@url"/> is invalid! expected: <xsl:value-of
select="$expected-type"/> | found: <xsl:value-of
select="$external-type"/></xsl:with-param>
</xsl:call-template>

Template:
---------
<xsl:template name="LOG">
        <xsl:param name="task"/>                <!-- where did it happen
-->
        <xsl:param name="type"/>                <!-- how severe is event
-->
        <xsl:param name="message"/>             <!-- description -->
        <xsl:param name="location"/>    <!-- file involved -->

        <xsl:message terminate="no"> [<xsl:value-of
select="$type"/>|<xsl:value-of select="$task"/>|<xsl:value-of
select="$location"/>]:<xsl:value-of select="$message"/></xsl:message>
</xsl:template>

Output:
-------
 [ERROR|4|/contacts.xml]:relation to error/nummer1.xml

       is invalid! expected: address | found: number

R.


-----Original Message-----
From: David Carlisle [mailto:davidc(_at_)nag(_dot_)co(_dot_)uk] 
Sent: Mittwoch, 1. Dezember 2004 14:52
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] format <xsl:message> output



<xsl:message terminate="no">
  [<xsl:value-of select="$type"/> | <xsl:value-of select="$task"/> |
'<xsl:value-of select="$location"/>'] 
  <xsl:value-of select="$message"/>
</xsl:message>

That xsl:message includes three newline characters and lots of spaces
that will be copied to the message. The last newline after 
 <xsl:value-of select="$message"/>
will be skipped as it is in a white-space text node, but all the others
are in text nodes that contain printing characters such as ] so will not
be skipped. You want to keep the indentation to be in its own text nodes
so that it is all ignored:


<xsl:message terminate="no">
  <xsl:text>[</xsl:text>
  <xsl:value-of select="$type"/>
  <xsl:text> | </xsl:text>
  <xsl:value-of select="$task"/>
  <xsl:text> | '</xsl:text>
  <xsl:value-of select="$location"/>
  <xsl:text>']</xsl:text>
  <xsl:value-of select="$message"/>
</xsl:message>

Then at least XSLT will put the message out as a single line (I don't
know ant well enough to know if it will definitely not wrap it)

David

________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. For more information on a proactive anti-virus
service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________

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