search
HomeBackend DevelopmentPHP Tutorial如何用PHP把RDF内容插入Web站点之中_PHP

名誉和巨大的财富

设想一个从最热门的门户网站获得最新的新闻的站点。股票价格天气信息新闻故事线式讨论组软件发布……所有这一切都将被动态更新每小时一次不需要任何手工干预。我们可以想象这随之而来的站点访问量源源不断的广告收入以及网管大人所受到的“阿谀奉承”。

但是现在停止幻想开始阅读因为只要你密切关注此项技术说不定你就能成为站点的主人。 对你的要求也只是稍许的想象力一些聪明的PHP编码和几个免费的RSS文件。另外很明显还包括这篇文章剩下的九个部分。



有内容就联合成辛迪加Have Content, Will Syndicate
我们从最基本的开始——那么RSS究竟是什么鬼东西呢

RSS即RDF Site Summary是一种格式最早由Netscape公司设计用于分发其门户站点My.Netscape.Com上的内容的描述信息。自1997年被提出以来几经沉浮——可以点击文章末尾的链接了解一下RSS悠久复杂的历史。现在的稳定的版本是RSS1.0符合RDF规范。这一版本可以说即轻便又功能齐全。

RSS使得网管及时公布和分发某一特定站点的特定位置的最新最有趣的内容的描述信息变的可能。 从新闻文章列表到股票市场数据或着是天气预报所有这些信息都可以通过结构良好的XML文档来发布从而也可以被任何XML分析器进行分析处理和翻译。

网站上最新信息的列表是经常更新的而RSS使得这一列表的分发成为可能也就为Web上简易的内容辛迪加联合打开了大门。想了解这其中的道理请看下面这个简单的例子

站点A属新闻站点“内容辛迪加组织者”能够每小时发布一个包含最新新闻列表以及相应链接的RSS文档。 而这一RSS文档可以被其它站点获取如站点B“内容收集者”分析并显示在站点B的索引页面上。 每次站点A发布一个新的RSS文档站点B的索引页面都可以自动更新以获取最新的新闻。

这种方案对交易中的双方机构都有效。 既然RSS文档中的链接都指向站点A上相应的文章那么站点A将迅速体验到访问量的增加。 而站点B的网管可以休假一个星期因为他有办法自动更新其站点上的索引页面而这一方法仅仅是把索引页面与站点A发布的动态内容相连接而已。

有许多受欢迎的站点向公众提供详细的RSS或RDF新闻如Freshmeathttp://www.freshmeat.net)和Slashdot(http://www.slashdot.org),当然还有其它许多站点。在这篇文章当中,我将广泛的使用Freshmeat网站的RDF文件。需要说明的一点是,这里所谈到的技术也可以应用于其它任何RSS1.0或RDF文件。



交换频道(Switching Channels)

典型的RSS文档包含一个由描述性元数据标记出来的资源列表(URLs),请看下面的例子:

?>
rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns
="http://purl.org/rss/1.0/">

channel rdf:about="http://www.melonfire.com/">
title>Trog/title>
description>Well-written technical articles and
tutorials on Web technologies/description>

