xsl-list
[Top] [All Lists]

Re: Removing line-feeds on a imported tree via document

2005-01-26 07:50:15
Hi Michael:

That was the second try i've done, but it did not work because, as far
as i can tell, the MenuData nodes i want to normalize-space to are
being "imported" by using

<xsl:variable name="xmldoc" select="document($xmluri)"/>

so they aren't in the original tree and it seems that the
<xsl:template match="MenuData"> doesn't match then.

Or should they being matched?


On Tue, 25 Jan 2005 23:22:49 -0000, Michael Kay <mike(_at_)saxonica(_dot_)com> 
wrote:
The xsl:copy-of instruction is only useful where you want to do an exact
copy. The standard way to do a transformation where the output is nearly the
same as the input is to start with the identity template rule:

<xsl:template match="*">
  <xsl:copy>
  <xsl:copy-of select="*"/>
  <xsl:apply-templates/>
  </xsl:copy>
</xsl:template>

and then override it for elements that need to be modified:

<xsl:template match="MenuData">
  <xsl:copy>
  <xsl:value-of select="normalize-space(.)"/>
  </xsl:copy>
</xsl:template>

Michael Kay
http://www.saxonica.com/


-----Original Message-----
From: António Mota [mailto:amsmota(_at_)gmail(_dot_)com]
Sent: 25 January 2005 19:12
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Removing line-feeds on a imported tree via document

Here's another interesting one. In my XSLT i have at some point

<xsl:copy-of select="$xmldoc/Menus/Menu" />

working ok, EXCEPT sometimes i get things like

<Menu>
<Menu_K>X00066</Menu_K>
<Titulo>(Cada Utente)</Titulo>
<MenuData>SELECT Utente_K, NomeLogin
FROM Utente
WHERE UtenteTipo='U'</MenuData>
<MenuTipo>TXT</MenuTipo>
</Menu>

Notice the line breaks on MenuData, that is causing me problems later
on. So i want to get rid of then. I've tryed using

<xsl:copy-of select="normalize-space($xmldoc/Menus/Menu)" />

because i don't understand nothing of this, but soon realise the
error, so i went back and define a template

      <xsl:template match="MenuData">
              <xsl:copy><xsl:value-of
select="normalize-space(.)"/></xsl:copy>
      </xsl:template>

but did no good, cause it seems that only match the original MenuDatas
and not the imported ones.

Any sugestions? Thanks.

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



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