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

Request for Help

Subject: Request for Help
From: "B. Tommie Usdin" <btusdin@xxxxxxxxxxxxxxxx>
Date: Mon, 29 Jan 2001 11:17:32 -0500
doctype root
From: fernando@xxxxxxxxx
Received: (cpmta 9211 invoked from network); 29 Jan 2001 07:35:29 -0800
Date: 29 Jan 2001 07:35:29 -0800
Message-ID: <20010129153529.9210.cpmta@xxxxxxxxxxxxxxx>
X-Sent: 29 Jan 2001 15:35:29 GMT
Received: from [62.175.116.126] by mail.lopez.org with HTTP;
    29 Jan 2001 07:35:29 PST
Content-Type: text/plain
Content-Disposition: inline
Mime-Version: 1.0
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
X-Mailer: Web Mail 3.7.1.7
Subject: Help, Please

Hi,

I am newbie in xsl. I hava a problem I really need your help. I use this XSL style sheet to transform one XML file as follows:

<?xml version='1.0' encoding='ISO-8859-1'?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version = "1.0">
<xsl:output method="xml" encoding="ISO-8859-1" indent="yes" omit-xml-declaration="no"/>


  <xsl:template match="*">
    <xsl:copy>
      <xsl:copy-of select = "@*"/>
      <xsl:attribute
 	       name="id"><xsl:call-template name="object.id"/></xsl:attribute>
      <xsl:choose>
        <xsl:when test="child::*">
          <xsl:apply-templates/>
        </xsl:when>
        <xsl:otherwise>
          <xsl:value-of select="." disable-output-escaping="yes"/>
        </xsl:otherwise>
      </xsl:choose>
    </xsl:copy>
  </xsl:template>

<!-- ====================================================================== -->

<xsl:template name="object.id">
<xsl:param name="object" select="."/>
<xsl:choose>
<xsl:when test="$object/@id">
<xsl:value-of select="$object/@id" disable-output-escaping="yes"/>
</xsl:when>
<xsl:otherwise>
<xsl:for-each select="ancestor-or-self::*">
<xsl:value-of select="concat(generate-id(.),'Ps',position())" disable-output-escaping="yes"/>
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
</xsl:template>


</xsl:stylesheet>

It works ok for me except that I need to keep all the data unchanged, for example:

<?xml version='1.0' encoding='ISO-8859-1'?>
<!DOCTYPE root [
<!ENTITY amp	"&#38;#38;"> <!-- AMPERSAND -->
]>
<root>
 <data>Hello world</data>
</root>

generate:

<?xml version='1.0' encoding='ISO-8859-1'?>
<!DOCTYPE root >
<root id="1">
 <data id="2">Hello world</data>
</root>

But:

<?xml version='1.0' encoding='ISO-8859-1'?>
<!DOCTYPE root [
<!ENTITY amp	"&#38;#38;"> <!-- AMPERSAND -->
]>
<root>
 <data>Stand &amp; Hardy</data>
</root>

generate:

<?xml version='1.0' encoding='ISO-8859-1'?>
<!DOCTYPE root >
<root id="1">
 <data id="2">Stand & Hardy</data>
</root>

This cause that the next transformation based on this XML results fails. Because the ampersand entity has been translated.

Thanks in advance,
Fernando LÛpez Carballeda


PS.- Do not hesitate to correct me.

-- ====================================================================== B. Tommie Usdin mailto:btusdin@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com 17 West Jefferson Street Phone: 301/315-9631 Suite 207 Direct Line: 301/315-9634 Rockville, MD 20850 Fax: 301/315-8285 ---------------------------------------------------------------------- Mulberry Technologies: A Consultancy Specializing in SGML and XML ======================================================================

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.