0

私はまだ特定の RDF ファイルに取り組んでいますが、何かがうまくいかないようです。私のRDFファイルのコードは次のとおりです。

<?xml version = '1.0"?>

<rdf:RDF xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc = "http://purl.org/dc/elements/1.1/"
xmlns:dp = "http://www.telemed.uniud.it/dp/0.1/"
xmlns:dcq = "http://purl.org/dc/qualifiers/1.0/" >


<rdf:Description rdf:about="m021">
    <dc:creator>CAB</dc:creator>
    <dc:title>m021</dc:title>
    <dc:subject></dc:subject>
    <dc:date>null</dc:date>
    <dc:description></dc:description>
    <dc:identifier>1</dc:identifier>
    <dc:relation.requires rdf:resource="./20x/m02120x"/>
    <dc:relation.requires rdf:resource="./10x/m02110x"/>
    <dc:relation.requires rdf:resource="./5x/m0215x"/>
    <dc:relation.requires rdf:resource="./2.5x/m0212.5x"/>
    <dc:relation.requires rdf:resource="preview.jpg"/>
    <dp:resolution rdf:parseType="Resource">
      <dp:unit>micron</dp:unit>
      <dp:x>0.23235294</dp:x>
      <dp:y>0.23046875</dp:y>
    </dp:resolution>
    <dp:objective rdf:parseType="Resource">
      <dp:magnification>20.0</dp:magnification>
      <dp:na>0.6</dp:na>
    </dp:objective>
    <dp:imsize rdf:parseType="Resource">
      <dp:x>316</dp:x>
      <dp:y>236</dp:y>
    </dp:imsize>
</rdf:Description>

<rdf:Description rdf:about="./20x/m02120x">
    <dp:type>plane</dp:type>
    <dp:magnification>20</dp:magnification>
    <dp:matrix rdf:parseType="Resource">
        <dp:xrange>1-103</dp:xrange>
        <dp:yrange>1-86</dp:yrange>
    </dp:matrix>
</rdf:Description>

</rdf:RDF>

URLLoader を使用してこのファイルをロードし、スクリプトでいくつかのプロパティにアクセスしようとしています。たとえば、プロパティ dp:x にアクセスする必要があり、dp:resolution にネストされ、rdf:Description にネストされています。私の考えでは、正しいコードは次のとおりです。

//「result:XML」はすべての RDF を含む変数であり、xmlLabel はラベルであると仮定します

xmlLabel.text = 'test:' + result.Description.resolution.x;

しかし、このコードでは空の結果が得られます。

次の行を渡すために、別の(そしてエレガントではない)方法を試しました:

xmlLabel.text = 'test:' + result.child(0).child(11).child(1);

そして、このコード wokrs は、値 0.23235294 を与えます (予想どおり)

私の質問は次のとおりです。プロパティの呼び出しで何か間違ったことをしていますか? また、「ダブル ドット」表記 (例: 結果..説明) を試しましたが、結果はありませんでした。

問題は、作業中のファイルが有効な XML ファイルではない可能性がありますか? この場合、RDF を有効な XML に適合させて機能させる方法はありますか?

回答ありがとうございます

デビッド

4

1 に答える 1

1

こんにちは、デビッド (はい、チェンです :) )。結果が空の理由は、タグが名前空間で指定されており、タグにアクセスするときに指定する必要があるためです。この flex チュートリアル で役立つ情報を見つけることができます。

基本的に、次のような名前空間変数を宣言する必要があります。

var rdf:Namespace = new Namespace ("http://www.w3.org/1999/02/22-rdf-syntax-ns#");
var dp:Namespace = new Namespace ("http://www.telemed.uniud.it/dp/0.1/");

次のように、ノードにアクセスするときに使用します。

var resolution = result.ref::Description.dp::resolution
于 2009-02-05T16:50:27.853 に答える