(CC/PP)结构和词汇 1.0[5]

[入库:2005年8月18日] [更新:2007年3月25日]

本文简介:选择自 ljp19820721 的 blog

虽然并没有要求对任何具体的词汇表都有支持,但是我们强烈建议应用软件设计者尽可能重用已有的词汇表。

虽然没有要求cc/pp应用支持附录中所描述的特征,但是任何的新定义的属性词汇一定要以附录b中的rdf schema所定义的rdf类库和属性为基础(新的cc/pp属性是ccpp:attribute的实体,新的成份类是ccpp:component的子类,等等)。

注意: 新的词汇需要以cc/pp schema为基础是为了方便那些可感知schema的应用软件可以将连同其他的rdf数据在内的cc/pp设置文件数据包含于其中。新的词汇术语以cc/pp schema为基础意味着,当多种来源的rdf数据组合使用在同一个cc/pp设置文件的时候,他们可以作为cc/pp设置文件的部份而被明确地区分。这个要求对单机cc/pp设置文件处理器并没有影响,但是这里使用rdf的真正价值在于其长期性,允许来源多样的数据(例如文档及与安全和隐私相关的数据)被更为通用的句柄联合组织在一起并处理。

1.2 本文档的结构

本节的剩余部分将会介绍本文档中将会使用到的术语、协定和记号。

第2节,cc/pp体系结构,概述了cc/pp设置文件的结构和xml命名空间的使用。

第3节,cc/pp结构,描述了cc/pp设置文件的结构,并且介绍了用于生成必要cc/pp元素的rdf元素。

第4节,属性词汇,描述了在一个cc/pp设置文件中该如何使用属性,而且介绍了用来描述特定特征的推荐的cc/pp元素的结构。

附录中包含了额外的支持材料。这些材料对于构造一个有效的cc/pp设置文件并不是必不可少的,但是这些材料为理解cc/pp,其与rdf的关系,或者是为具体的应用定义属性词汇提供了有用的附加背景信息。

1.3 文档协定

1.3.1 术语

参见本文挡附录a中的cc/pp术语和缩写

cc/pp属性”在这里用来表示出现在cc/pp设置文件中的客户(或其他的系统)的特定的能力或特性。术语“特征”表示客户能力或特性,这些可以是也可以不是cc/pp属性的基础。“属性名称”用来指一个用于识别cc/pp属性的rdf参数名称。

本文档中的关键字“一定”,“一定不”,“应该”,“不应该”,“可以”,“不可以”,“必需的”,“推荐的”和“可选择的”应该按照rfc2119[rfc2119]中的描述去理解。

1.3.2 rdf图表记号

rdf的潜在结构是一个有向标号图。为了计算机系统之间的交流,rdf使用了xml中的编序来表现这些图表。要人为论述这个xml记号法是相当庞大和困难的,因此这里为描述rdf图表结构使用了一个比较直观的记号法:

图 1-1:rdf图表标记
[subject-resource] --propertyname--> [object-resource]
表示图表中的一个标签为'propertyname'的边,这是一条从一个名为'subject-resource'的rdf资源到另一个名为'object-resource'的rdf资源的边。
[subject-resource] --propertyname--> "property value"
表示图表中的一个标签为'propertyname'的边,这是一条从一个名为'subject-resource'的rdf资源到含有指示值的字面字符串。
[subject-resource] --propertyname--> { "val1", "val2", ... }
这是一个值为含有指示值的rdf:bag资源参数的速记(参见4.1.2.1节)。
[<subject-type>] --propertyname--> [<object-type>]
在方括号中的名称是用来表示一个指示类型的rdf资源(如含有rdf:type指示参数值),而非表示一个资源的具体名称。这在表示通过一个 参数链接在一起的几个rdf类时非常有用。
[subject-resource] --propertyname--> [object-resource]
                                      |
       -------------------------------
      |
      +--property1--> (val1)
      +--property2--> (val2)
      :
     (etc.)
