这里是相应的xml编序,默认资源描述内联在客户设置文件描述内部。注意这个例子对rdf元素使用了默认的命名空间,但是对rdf属性还是必须使用显式的命名空间前缀。
<?xml version="1.0"?>
<rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:ccpp="http://www.w3.org/2002/11/08-ccpp-schema#"
xmlns:prf="http://example.com/schema#">
<rdf:description rdf:about="http://example.com/myprofile">
<ccpp:component>
<rdf:description rdf:about="http://example.com/terminalhardware">
<rdf:type rdf:resource="http://example.com/schema#hardwareplatform"/>
<ccpp:defaults>
<rdf:description rdf:about="http://example.com/hwdefault">
<rdf:type rdf:resource="http://example.com/schema#hardwareplatform"/>
<prf:cpu>ppc</prf:cpu>
<prf:displaywidth>320</prf:displaywidth>
<prf:displayheight>200</prf:displayheight>
</rdf:description>
</ccpp:defaults>
<prf:displayheight>640</prf:displayheight>
<prf:displaywidth>400</prf:displaywidth>
</rdf:description>
</ccpp:component>
<ccpp:component>
<rdf:description rdf:about="http://example.com/terminalsoftware">
<rdf:type rdf:resource="http://example.com/schema#softwareplatform" />
<ccpp:defaults>
<rdf:description rdf:about="http://example.com/swdefault">
<rdf:type rdf:resource="http://example.com/schema#softwareplatform"/>
<prf:name>epoc</prf:name>
<prf:vendor>symbian</prf:vendor>
<prf:version>2.0</prf:version>
</rdf:description>
</ccpp:defaults>
</rdf:description>
</ccpp:component>
<ccpp:component>
<rdf:description rdf:about="http://example.com/browser">
<rdf:type rdf:resource="http://example.com/schema#browserua" />
<ccpp:defaults>
<rdf:description rdf:about="http://example.com/uadefault">
<rdf:type rdf:resource="http://example.com/schema#browserua"/>
<prf:name>mozilla</prf:name>
<prf:vendor>symbian</prf:vendor>
<prf:version>5.0</prf:version>
<prf:htmlversionssupported>
<rdf:bag>
<rdf:li>3.2</rdf:li>
<rdf:li>4.0</rdf:li>
</rdf:bag>
</prf:htmlversionssupported>
</rdf:description>
</ccpp:defaults>
<prf:htmlversionssupported>
<rdf:bag>
<rdf:li>2.0</rdf:li>
<rdf:li>3.2</rdf:li>
<rdf:li>4.0</rdf:li>
</rdf:bag>
</prf:htmlversionssupported>
</rdf:description>
</ccpp:component>
</rdf:description>
</rdf:rdf> |
内联的默认与外部引用的文档中的默认在逻辑上是等同的,外部文档会是提供默认值的一般途径。下面是同一个设置文件的xml编序,不过使用了外部定义的默认引用:
<?xml version="1.0"?>
<rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:ccpp="http://www.w3.org/2002/11/08-ccpp-schema#"
xmlns:prf="http://example.com/schema#">
<rdf:description rdf:about="http://example.com/myprofile">
<ccpp:component>
<rdf:description rdf:about="http://example.com/terminalhardware">
<rdf:type rdf:resource="http://example.com/schema#hardwareplatform"/>
<ccpp:defaults rdf:resource="http://example.com/hwdefault"/>
<prf:displaywidth>640</prf:displaywidth>
<prf:displayheight>400</prf:displayheight>
</rdf:description>
</ccpp:component>
<ccpp:component>
<rdf:description rdf:about="http://example.com/terminalsoftware">
<rdf:type rdf:resource="http://example.com/schema#softwareplatform" />
<ccpp:defaults rdf:resource="http://example.com/swdefault"/>
</rdf:description>
</ccpp:component>
<ccpp:component>
<rdf:description rdf:about="http://example.com/browser">
<rdf:type rdf:resource="http://example.com/schema#browserua" />
<ccpp:defaults rdf:resource="http://example.com/uadefault"/>
<prf:htmlversionssupported>
<rdf:bag>
<rdf:li>2.0</rdf:li>
<rdf:li>3.2</rdf:li>
<rdf:li>4.0</rdf:li>
</rdf:bag>
</prf:htmlversionssupported>
</rdf:description>
</ccpp:component>
</rdf:description>
</rdf:rdf> |
每个外部的默认资源是通过uri定位的一个单独rdf文档。
注意:一个默认文档需使用一个
<rdf:description>元素作为根节点。<rdf:description>是用一个值为uri的rdf:about来命名的。这个uri必须与相应的参考文档中的<ccpp:defaults>元素的xml属性rdf:resourcerdf:resource的值对应。(当默认组件是作为内联使用时,默认组件是不需要被识别,如上面的第一个例子。)在下面的默认文档的例子中,将使用外部默认值文档的url。然而默认资源的uri不一定要是公文的url,只要uri可以被独特地识别,同一个uri可以在源文档和外部默认文档中同时使用。处理软件可以通过其他一些途径来定位和检索含有默认资源的文档。
上个例子中用到的默认文档的例子如下:
document: http://example.com/hwdefault <?xml version="1.0"?>
<rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:prf="http://example.com/schema#">
<rdf:description rdf:about="http://example.com/hwdefault">
<rdf:type rdf:resource="http://example.com/schema#hardwareplatform"/>
<prf:cpu>ppc</prf:cpu>
<prf:displaywidth>320</prf:displaywidth>
<prf:displayheight>200</prf:displayheight>
</rdf:description>
</rdf:rdf> |
document: http://example.com/swdefault <?xml version="1.0"?>
<rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:prf="http://example.com/schema#">
<rdf:description rdf:about="http://example.com/swdefault">
<rdf:type rdf:resource="http://example.com/schema#softwareplatform"/>
<prf:name>epoc</prf:name>
<prf:vendor>symbian</prf:vendor>
<prf:version>2.0</prf:version>
</rdf:description>
</rdf:rdf> |
document: http://example.com/uadefault <?xml version="1.0"?>
<rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:prf="http://example.com/schema#">
<rdf:description rdf:about="http://example.com/uadefault">
<rdf:type rdf:resource="http://example.com/schema#browserua"/>
<prf:name>mozilla</prf:name>
<prf:vendor>symbian</prf:vendor>
<prf:version>5.0</prf:version>
<prf:htmlversionssupported>
<rdf:bag>
<rdf:li>3.2</rdf:li>
<rdf:li>4.0</rdf:li>
</rdf:bag>
</prf:htmlversionssupported>
</rdf:description>
</rdf:rdf> |