首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 认证考试-> Macrmedia认证
如何用PHP把RDF内容插入Web站点之中(五)-PHP教程,PHP应用
作者:网友供稿 点击:23
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 
免费午餐(a free lunch)

上面我所写的那个类也是很基本的,是拿来说明问题的,或许也可以用于低访问量的站点。如果你想寻找一些更专业的东西,去网上吧,那里有许多的开放源码的rdf分析器,他们带有各种附加的功能(包括缓存)。 那么就让我们看一些如何运用这些分析器的例子吧。

第一个要讲的是由stefan saasen 为fase4网站开发的rdf分析器类,可以从http://www.fase4.com/rdf/上免费下载。这是一个功能非常齐全的rdf分析器,支持缓存和通过代理认证。下面是如何使用它的例子:

<html>
<head>
<style type="text/css">
body {font-family: verdana; font-size: 11px;}
.fase4_rdf {font-size: 13px; font-family: verdana} .fase4_rdf_title
{font-size: 13px; font-weight : bolder;}
</style>
</head>
<body>
<?
// include class
include("rdf.class.php");

// instantiate object
$rdf = new fase4_rdf;

// set number of items to display
$rdf->set_max_item(5);

// set rdf engine options
$rdf->use_dynamic_display(true);
$rdf->set_options( array("image"=>"hidden", "textinput"=>"hidden") );

// parse and display data
$rdf->parse_rdf("http://www.freshmeat.net/backend/fm-releases.rdf");
$rdf->finish();
?>
</body>

</html>

另一个要介绍的是由jason williams开发的php rdf分析器,可以在http://www.nerdzine.net/php_rdf/下载。这是一个未经任何任何渲染的php类,实现了一些基本的方法。但是它包含的大量的属性,可以让你用来安排经过处理的数据,直到你满意为止。

--------------------------------------------------------------------------------
<html>
<head>
<basefont face="verdana">
</head>
<body link="red" vlink="red" alink="red">
<?
include("rdf_class.php");

// this needs to be a local file
$f = new rdffile("./fm-releases.rdf");
$f->parse(true);
$f->returntable(true, "black", "white", "100%");
?>
</body>


</html>

关于这些类的文档在他们各自的网站上都有介绍。

增加一点样式(adding a little style)

万一你讨厌遍历那些php数组并把他们用html标记出来的方式,那么你也可以选择通过使用xslt样式单来格式化和显示这些数据。php4 .1可以通过新的xslt api来支持sablotron xslt处理器,新的api可以用来合并一个xslt样式单和一个xml文档(在这里,即rdf文件),从而非常容易的把xml标记转化为浏览器可读的html标记。

我不想在这上面讲的太细,你可以看一下php 手册,或者关注一下本文后面的链接以获得更加详细的信息。不过我还是会给出一个简单的例子来说明这个问题。首先,给出样式单文件:

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/xsl/transform"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rss="http://purl.org/rss/1.0/"
xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.0">

<!-- main page -->
<xsl:template match="/rdf:rdf">
<html>
<head>
<basefont face="arial" size="2"/>
</head>
<body>
<xsl:apply-templates select="rss:channel" />
<ul>
<xsl:apply-templates select="rss:item" />
</ul>
</body>
</html>
</xsl:template>

<!-- channel -->
<xsl:template match="rss:channel">
<b>
<a>
<xsl:attribute name="href"><xsl:value-of select="rss:link"
/></xsl:attribute>
<xsl:value-of select="rss:title" />
</a>
</b>
</xsl:template>

<!-- item -->
<xsl:template match="rss:item">
<li />
<a>
<xsl:attribute name="href"><xsl:value-of select="rss:link"
/></xsl:attribute>
<xsl:value-of select="rss:title" />
</a>
<br />
<xsl:value-of select="rss:description" />
</xsl:template>
</xsl:stylesheet>
下面是php脚本,用来把上面的样式单和讲的“鲜肉”rdf文档合并起来,生成一个html页面:

