1

eXist-db (1.4.2) 内に xml ファイルのコレクションがあります。

それらはすべて次のように構成されています。

<magazine>
    <issue.number>22</issue.number>
    <article>
        <title>first article</title>
        <subject>James</subject>
    </article>
    <article>
        <title>second article</title>
        <subject>Billy</subject>
    </article>
</magazine>

REST API 経由ですべてのファイルをクエリしたい:http://localhost:8080/exist/rest/db/folder/test.xq

結果は次のとおりです。

<entries>
    <entry> 
        <name>James</name>
    </entry>
    <entry>
        <name>Billy</name>
    </entry>
<entries>

xquery 出力のスタイルを設定できるようにしたい。.xq の先頭でスタイルシートを参照することで、そうしようとしました。だから今test.xqはで始まります<xml> <?xml-stylesheet type="application/xml" href="test.xsl"?>

何を変更しても、スタイルがまったくないテキストの文字列しか取得できません。

どこが間違っていますか?

スタイルシートの書き方が悪いだけですか? それとも、.xq 内で .xsl を使用できると考えているのは間違っていますか?

4

1 に答える 1

4

ブラウザで xslt 変換を行うには、ドキュメントの最初の XML 要素 ( http://www.w3.org/TR/xml-stylesheet/ ) の前にスタイルシート処理命令を指定する必要があります。

次のように構築することで、処理命令を追加することができます。

processing-instruction xml-stylesheet {'type="application/xml"','href="test.xsl"'},
<myxml/>

もう 1 つの方法は、transform() 関数を使用してサーバー側で変換を行うことです。

http://exist-db.org/exist/apps/doc/xsl-transform.xml

于 2013-08-12T08:29:02.190 に答える