<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="text"/> <xsl:template match="/"> <xsl:apply-templates select="child::names"/> </xsl:template> <xsl:template match="child::names"> <xsl:apply-templates select="child::name[4]/attribute::title"/> </xsl:template> <xsl:template match="child::name[4]/attribute::title"> <xsl:text>The XML 1.0 WG's </xsl:text> <xsl:value-of select="self::node( )"/> <xsl:text> was </xsl:text> <xsl:value-of select="parent::name/child::given"/> <xsl:text> </xsl:text> <xsl:value-of select="parent::name/child::family"/> <xsl:text>.</xsl:text> </xsl:template> </xsl:stylesheet>
Dokument XML:
<names> <name> <family>Angerstein</family> <given>Paula</given> </name> <name title="chair"> <family>Bosak</family> <given>Jon</given> </name> <name title="editor"> <family>Bray</family> <given>Tim</given> </name> <name title="technical lead"> <family>Clark</family> <given>James</given> </name> <name> <family>Connolly</family> <given>Dan</given> </name> <name> <family>DeRose</family> <given>Steve</given> </name> <name> <family>Hollander</family> <given>Dave</given> </name> <name> <family>Kimber</family> <given>Eliot</given> </name> <name> <family>Magliery</family> <given>Tom</given> </name> <name> <family>Maler</family> <given>Eve</given> </name> <name> <family>Maloney</family> <given>Murray</given> </name> <name> <family>Murata</family> <given>Makoto</given> </name> <name> <family>Nava</family> <given>Joel</given> </name> <name> <family>O'Connell</family> <given>Conleth</given> </name> <name title="editor"> <family>Paoli</family> <given>Jean</given> </name> <name> <family>Sharpe</family> <given>Peter</given> </name> <name title="editor"> <family>Sperberg-McQueen</family> <given>C. M.</given> </name> <name> <family>Tigue</family> <given>John</given> </name> </names>
Kod PHP
<?php $xml = new DOMDocument(); $xml->load("doc.xml"); $xslt = new XSLTProcessor(); $xsl = new DOMDocument(); $xsl->load("style.xsl"); $xslt->importStylesheet( $xsl ); ?>
No i wynik powinien wyglądać następująco:
The XML 1.0 WG's technical lead was James Clark.
A tak nie jest :/
A w przeglądarce działa to normalnie, może mi to ktoś wyjaśnić, może coś źle robię?