参数弧可以使连锁式的,一个主资源可以引出几个弧。

这里是上面所描述的rdf图表结构的一些xml的例子:

图 1-2:rdf图表例子的xml
<?xml version="1.0"?>
<!-- any rdf graph is an rdf element
  -->
<rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns="http://www.example.com/schema#">

  <!--  [subject-resource] -propertyname-> [object-resource]
    -->
  <rdf:description
      rdf:about="http://www.example.com/profile#subject-resource">
    <propertyname>
      <rdf:description
          rdf:about="http://www.example.com/profile#object-resource" />
    </propertyname>
  </rdf:description>

  <!--  [subject-resource] -propertyname-> [object-resource]
     -  (alternative format)
    -->
  <rdf:description
      rdf:about="http://www.example.com/profile#subject-resource">
    <propertyname
        rdf:resource="http://www.example.com/schema#object-resource" />
  </rdf:description>

  <!--  [subject-resource] -propertyname-> "property value"
    -->
  <rdf:description
      rdf:about="http://www.example.com/profile#subject-resource">
    <propertyname>property value</propertyname>
  </rdf:description>

  <!--  [subject-resource] -propertyname-> { "val1", "val2", ... }
    -->
  <rdf:description
      rdf:about="http://www.example.com/profile#subject-resource">
    <propertyname>
      <rdf:description>
        <rdf:type
            rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#bag" />
        <rdf:li>val1</rdf:li>
        <rdf:li>val1</rdf:li>

        <!-- ...etc... -->

      </rdf:description>
    </propertyname>
  </rdf:description>

  <!--  [subject-resource] -propertyname-> { "val1", "val2", ... }
     -  (alternative format)
    -->
  <rdf:description
      rdf:about="http://www.example.com/profile#subject-resource">
    <propertyname>
      <rdf:bag>
        <rdf:li>val1</rdf:li>
        <rdf:li>val1</rdf:li>

        <!-- ...etc... -->

      </rdf:bag>
    </propertyname>
  </rdf:description>

  <!--  [<subject-type>] -propertyname-> [<object-type>]
    -->
  <rdf:description>
    <rdf:type
        rdf:resource="http://www.example.com/schema#subject-type" />
    <propertyname>
      <rdf:description>
        <rdf:type
            rdf:resource="http://www.example.com/schema#object-type" />
      </rdf:description>
    </propertyname>
  </rdf:description>
  <!--  [subject-resource] -propertyname-> [object-resource]
     -                                      |
     -                                      +-property1-> (val1)
     -                                      +-property2-> (val2)
     -                                      :
    -->
  <rdf:description
      rdf:about="http://www.example.com/profile#subject-resource">
    <propertyname>
      <rdf:description
          rdf:about="http://www.example.com/profile#object-resource" >
      <property1>val1</property1>
      <property2>val2</property2>

      <!-- ...etc... -->

      </rdf:description>
    </propertyname>
  </rdf:description>

</rdf:rdf>

2. cc/pp体系结构

本节不是标准的,只是对cc/pp特性的一个概述。

2.1 cc/pp设置文件结构

通常一个cc/pp设置文件会被建造成一个2层的体系:

  • 一个设置文件含有至少一个或多个组件(components),和
  • 每个组件含有至少一个或多个属性(attributes)。

2.1.1 设置文件组件

一个cc/pp设置文件树的最初分支描述了客户的主要组件。举个主要组件的例子:

  • 软件赖以执行的硬件平台,
  • 所有应用程序以之为基础的软件平台,或
  • 一个单独的应用程序,例如浏览器。

一个对cc/pp树的根基的简单、图表化的表达将基于三个组件(terminalhardwareterminalsoftwareterminalbrowser):

图 2-1a:cc/pp设置文件组件
[example:myprofile]
 |
 +--ccpp:component-->[example:terminalhardware]
 +--ccpp:component-->[example:terminalsoftware]
 +--ccpp:component-->[example:terminalbrowser]

本文关键:(CC/PP)结构和词汇 1.0
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top