style.xsl#!/usr/bin/perl -w use XML::LibXSLT; use XML::LibXML; my $s = " <files> <file> <name>file_test1</name> <subject>subject1</subject> <userprop> <nameprop>Color</nameprop> <valueprop>Blue</valueprop> </userprop> <userprop> <nameprop>Texture</nameprop> <valueprop>Coarse</valueprop> </userprop> </file> <file> <name>file_test2</name> <subject>subject2</subject> <userprop> <nameprop>Color</nameprop> <valueprop>Blue</valueprop> </userprop> </file> </files>"; print "Content-type: text/html\n\n"; my $parser = XML::LibXML->new(); my $xslt = XML::LibXSLT->new(); my $source = $parser->parse_string($s); my $style_doc = $parser->parse_file('style.xsl'); my $stylesheet = $xslt->parse_stylesheet($style_doc); my $results = $stylesheet->transform($source); print $stylesheet->output_string($results);
I am able to run the above fine. But what if I want to output all the "textures only" for each file, is there a neat way of doing it ?<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="html"/> <xsl:template match="file"> <br/><b>name</b>: <xsl:apply-templates select="name"/> <br/><b>subject</b>: <xsl:apply-templates select="summary/sub +ject"/> <xsl:text> </xsl:text> </xsl:template> </xsl:stylesheet>
In reply to Simple LibXSLT matching by Justudo
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |