你好,请 登录注册

Board:HowTo

Topic:HandStory Clip Script 手冊
wingwormPublish: May-04-08,15:00:04
posts:18002
since:11-10-2007
 什么是 HandStory Clip Script?
HandStory Clip Script 指令
Clip Script 指令的形式
Clip Script 指令

※ 什么是 HandStory Clip Script?
HandStory Clip Stript 是由特定的指令组成,定义出剪辑网页文件的特定区域及方法,用者可以利用 Clip Script 来擷取网页中过滤后的内容。

HandStory Clip Script 提供以下优点:
  • 网页浏览器 vs 掌上个人助理(PDA)
    普遍上来说,网站都是针对 1024x768 或 800x600 的网页浏览器视窗的解象度来设计,网页文件中的文字及图像均是为用户的桌上电脑环境度身定造。所以,将网页文件的内容优化成能储存於掌上个人助理上并正常显示的档案就是必需的了。
  • 擷取特定的资讯
    有时候,用户不会想要某个网站上的全部资讯,例如,在浏览一个新闻网站时,你会阅读经济及运动新闻,而略过国际新闻及政治新闻;你亦会从一个股票网站上得到某几种股票的相关资讯。这个时候,擷取剪辑特定资讯的规则就成了有效资料处理的必需品了。
HandStory 提供的剪辑特色,能让你擷取特定资讯及转至掌上个人助理上使用。技术上,这种资讯剪辑是建基於以连串指令结合成的 HandStory Clips 上,用者可从经常拜访的网站上选择性地将所要的资料擷取,并转移至掌上个人助理上使用。用者亦可利用 Clip Script (剪辑脚本)来撰写剪辑程序,将资讯分门别类后,再将资讯同步到你的掌上个人助理中。

※ HandStory Clip Script 的指令? <h5>Clip Script 指令的形式</h5>
如同网页文件一般,Clip Script 亦是由连串指令构成,而这类指令是根据一定形式规则写成的。请往 Clip Script 指令 来获得更详细的资料。

<div style="BACKGROUND-COLOR:#e6e6e6">一个完整的指令通常由 "<" 开始,并以 ">" 结束。

<HSC_LIST name="c0" counts=30>

  指令   属性   数值   其他属性及数值

</div>

  • 一个完整的指令均以 "<" 开始,以 ">" 结束。
  • 指令都是写於 "<" 符号后,注意在 "<" 符号及指令之间是没有空隔的。
  • 属性紧置於指令之后。
  • 表达一个属性及它的数值的方法有两种: 属性="数值" 或 属性=数值。请注意,某些属性是必要/不要数值的。

  • 需要有数值的属性,例如 "name" 及 "counts" 等:<HSC_LIST name="c0", counts=30>;
  • 不需数值的属性,例如 "noblank" 及 "notag" 等:<HSC_TITLE noblank notag>。

  • 在指令及属性、属性及属性签之间要有一空隔。
  • 在 "=" 符号前后,不需要空隔。
  • 除了 <HSC_DOCUMENT>,<HSC_PROPERTY>,<HSC_CONNECTION> 这三个指令,其他的指令均包括一组两个以 <指令> 开始及 </指令> 完结的标签来表达。

  •  在每个 Clip Script 文件中均需包括 <HSC_DOCUMENT>,<HSC_CATALOG>,<HSC_CATITEM>,<HSC_LIST> 这四个指令,缺乏其中一个都会令 Clip Script 出现错误。

     你可在 Script 文件中加上附註而不影响程序的运行。在段落开首,加上 "//" 符号,即可标示此段落为附註。在以下的例子中,第一个附註因为在段落开首加上了"//",所以程序能正常运行;不过因为第二个附註的段落以 "<" 开首,所以程序运行时会出现错误。

    以下的例子举例出正确与错误附註:

    <div style="BACKGROUND-COLOR:#e6e6e6">

    <HSC_DOCUMENT version="1.0">
    // 定义文件属性。(O)
    <HSC_PROPERTY name="International Herald Tribune" origin="iht" url="http://www.iht.com/" template="HandStoryNews.tpl" refresh="Everyday 6:00, 17:00">
    <HSC_CATALOG counts=20> // 最多重复二十次。(X)
        <HSC_MISSION goto>

    </HSC_MISSION>
        <HSC_CATITEM name="c%CATCOUNT%"></div>

    <h5>Clip Script 指令</h5>
    以下是 HandStory Clip Script 中会用到的指令:

    1. HSC_DOCUMENT
    2. HSC_PROPERTY
    3. HSC_CONNECTION
    4. HSC_BASEURL
    5. HSC_CATALOG
    6. HSC_CATITEM
    7. HSC_AREA
    8. HSC_MISSION
    9. HSC_BEGIN
    10. HSC_END
    11. HSC_TITLE
    12. HSC_CONTENT
    13. HSC_LIST
    14. HSC_LOOP
    15. HSC_OBJECT
    HSC_DOCUMENT

    公式:<HSC_DOCUMENT [version]>

    这个指令表示一个 Clip Script 文件的开始:

    属性

    说明

    形式

    指定数值

    version

    指定程序文件的版本

    <HSC_DOCUMENT version="1.0"><sup>*</sup>

    需要

     Clip Script 文件以 <HSC_DOCUMENT> 开始,以 </HSC_DOCUMENT> 结束。
     现时只有 1.0 版本。
    HSC_PROPERTY

      公式:<HSC_PROPERTY [name] [origin] [url] [template] [refresh]>

      这个指令指定 Clip Script 的不同设定。

      属性

      说明 形式 指定数值

      name

      指定程序名称 <HSC_PROPERTY name="International Herald Tribune">

      需要

      origin

      说明资料来源版权 <HSC_PROPERTY origin="IHT">

      url

      说明版权所有人的原网址 <HSC_PROPERTY url="http://www.iht.com">

      template

      指定模版的档案名。设定是 HandStoryBase[1-4].tpl <HSC_PROPERTY template="HandStoryBase1.tpl"><sup>*</sup>

      refresh

      只於 HandStory 伺服器上使用
       HandStoryBase1.tpl 是由 HandStory 提供的其中一个模版,关於模版的详细资料,请参考 HandStory Clip 模版手册
    HSC_CONNECTION

      公式:<HSC_CONNECTION [wait] [retry]>

      这个指令指定 Script Clip 的网络连线设置。如果此属性的数值没有指明,则会使用设定值。

      属性

      说明

      形式

      指定数值

      wait

      指定等候目的伺服器发出回应讯息的最长时间,单位为秒。

      <HSC_CONNECTION wait=20 retry=3><sup>*</sup>

      需要

      retry

      指定在成功接上目的伺服器前最多的重复接驳次数。

       属性 'wait' 的数值范围为 1 to 120,若未有指定,则设定为 7。
       属性 'retry' 的数值范围为 0 to 10,若未有设定,则设定为 3。

      <HSC_DOCUMENT>,<HSC_PROPERTY>,<HSC_CONNECTION> 的使用例子

      Q : 我怎样可以指定 HandStory Clip Script 的基本设定?
      A : 你可以使用如 <HSC_DOCUMENT>,<HSC_PROPERTY>,<HSC_CONNECTION> 等指令来设定文件版本、网址名称、版权资讯、网络连接等属性,例如:

      <HSC_DOCUMENT version="1.0">
      // 指定文件版本
      <HSC_PROPERTY name="International Herald Tribune" origin="IHT" url="http://www.iht.co.kr/" template="HandStoryBase1.tpl" refresh="Everyday 6:00, 17:00">
      // 指定网址名称、版权资讯、原网址、模版名称及同步时间。
      <HSC_CONNECTION wait=20 retry=3>
      // 成功连接前每隔 20 秒再尝试接驳,尝试 3 次。

    HSC_BASEURL

      公式:<HSC_BASEURL [extract] [noblank]>

      这个指令设定来源网页根目录的 URL。

      有时候某些网页上的连结路径并不是设置在该网页文件的根目录上,这些连结就是绝对路径,当遇到这种情况,网页的源始码中就会有如 <base url="http://xxx.xxx.xx.xx/menu/index.html"> 这种代码。例如,一个网页的地址为 http://www.namo.com/support/index.htm,上面有个目的连结的相对路径 "/webeditor/feature.htm" ,所以目的连结的绝对地址就是 "http://www.namo.com/support/webeditor/feature.htm"。不过在这个例子中,该网页的原始码中有指定一个根路径:<base url="www.handstory.com">,因此,那个目的连结的绝对地址就是 "http://www.handstory.com/webeditor/feature.htm"。

      属性

      说明 形式 指定数值

      extract

      从网页文件中抽取出资料,以 <HSC_BEGIN> 及 <HSC_END> 两个指令标示出所要的资料。若果没有此属性,则整列字串将会被显示。 <HSC_BASEURL extract noblank >

      不需要

      noblank

      将抽取出的字串前后包含的空白删去。
    HSC_CATALOG

      公式:<HSC_CATALOG [counts]>

      这个指令表示要将剪辑的资料分类。<HSC_CATALOG> 标示将资料分类的开始,而实际上标示资料分类名称的则是 <HSC_CATITEM>。

      属性

      说明 形式 指定数值

      counts

      设定抽取分类名称的次数(即多少个分类)。 <HSC_CATALOG counts=20>

      需要

       当属性设定成如 "counts=20" 这数值时,抽取出的分类名称最多为 20 个,若在网页文件上未能找出符合的条件数据时,则抽取分类名称这程序将会自动终止。
       <HSC_CATALOG> 一定会包含 <HSC_CATITEM> 指令。
    HSC_CATITEM

      公式:<HSC_CATITEM [name]>

      这个指令会指定分类名称。属性 "name" 必须指定为 "c0","c1","c2","c3"。(使用不同的名称将会使 Clip Script 不能正常运行。)

      属性

      说明 形式 指定数值

      name

      指明剪辑的资料所归类的分类名称。 <HSC_CATITEM name="c0">

      需要

       <HSC_CATITEM> 指令需要放於 <HSC_CATALOG> 之下。
       在 Script Clip 中定明分类名称(title)有两个方法:一个是以手动设置分类名称,另一个为在 Clip Script 中以指令方式自动生成。

      <HSC_CATALOG> 及 <HSC_CATITEM> 的使用例子:

      手动设置
      在你想要剪辑的报纸网页运动版中,有两个主要分类: "NBA" 及 "NFL",你可以以手动设置分类名称,方法如下:
      <HSC_CATALOG>
      // 从目的网站中开始剪辑分类项目
        <HSC_CATITEM name="c0">
         // 指定分类名称属性数值为 "c0"
          <HSC_TITLE>NBA</HSC_TITLE>
          // 第一个分类是 "NBA"
        </HSC_CATITEM>
        // 第一个指定分类名称完结
        <HSC_CATITEM name="c1">
         // 指定分类名称属性数值为 "c1"
          <HSC_TITLE>NFL</HSC_TITLE>
           // 第三个分类是 "NFL"
      </HSC_CATALOG>
      // 从目的网站中剪辑分类项目完结
      在 Clip Script 中以指令方式自动生成资料分类
      你可以利用 HandStory Clip Script 指令从网页文件中抽取出资料分类名称。当网页中有多个不会经常改变的分类名称时,这方法是较为方便使用。必须注意的是,这方法较适用於包含在以特定规则排列(regular pattern)的网页代码(HTML code)中的分类名称。自动分类名称生成这方法需要於 <HSC_CATALOG> 中标示属性 "counts",在这情况下,你可以将 <HSC_CATITEM> 的属性 "name" 设为 "%CATCOUNT%"。

      Q : 我想将下图内以红框包括著的文字自动抽出并设置成分类名称。
      A : 找出网页原始码中,所需要的分类名称前后的代码特定的排列方式,以 <HSC_CATITEM> 内 <HSC_CATITEM> 中的开始及结束标签,自动指示及抽取出以重覆方式排列的分类名称。


      以下是部份包含著分类名称的网页原始码(HTML source code):
      <b>Top Stories <b>World</font>

      <b>Business


      <b>Politics
      在上面的原始码中,所需要剪辑的分类名称出现在 ">" 及 "",所以你可以用以下的 Clip Script 来自动将分类名称抽取出来:

      <HSC_CATALOG counts=4>
      // 开始剪辑分类项目

          <HSC_MISSION goto>

          // 将游标移至网页原始码中的

          <HSC_MISSION goto>></HSC_MISSION>

          // 将游标移至网页原始码中的 > 符号

          <HSC_CATITEM name="c%CATCOUNT%">

          // 开始真正地取出分类名称

              <HSC_TITLE extract notag noblank>

                  <HSC_BEGIN goto>></HSC_BEGIN>

                  <HSC_END goto></HSC_END>

              </HSC_TITLE>

              // 分类名称以 > 开始,并以 结束

          </HSC_CATITEM>

          // 分类名称抽取完成

      </HSC_CATALOG>

      // 剪辑分类项目完成

       以上例子示范了使用 <HSC_CATITEM>,<HSC_TITLE>,<HSC_BEGIN> 及 <HSC_END> 指令来自动抽取出分类名称。

       当属性指定成如 "counts=4" 这种数值时,抽取分类名称这动作就只会最多重覆四次,若在网页文件上未能找出符合的条件数据时,则抽取分类名称这程序将会自动终止。在此例子中,条件数据就是包含在 ">" 及 "" 中的范围。
    HSC_AREA

      <span class="format">公式: <HSC_AREA [remove] [no-comment]></span>这指令标示出网页文件中要剪辑的范围。
      被一组 <HSC_AREA>/</HSC_AREA> 标签包含著的所有指令,只会对该 <HSC_AREA> 所指定的范围中执行。

      属性

      说明 形式 指定数值

      remove

      指定一个不会执行指令的范围:跟随在后的指令会略过此一范围。
      在资料剪辑中要略过一些不需要的地方,例如广告,时,这个指令十分有用。
      <HSC_AREA remove>
       以 <HSC_BEGIN>,<HSC_END>,
       <HSC_LIST>,<HSC_TITLE>,
       <HSC_CONTENT>
      等指令所标示的范围
      </HSC_AREA>

      不需要

      no-comment

      将网页代码(HTML code)中的附註略过 <HSC_AREA no-comment>
       以 <HSC_BEGIN>,<HSC_END>,
       <HSC_LIST>,<HSC_TITLE>,
       <HSC_CONTENT>
      等指令所标示的范围
      </HSC_AREA>
       <HSC_AREA> 指令必须包括表示范围开始的 <HSC_BEGIN> 及结束的 <HSC_END> 的两个指令。

      <HSC_AREA> 的使用例子:

      Q : 我想要一段包含在网页特定标签中的新闻文章。
      A : 你可以利用 <HSC_AREA> 及 <HSC_BEGIN>/<HSC_END> 指令,如下面所示。

      <HSC_AREA>

         <HSC_BEGIN goto>Politics   </HSC_BEGIN>

         <HSC_END goto><!-- bottom Menu --></HSC_END>

         <HSC_LIST name="c0" counts=30>

         (内容省略)

         </HSC_LIST>

      </HSC_AREA>

       在上面的例子中,以蓝色字体表示的指令 <HSC_LIST> 只会对以 <HSC_BEGIN> 及 <HSC_END> 所标示的范围,即是 Politics<!-- bottom Menu --> 两个字串之间的区域有效。
    HSC_MISSION

      <span class="format">公式:<HSC_PROPERTY [go-url] [ref-url] [goto] [ign-case] [substring] [move] [top] [bottom] [repeat]></span>  在同一个指令中,"goto","go-url","ref-url" 这三个属性是不能同时存在的,换句话说,在一对 "< >" 之中有其中一个属性出现时,就不会有另一个属性出现。
       在一个指令中,"top" 及 "bottom" 这两个属性是不可一起出现的,换句话说,在一对 "< >" 之中有其中一个属性出现时,就不会有另一个属性出现。

      这个指令会将游标移至指定的位置。
      例如,在一个要剪辑的网页文件中,你可以用指令 <HSC_MISSION> 将游标移至文件的开首或结尾处,亦可将游标移到特定的网页标签或字串上,更可以遁著网页上的结结地址移至目的网页上。

      这些属性能分为两大类:一类是取得某指定的 URL 路径并将该路径储存在记忆上(go-url,ref-url,substring),另一类是将游标移至网页文件上的某一个位置上(goto,move)。
      </HSC_MISSION>

      属性

      说明 形式 指定数值

      go-url

      移至在此属性后所声明的目的地网页文件,游标会停留在目的地文件的开首。 <HSC_MISSION go-url> http://www.iht.com/ </HSC_MISSION>

      不需要

      ref-url

      在使用 "go-url" 指令之后,此指令能将游标移至另一个文件上,当程式运行至 <HSC_MISSION> 中的 </HSC_LIST> 指令时,游标就会移回到原有以 "go-url" 指令所标明的网页地址上。 <HSC_MISSION ref-url substring> /w21data/html/news/ </HSC_MISSION>

      goto

      将游标移至文件的指定位置上,再配搭上 "top"、"bottom" 或 "repeat" 等,就能将游标置於目的字串的两端。 <HSC_MISSION goto top>/w21data/html/news/ </HSC_MISSION>

      ign-case

      忽略目的字串的大小写分别 <HSC_MISSION ign-case>Frequently Asked Questions</HSC_MISSION>

      substring

      跟踪在网页代码中的片段字串。这个属性对网页连结中有某种特定形式时较为方便。 <HSC_MISSION ref-url substring>/w21data/html/news/ </HSC_MISSION>

      cursor

      配合 <goto> 使用,数值能设为 "front" 或 "rear",能将游标置於寻找到的字串的开首或结尾。如果未有设定此属性,则游标会置於字串的开首。 <HSC_MISSION goto top cursor="front">/w21data/html/news/
      </HSC_MISSION><HSC_MISSION goto top cursor="rear">/w21data/html/news/
      </HSC_MISSION>

      只有两个数值:cursor="front" 或 cursor="rear"

      move

      配合 <goto> 使用,将游标置放於目的字串的左或右方,以位元组(byte)计算。在寻找字串时,要将某些代码包括在内及/或拼除在外,这指令十分有用。数值必须为整数。 <HSC_MISSION move=8 substring>/w21data/html/news/ </HSC_MISSION>

      需要

      数值为正数时,游标会向右方移动;数值为负数时,游标会向左方移动。

      top

      将游标置於文件开首,换句话说,此属性指明文件开首为剪辑的开始地方。 <HSC_MISSION goto top><!!--titlestart--></HSC_MISSION>

      不需要

      bottom

      将游标置於文件结尾处。 <HSC_MISSION goto bottom> <!!--bodyend--> </HSC_MISSION>

      repeat

      重覆寻找某个字串。数值为正数时,会向上搜寻;数值为负数时,会向下搜寻。 <HSC_MISSION repeat=?2?gt;

      需要

      数值为正数时,会向上搜寻;数值为负数时,会向下搜寻。

      <HSC_MISSION> 的使用例子:

      Q1 : 我用 "<HSC_MISSION go-url>http://dailynews.yahoo.com/h/?u</HSC_MISSION>" 指令将游标指向 http://dailynews.yahoo.com/h/?u,但是我想要剪辑的资料是由网页原始码中的 <!--_JC_ MAIN TABLE --> 开始。
      A1 : 要移至指定网页文件时,可使用 <HSC_MISSION> 指令配合 "go-url" 属性。要将游标移至网页文件上的指定位置时,可使用 "goto" 这属性。例如,以下的 script 能将游标移至文件中第一个出现的 <!-- _JC_ MAIN TABLE --> 字眼。
      <HSC_MISSION goto top> <!-- _JC_ MAIN TABLE --></HSC_MISSION>
      Q2 : 我用 <HSC_MISSION goto> 指令将游标指向某一个特定的字串上,但是游标却置於字串的最末处,有什么方法将游标置放於字串的开首吗?
      A2 : 可以用 "move" 或 "cursor" 属性。例如,你使用 "<HSC_MISSION goto>
      <HSC_MISSION>" 后,游标会置於标签 之后,如下图左边所示。在这情况下,可以用如 <HSC_MISSION cursor="front"> 或 <HSC_MISSION move=-4> 等指令将游标移至字串的左边,如下图右边所示。换句话说,使用 <goto> 移动游标时,配搭上 "cursor" 这个属性,就能将游标置於字串开首(数值为 "front")或最末端(数值为 "rear")。

       要将游标如左图所显示般移动,可以用以下其中一个方法。
      <HSC_MISSION move=-4>
      <HSC_MISSION cursor="front">

      Q3 : 我想要剪辑的网页文件包含著很多连结,所有连结都是有一个以 "/section/news" 为开首的相对地址,如下面所示。除了原本的网页文件外,我想要连同这些超连结所示的文件也一併剪辑,有什么方法吗?
      A3 : 对上述情形,HandStory Clip Script 有一个属性 "substring" 能配合使用。在下面的例子中,你能够使用 <HSC_MISSION substring> 指令来跟踪重覆的 URL 路径。

    • /section-005100006/2002/03/06200202071909010.html"> 'Foremost victim' assails U.S. tariffs
    • /section-005000000/2002/03/00200202071702051.html"> COMMENTARY A fed-up business flier takes on the airlines
    • /section-005000000/2002/03/00200202071656024.html"> Qaeda weaving new web, e-mails suggest
    • 在上面的例子中,/section- 在连结中重覆出现,要追踪这些 URL 路径,你可以使用下面的 Clip Script。当游标移至连结目的文件上时,使用 <HSC_TITLE> 及 <HSC_CONTENT> 等指令就能让 Clip Script 定义文件的名称及内容了。

      <HSC_MISSION ref-url substring>/section-</HSC_MISSION>
      Q4 : 我想将游标移至由文件低部向上数的第二个表格上。
      A4 : 使用 "bottom" 将游标移至文件末端及将 "repeat" 属性数值设为负数。

      <HSC_MISSION goto bottom></HSC_MISSION>
      // 将游标置於文件最末端
      <HSC_MISSION repeat=-2 goto><table</HSC_MISSION>
      // 将游标移至从结尾开始向上数的第二个 " <table"  字眼处。
    HSC_BEGIN

      公式:<HSC_BEGIN [goto] [ign-case] [top] [bottom] [repeat] [cursor] [move]>

       <top> 及 <bottom> 两个属性不能同时出现在同一个由一对 "<" 及 ">" 符号所包含的指令之中。
       <repeat>、<top> 及 <bottom> 三个属性需要配合 "goto" 一起使用。

      这指令宣示剪辑范围的开始。

      <HSC_AREA>,<HSC_TITLE>,<HSC_LIST>,<HSC_OBJECT> 四个指令分别定义出剪辑范围(clipped area)、名称范围(title area)、目录范围(list area)及物件范围(object area)。这四个指令中均能配搭上 <HSC_BEGIN> 指令来将游标移至各指令范围的起首地方,如下面表中所示。你可以将游标移至文件的开首或结尾处,亦可以在游标移至特定的地方后再以位元组为单位向左或右移动。

      属性

      说明 形式 指定数值

      goto

      强制性将游标移至指定位置,可配合其他如 "top","bottom" 或 "repeat" 等属性。 <HSC_BEGIN goto></HSC_BEGIN> </HSC_BEGIN>

      不需要

      ign-case

      忽略目的字串的大小写分别 <HSC_BEGIN ign-case>Frequently Asked Qustions</HSC_BEGIN>

      top

      将游标置於文件开首,换句话说,此属性指明文件开首为剪辑的开始地方。 <HSC_BEGIN goto top><!!--titlestart--></HSC_BEGIN>

      bottom

      将游标置於文件结尾处。 <HSC_BEGIN goto bottom><!!--bodyend--></HSC_BEGIN>

      repeat

      重覆寻找某个字串。数值为正数时,会向上搜寻;数值为负数时,会向下搜寻。 <HSC_BEGIN repeat=?2?gt;

      需要

      数值为正数时,会向上搜寻;数值为负数时,会向下搜寻。

      cursor

      配合 <goto> 使用,数值能设为 "front" 或 "rear",能将游标置於寻找到的字串的开首或结尾。如果未有设定此属性,则游标会置於字串的开首。 <HSC_BEGIN goto top cursor="front">/w21data/html/news/
      </HSC_BEGIN><HSC_BEGIN goto top cursor="rear">/w21data/html/news/
      </HSC_BEGIN>

      只有两个数值:cursor="front" 或 cursor="rear"

      move

      配合 <goto> 使用,将游标置放於目的字串的左或右方,以位元组(byte)计算。在寻找字串时,要将某些代码包括在内及/或拼除在外,这指令十分有用。数值必须为整数。 <HSC_BEGIN goto move=8><!!--bodyend--></HSC_BEGIN>

      需要

      数值为正数时,会向上搜寻;数值为负数时,会向下搜寻。
       <HSC_BEGIN> 及 <HSC_END> 必需一对地出现。
      HSC_END

        公式:<HSC_END [goto] [ign-case] [top] [bottom] [repeat] [cursor] [move]>

        这指令宣示剪辑范围的终结。所有属性使用均与 <HSC_BEGIN> 相同。

        <HSC_BEGIN> 的使用例子: and <HSC_END>

        Q : 我可以怎样将网页文件中某地方以下的内容併除在剪辑范围以外?
        A : "bottom" 这个属性表示文件的最末端,所以,以下的 script code 可以将文件中 table 字眼之下的内容併除在剪辑范围以外。

           <HSC_AREA remove>
           <HSC_BEGIN goto>table</HSC_BEGIN>
           <HSC_END bottom></HSC_END>
           </HSC_AREA>
      HSC_TITLE

        公式:<HSC_TITLE [extract] [noblank] [notag] [withtag] [image]>

         "withtag" 及 "notag" 两个属性不能同时出现在同一个由一对 "<" 及 ">" 符号所包含的指令之中。

        <!--  This document is translated by Boiling into Big5 code, please retain this line for information // -->这指令定义所剪辑资料的名称范围,在多数情况下,这个名称首次出现在首个网页文件中时,都会连带著一个超连结地址,导向相关的文章处。

        属性

        说明 形式 指定数值

        extract

        从网页文件中抽取出资讯,所需要的范围以 HSC_BEGIN 及HSC_END 两个指令所包含。若果没有此属性,则整列字串将会被显示。 <HSC_TITLE extract noblank>

        不需要

        noblank

        将抽取出的字串前后包含的空白删去。

        notag

        在抽取名称时,将原有网页代码(HTML code)略过

        withtag

        在抽取名称时,将原有网页代码(HTML code)包括在内 <HSC_CONTENT withtag>

        image

        探查出图像位置,以 标签标记,储存至本地电脑中,并将连结修改。 <HSC_TITLE extract noblank image>
         <HSC_TITLE> 必需在 <HSC_LIST> 或 <HSC_CATITEM> 其中一个指令下使用。
         "extract" 属性必需在后面配合上 <HSC_BEGIN>/<HSC_END> 指令,以定义剪辑资料召范围。
      HSC_CONTENT

        <span class="format">公式:<HSC_CONTENT [extract] [noblank] [notag] [withtag] [image]></span>定义剪辑资料的内容范围。
        所有属性使用均与 <HSC_TITLE> 相同。
         <HSC_CONTENT> 及 <HSC_TITLE> 两个指令在配合 "notag" 使用时均会将所有网页代码(HTML code)移除。但在 "notag" 未有使用时,<HSC_CONTENT> 亦会移除


        之外的其他网页原码,而 <HSC_TITLE> 却不会有此情况出现,所以当要保留原有网页代码在剪辑文件中时,使用 <HSC_CONTENT> 指令的同时就需配合 "withtag" 属性。

        <HSC_TITLE>, <HSC_CONTENT> 的使用例子:

        Q : 我想要将下图中以红色框包含的文字设为文件名称,而绿色框包含的文字则设为内容。
        A : 在下图右边的网页原始码中,文件名称是以 <!--TITLE: --> 两组字串所包含著,而内容部分则以 <!--BSHSTARTBODY--> <!--BSHENDBODY--> 两组字串所包含著。这些都是以网页原始码附註形式写成。

        <!--PARSER:INTERNET WIRE-->

        <!--TITLE:Asante Showcases Gigabit Ethernet Products At CeBIT-->

        <!--AUTHOR:INTERNET WIRE-->

        <!--BSHSTARTBODY-->HANNOVER, GERMANY -- (INTERNET WIRE) -- 03/07/2002 -- Asante Technologies, Inc. will highlight its new Gigabit Ethernet technologies in booth #G3 (Hall 16/USA Networking Pavilion) at CeBIT, Hannover, Germany (March 13–20).

         

        ...

         

        Phone: 0641-4808300

        Email:

        harald.baums@titan-commerce.com

        <hr size=1>

        <!--BSHENDBODY-->

        因此,以下的 script 能让 HandStory Clips 将网页文件的名称及内容剪辑下来。

            <hsc_title extract noblank notag>

            // 在抽出名称的同时将空隔及网页代码移除

                <hsc_begin goto><!--TITLE:</hsc_begin>

                // 名称在网页代码 <!--TITLE: 后开始

                <hsc_end goto>--></hsc_end>

                // 名称在网页代码 --> 前完结

            </hsc_title>

            // 抽取名称完成

          <hsc_mission goto top><!--AUTHOR:INTERNET WIRE--></hsc_mission>

          // 将游标移至 <!--AUTHOR:INTERNET WIRE-->

            <hsc_content extract noblank>

            // 在抽出内容部分时同时将空隔移除

                <hsc_begin goto><!--BSHSTARTBODY--></hsc_begin>

                // 内容部分在网页化码 <!--BSHSTARTBODY--> 后开始

                <hsc_end goto><!--BSHENDBODY--></hsc_end>

                // 内容部分在网页代码 <!--BSHENDBODY--> 前结束

            </hsc_content>

            // 抽取内容部分克成

      HSC_LIST

        <span class="format">公式:<HSC_LIST [name] [counts]></span>这指令宣示目录资料开始

        属性

        说明 形式 指定数值

        name

        指定相关分类的类别名称 <HSC_LIST name="c%LOOPCOUNT%" counts=20><HSC_LIST name="c0" counts =20>

        需要

        counts

        指定 <HSC_LIST> 指令重覆的次数,这指令与连续运行 <HSC_LIST> 指令数次有一样效果。
      HSC_LOOP

        公式:<HSC_LOOP [from] [to] [step] [counts]>

         "from" 及 "to" 两个属性需要一对地出现。
         "count" 属性必须独立使用,不能与 "from"、"to" 或 "step" 等属性一起使用。

        这指令指定相应指令重覆运行次数。
        你可以将以下指令的 "name" 属性数值设为变数 "%LOOPCOUNT%"。

        属性

        说明 形式 Value Specification

        from

        指定开始值 <HSC_LOOP from=1 to=20 step=1>

        需要

        to

        指定结束值

        step

        指定每次迴圈运行时变数增加的数值。在右面的例子中,这个属性数值设为 "1",所以 <HSC_LOOP> 的变数会以 "1","2","3"..."20" 这方式逐次变更。

        counts

        当使用这个属性时,<HSC_LOOP> 的变数会从 "0" 开始,每次迴圈运行时增加 1。 <HSC_LOOP counts=20>
         这指令不能在 <HSC_CATALOG>、<HSC_LOOP> 或 <HSC_LIST> 指令之下运行。
         当这个指令设定如 "counts=20" 时,<HSC_CATALOG>,<HSC_LOOP> 及<HSC_LIST> 指令最多只会重覆二十次,若在网页文件上未能找出符合的条件数据时,则这些指令将自动终止。

        Q : 我怎样能将 30 个文章标题自动抽出?
        A : 可以使用 <HSC_LOOP> 指令来重覆某些指令的执行。在下面的例子中,<HSC_LOOP> 指令指明了以蓝色字体标示的指令的重覆执行次数。
        <HSC_AREA>
        <HSC_BEGIN goto><!--Banner Ends-----------------------></HSC_BEGIN>
        <HSC_END goto></HSC_END>
        <HSC_LOOP counts=30>
        // 以 <HSC_LOOP> </HSC_LOOP> 所包含的指令,重覆 30 次
        // "counts=30" 可以用 "from=1 to=30 step=1" 代替
        <HSC_LIST name="c0" counts=30>
          <HSC_MISSION goto></HSC_MISSION>
          <HSC_TITLE extract noblank notag>
            <HSC_BEGIN goto></HSC_BEGIN>
            <hsc_end goto>
        </hsc_end>
          </HSC_TITLE>
          <HSC_MISSION goto>

        </HSC_MISSION>
          <HSC_CONTENT extract noblank>
            <HSC_BEGIN goto>

        </HSC_BEGIN>
            <HSC_END goto>

        </HSC_END>
          </HSC_CONTENT>
        </HSC_LIST>
        </HSC_LOOP>
        </HSC_AREA>
        HSC_OBJECT

          公式:<HSC_OBJECT [extract] [noblank] [notag] [withtag] [image] [name]>

          这个指令用来显示图片或 BBS 资讯。BBS 资讯含有很多需要显示的不同组成部份,例如:文章编号、作者、日期、内容等。这个指令根据位置可分为三个种类:文件物件(document object)、分类物件(catalog object)及目录物件(list object)。所使用的属性与 <HSC_CONTENT> 完全相同,并额外多一个 'name' 属性。

          属性

          说明 形式 指定数值

          name

          此属性的数值需为 HandStory Template 所能辨别,因此,属性的设定数值需与 HandStory Clip Template 所沿用的数值一致。 <HSC_OBJECT name="date" extract noblank notag>

          需要

           关於更多 Clip Script 中物件的详细资料,请参考 HandStory Clip 模版手册
        >> Comments (0)
        © 2007 Powered by IWBlog, all rights reserved, Template copied from douban.com, and many thanks to rpwt.info for host support