您的位置:首页 > 编程语言 > PHP开发

php5 xml学习2之xslt

2007-03-22 17:24 330 查看
看了下,php5的XSLT十分简单,举例子说明之.

首先是XML

<?xmlversion='1.0'?>
<contacts>
<contactidx="37">
<name>RamseyWhiteII</name>
<category>Family</category>
<phonetype="home">301-555-1212</phone>
<metaid="x634724"/>
</contact>
<contactidx="42">
<name>StratisKakadelis</name>
<category>Friends</category>
<phonetype="home">240-555-1212</phone>
<phonetype="work">410-555-7676</phone>
<email>skak@example.com</email>
<metaid="y49302"/>
</contact>
<contactidx="57">
<name>KellyWilliamson</name>
<category>Friends</category>
<phonetype="cell">443-555-9999</phone>
<email>kwill@example.com</email>
<email>dynky@tech.example.com</email>
<metaid="w4r302"/>
</contact>
</contacts>


之后是XSLT

[code]<xsl:stylesheetversion="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:outputmethod="html"/>
<xsl:templatematch="contacts">
<html><head><title>Contacts!</title></head><body>
<divstyle="border:2pxsolidblue;padding:5px;">
<h1>Contacts:</h1>
<xsl:apply-templates/>
</div></body></html>
</xsl:template>
<xsl:templatematch="contact">
<divstyle="border:1pxsolidblack;margin:20px;padding:5px;">
<h2><xsl:value-ofselect="name"/></h2>
<p>
HomePhone:<xsl:value-ofselect="phone[@type='home']"/><br/>
WorkPhone:<xsl:value-ofselect="phone[@type='work']"/><br/>
CellPhone:<xsl:value-ofselect="phone[@type='cell']"/><br/>
</p>
</div>
</xsl:template>
</xsl:stylesheet>
最后是调用的php,这里用的是dom

<?php
//UsingtheDOMextension,loadtheXMLfileintomemory:
$dom=newDOMDocument();
$dom->load('contacts.xml');
//NowalsoloadtheXSLfileaswell:
$xsl=newDOMDocument();
$xsl->load('contacts.xsl');
//CreateanewXSLTProcessor
$proc=newXSLTProcessor;
//ImporttheXSLstylesintothisprocessor
$proc->importStyleSheet($xsl);
//NowtransformtheXMLfileandechoittothescreen!
echo$proc->transformToXML($dom);
?>



[/code]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: