Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Perl > Perl Misc > XML::LibXSLT element tags stripped out

Reply
Thread Tools

XML::LibXSLT element tags stripped out

 
 
Abro Gaticus
Guest
Posts: n/a
 
      03-22-2005
Being extremely new to XML::LibXSLT and XML/XSL in general I have what
I am assuming is a very newb question.

I found an old post (dated 2001) that showed where to find ppm packages
for libXSLT since I am trying this out using activestate on XP.

C:\> ppm
ppm> set repository RK http://theoryx5.uwinnipeg.ca/p*pmpackages/
ppm> set save
ppm> install XML::LibXML
ppm> install XML::LibXSLT

following these explicit instructions (much appreciated) I was able to
install the packages and begin scripting. The ppm packages are great
as they even download the dll's that XML::LibXSLT depends on.

I created a simple XML file, a simple XSL file, and a simple perl
script that uses XML::LibXSLT to perform the transformation.
Everything seems to work correctly except that in the result document
none of the element tags are output, only their values. <xlsutput
method="xml"/> is ignored. I find this strange as I have read
documentation that 'xml' should be the default output method anyway.

Perhaps someone can suggest what I am doing incorrectly. Code below:
Thanks in advance.

--------------------------------
test.xml:
<?xml version="1.0" ?>

<entry>
<major>
pain in the grass
</major>
<stats>
<a> 11 </a>
<b> 21 </b>
<c> 31 </c>
<d> 41 </d>
<e> 51 </e>
</stats>
</entry>

-------------------------------
template.xsl
<xsl:stylesheet xmlnssl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xslutput method="xml"/>

<!-- first attempt -->
<xsl:template match="stats">
<xsl:text> Stats: </xsl:text>
<xsl:apply-templates/>
</xsl:template>

</xsl:stylesheet>

---------------------------------
result.xml
<?xml version="1.0"?>


pain in the grass

Stats:
11
21
31
41
51

---------------------------
xslTest.pl
use strict;
use XML::LibXSLT;
use XML::LibXML;

my $parser = XML::LibXML->new();
my $xslt = XML::LibXSLT->new();

my $source = $parser->parse_file('test.xml');
my $style_doc = $parser->parse_file('template.xsl');

my $stylesheet = $xslt->parse_stylesheet($style_doc);

my $results = $stylesheet->transform($source);

$stylesheet->output_file($results,'result.xml');

 
Reply With Quote
 
 
 
 
Brian McCauley
Guest
Posts: n/a
 
      03-23-2005


Abro Gaticus wrote:

> Being extremely new to XML::LibXSLT and XML/XSL in general I have what
> I am assuming is a very newb question.


It is, and not a Perl one - it is a pure XSL one.

> I created a simple XML file, a simple XSL file, and a simple perl
> script that uses XML::LibXSLT to perform the transformation.
> Everything seems to work correctly except that in the result document
> none of the element tags are output, only their values.


This is the effect of the default XSL trasformation.

> <xlsutput
> method="xml"/> is ignored. I find this strange as I have read
> documentation that 'xml' should be the default output method anyway.


AFAIK, it is.

> Perhaps someone can suggest what I am doing incorrectly.


You are wrongly assuming that the default XSL transformation is the
identity transformation.

Read about the default XSL tranformation here:

http://www.w3.org/TR/xslt#built-in-rule

If you want to copy elements you need to add an explicit template to do so.

http://www.w3.org/TR/xslt#copying

 
Reply With Quote
 
 
 
 
Abro Gaticus
Guest
Posts: n/a
 
      03-23-2005
Thank you very much kind sir! Spot on!

-Abro

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
X-MicrosoftAjax header being stripped out by firewalls Chris Chamberlain ASP .Net Web Controls 3 11-08-2007 08:23 AM
Form tags stripped out in FF with innerHTML geed_dd Javascript 2 06-08-2006 05:00 PM
Listar command results: -- Binary/unsupported file stripped byListar -- Listar Python 0 06-11-2004 07:39 AM
stripped tripod mount, trapped Fuji 3800 dax Digital Photography 0 05-12-2004 02:31 AM



Advertisments