<?php
// xml file
// this needs to be a local file
$xml = "fm-releases.rdf";

// xslt file
$xslt = "fm.xsl";

// create a new xslt processor
$xp = xslt_create();

// transform the xml file as per the xslt stylesheet
// return the result to $result
$result = xslt_process($xp, $xml, $xslt);
if ($result)
{
// print it
echo $result;
}

// clean up
xslt_free($xp);
?>

我想这相当简单,无须再加说明。两个文档合并在一起,产生了下面的“合成物”:

这是把rdf数据转换成浏览器可读的html的另一种方法,或许简单一些(尽管并不是最理想的)。不过要注意一点,你需要运行一个外部程序来定期更新你的rdf文件的本地副本,原因在于php xslt处理器访问远端文件可能有困难。

家庭作业(homework)

如果你有兴趣对这些文中谈到的和没谈到的技术了解的更多,你可以考虑访问下面的链接:

rss 1.0 规范:http://www.purl.org/rss/1.0/
rss 发展史:http://backend.userland.com/stories/rss091

w3c 网站关于rdf的内容:http://www.w3.org/rdf/

php中关于sax和dom编程的讨论:http://www.devshed.com/server_side/xml/xmlwithphp

用php实现xslt转换的讨论:http://www.devshed.com/server_side/xml/xsltrans

关于php类的讨论:http://www.devshed.com/server_side/php/backtoclass

xml基础的讨论:http://www.devshed.com/server_side/xml/xmlbasic

xslt基础的讨论: http://www.devshed.com/server_side/xml/xslbasics

php手册中关于sax函数的内容: http://www.php.net/manual/en/ref.xml.php

php手册中关于xslt函数的内容:http://www.php.net/manual/en/ref.xslt.php

下次再见了……保重身体呀!

注意:本文中的所有例子都在linux/i386,apache1.3.12,,php4.1.1环境下通过检验。

这些例子仅用于说明问题,不是为了某一个产品。melonfire网站不对文中的源代码提供任何授权或支持。(本文版权为melonfire网站所有, 原文出处:http://www.devshed.com/server_side/php/phprdf/page1.html)


文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·C#中string与byte[]的转换帮助类-.NET教程,C#语言
·DataGrid与SQL Server 2000数据绑定-ASP教程,数据库相关
·asp服务器端的验证类-ASP教程,客户端相关
·如何以Char数组字符元素为标识,分割String字符并列示出来?-.NET教程,数据库应用
·ASP.NET GET 方式提交数据!-.NET教程,Asp.Net开发
·向记事本里写入数据、一个修改密码的判断方法-ASP教程,数据库相关
·RSA算法-.NET教程,评论及其它
·ASP.NET心得笔记-.NET教程,Asp.Net开发
·flash资格认证考试样题
·教你打造属于自己的绿色ppstream-.NET教程,评论及其它
最新文章
·windows vista中如何用闪存保护资料_windows vista
·fireworks绘制炫彩光影缠绕dna图案_fireworks教程
·google adsense 统计之我见_网赚技巧
·photoshop为宝宝照片调色_photoshop教程
·个人网站如何才能走出困境_站长心得
·个人站长十个害怕和担心的事情_站长心得
·关于优化及越度优化伤害_站长心得
·google广告的单价与点击-smart_google推广
·网编必备:搜索引擎优化的基本要素(1)_网络编辑
·alexa作弊的相关问答_alexa排名
相关主题
  • 如何用photoshop制作逼真咖啡杯_photoshop教程
  • 如何用Photoshop画服装款式图-网页设计,Photoshop
  • 如何用PHP发电子邮件(2)-PHP教程,邮件处理
  • 如何用PHP发电子邮件(1)-PHP教程,邮件处理
  • 如何用PHP实现网页动态跳转-PHP教程,PHP技巧
  • 西部数码虚拟主机

    友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 自助建站
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机
    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
    关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
    发表评论 打印  刷新     关闭