link>http://www.melonfire.com/community/columns/trog/


  • rdf:resource="http://www.melonfire.com/community/columns/trog/article.ph
    p?id
    =100" />
  • rdf:resource="http://www.melonfire.com/community/columns/trog/article.ph
    p?id
    =71" />
  • rdf:resource="http://www.melonfire.com/community/columns/trog/article.ph
    p?id
    =62" />




    rdf:about="http://www.melonfire.com/community/columns/trog/article.php?i
    d=10
    0">
    Building A PHP-Based Mail Client (part 1)

    http://www.melonfire.com/community/columns/trog/article.php?id=100

    nk>
    Ever wondered how Web-based mail clients
    work? Find out here.



    rdf:about="http://www.melonfire.com/community/columns/trog/article.php?i
    d=71">
    Using PHP With XML (part 1)

    http://www.melonfire.com/community/columns/trog/article.php?id=71/link>
    Use PHP's SAX parser to parse XML data and
    generate HTML pages.



    rdf:about="http://www.melonfire.com/community/columns/trog/article.php?i
    d=62">
    Access Granted

    http://www.melonfire.com/community/columns/trog/article.php?id=62/link>
    Precisely control access to information
    with the mySQL grant tables.



    你可以看到,RDF文件由几个界限分明的部分组成。首先是文档序码(prolog),

    ?>

    然后是根元素中的名称空间声明。

    rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns="http://purl.org/rss/1.0/">
    接着是channel>部分这部分包含了RDF所要描述的频道的一般信息。在上面的例子中频道是Melonfire网站的Trog专栏专栏内容是新的技术文章和指南每星期更新一次。

    channel rdf:about="http://www.melonfire.com/">
    title>Trog/title>
    description>Well-written technical articles and
    tutorials on Web technologies/description>

    link>http://www.melonfire.com/community/columns/trog//link>
    items>
    rdf:Seq>
    li
    rdf:resource="http://www.melonfire.com/community/columns/trog/article.ph
    p?id
    =100"
    />
    li
    rdf:resource="http://www.melonfire.com/community/columns/trog/article.ph
    p?id
    =71"
    />
    li
    rdf:resource="http://www.melonfire.com/community/columns/trog/article.ph
    p?id
    =62"
    />
    /rdf:Seq>
    /items>
    /channel>

    channel>区包含了一个items>区块items>区块又包含了文档中描述的所有资源的一个顺序列表。该列表通过一系列的li />元素来表示。区块中每一个资源都在后面的item>区块中有更详细的描述。

    items>
    rdf:Seq>
    li
    rdf:resource="http://www.melonfire.com/community/columns/trog/article.ph
    p?id
    =100"
    />
    li
    rdf:resource="http://www.melonfire.com/community/columns/trog/article.ph
    p?id
    =71"
    />
    li
    rdf:resource="http://www.melonfire.com/community/columns/trog/article.ph
    p?id
    =62"
    />
    /rdf:Seq>
    /items>

    还可以在其中放置一个image>区块这样你就可以发布频道标志的URL。

    所以为了肉RSS1.0文档中的每一个item>区块都更详细地描述一个单独的资源包括标题URL和资源描述。

    items>
    rdf:Seq>
    li
    rdf:resource="http://www.melonfire.com/community/columns/trog/article.ph
    p?id
    =100"
    />
    li
    rdf:resource="http://www.melonfire.com/community/columns/trog/article.ph
    p?id
    =71"
    />
    li
    rdf:resource="http://www.melonfire.com/community/columns/trog/article.ph
    p?id
    =62"
    />
    /rdf:Seq>
    /items>

    在这个例子里item>区块描述了Ttrog“频道”中单独的一篇文章并为这篇文章提供了描述和标题以及URL。内容收集者可以利用URL创建“向后”链接。



    你看得到RSS1.0文件相当地直观明了不管是手工还是通过编程都非常容易创建。上面的例子和解释仅仅是说明性质的通常你可以用RSS1.0和RDF做更多的事情。你最好看一下文章末尾提供的链接以获取更多的信息。不过在这之前我们再花几分钟讨论一如何将RSS1.0文档插入到你自己的Web站点之中。

  • Statement
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
    谷歌浏览器如何添加信任站点谷歌浏览器如何添加信任站点Jul 19, 2024 pm 04:14 PM

    谷歌浏览器如何添加信任站点?有的用户在上网时因页面提示不安全无法正常浏览网页,此时就可以把网站添加为信任站点,我们就能正常访问,顺利上网了。下面小编为大家带来谷歌浏览器添加信任站点方法步骤,步骤简单易操作,小白也能轻松上手,有需要的小伙伴一起来了解吧。谷歌浏览器添加信任站点方法步骤1、打开谷歌浏览器,点击右上角三个点。点击【设置】。选择隐私设置和安全性。(如图所示)2、点击页面下方的网站设置。(如图所示)3、点击页面下方的不安全内容。(如图所示)4、点击允许选项右边的添加按钮。(如图所示)5、输

    如何在iPhone上启用“敏感内容警告”并了解其功能如何在iPhone上启用“敏感内容警告”并了解其功能Sep 22, 2023 pm 12:41 PM

    特别是在过去十年中,移动设备已成为与朋友和家人分享内容的主要方式。易于访问、易于使用的界面以及实时捕获图像和视频的能力使其成为制作和共享内容的绝佳选择。但是,恶意用户很容易滥用这些工具来转发不需要的敏感内容,这些内容可能不适合查看并未经您的同意。为了防止此类情况发生,iOS17中引入了带有“敏感内容警告”的新功能。让我们来看看它以及如何在iPhone上使用它。新的“敏感内容警告”是什么,它是如何工作的?如上所述,敏感内容警告是一项新的隐私和安全功能,旨在帮助防止用户查看敏感内容,包括iPhone

    使用SQL中的MINUS操作符使用SQL中的MINUS操作符Feb 18, 2024 pm 04:53 PM

    SQL中MINUS的用法及具体代码示例在SQL中,MINUS是一种用于在两个结果集之间执行差集操作的运算符。它用于从第一个结果集中删除与第二个结果集中相同的行。MINUS操作符返回的结果集将包含仅存在于第一个结果集中的行。下面通过具体的代码示例来演示MINUS的用法:假设有两个表-"table1"和"table2",它们的结构如下:表名:table1字段

    我们可以在Java列表中插入空值吗?我们可以在Java列表中插入空值吗?Aug 20, 2023 pm 07:01 PM

    SolutionYes,Wecaninsertnullvaluestoalisteasilyusingitsadd()method.IncaseofListimplementationdoesnotsupportnullthenitwillthrowNullPointerException.Syntaxbooleanadd(Ee)将指定的元素追加到此列表的末尾。类型参数E −元素的运行时类型。参数e −要追加到此列表的元

    wps文档里插入中国地图的图文方法wps文档里插入中国地图的图文方法Mar 27, 2024 pm 02:01 PM

    1、打开wps软件,进入wps文字的操作界面。2、在该界面内找到插入选项。3、点击插入选项,在其编辑区域内找到形状选项。4、点击形状选项,在其子级菜单那里找到推荐选项。5、在推荐选项内找到中国地图选项。6、点击中国地图选项,用鼠标左键在编辑输入区里拖拽,就得到了我们需要的中国地图。

    时空中的绘旅人艾因的日常:常驻内容更新时空中的绘旅人艾因的日常:常驻内容更新Mar 01, 2024 pm 08:37 PM

    时空中的绘旅人已经确定在2月29日更新之后,玩家可以和艾因一起去参加露天音乐节,获得与艾因的好感度加成,3月4日将会开启缱绻假日煦色韶光活动,玩家可以提升假日行程等级解锁全新短信和Lofter内容。时空中的绘旅人艾因的日常:常驻内容更新更新2月29日版本后,可体验全新校园日程[参加露天音乐节],跟艾因一起参与可获得好感度加成。3月4日09:30-4月15日05:00,在「缱绻假日·煦色韶光」活动期间提升[假日行程]等级到8级和28级,可分别解锁全新短信和Lofter内容。*新增短信、Lofter

    在C++中递归插入和遍历链表在C++中递归插入和遍历链表Sep 10, 2023 am 09:21 AM

    我们得到了用于形成链表的整数值。任务是使用递归方法先插入然后遍历单链表。在末尾递归添加节点如果head为NULL→将节点添加到head否则添加到head(head→next)递归遍历节点如果head为NULL→退出否则打印(head→next)示例输入−1-2-7-9-10输出输出strong>−链表:1→2→7→9→10→NULL输入−12-21-17-94-18输出−链表:12→21→17→94→18→NULL下面程序中使用的方法如下在这种方法中,我们将使用函数添加节点并遍历单链表并递

    如何实现MySQL中插入多行数据的语句?如何实现MySQL中插入多行数据的语句?Nov 08, 2023 pm 09:54 PM

    如何实现MySQL中插入多行数据的语句?在MySQL中,有时我们需要一次性插入多行数据到表中,这时我们可以使用INSERTINTO语句来实现。下面将介绍如何使用INSERTINTO语句来插入多行数据,并给出具体的代码示例。假设我们有一个名为students的表,包含id、name和age字段,现在想要一次性插入多条学生的信息,我们可以按照以下步骤来实现:

    See all articles

    Hot AI Tools

    Undresser.AI Undress

    Undresser.AI Undress

    AI-powered app for creating realistic nude photos

    AI Clothes Remover

    AI Clothes Remover

    Online AI tool for removing clothes from photos.

    Undress AI Tool

    Undress AI Tool

    Undress images for free

    Clothoff.io

    Clothoff.io

    AI clothes remover

    AI Hentai Generator

    AI Hentai Generator

    Generate AI Hentai for free.

    Hot Article

    Hot Tools

    VSCode Windows 64-bit Download

    VSCode Windows 64-bit Download

    A free and powerful IDE editor launched by Microsoft

    SublimeText3 Mac version

    SublimeText3 Mac version

    God-level code editing software (SublimeText3)

    Zend Studio 13.0.1

    Zend Studio 13.0.1

    Powerful PHP integrated development environment

    mPDF

    mPDF

    mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

    SAP NetWeaver Server Adapter for Eclipse

    SAP NetWeaver Server Adapter for Eclipse

    Integrate Eclipse with SAP NetWeaver application server.