2

これによれば:

http://www.xmlplease.com/xquery-xhtml

「XQuery には、シリアライゼーション パラメータを設定する標準的な方法がありません。XQuery では、XQuery プロセッサの適切なドキュメントを参照して、実装されているシリアライゼーション パラメータと、それらを正確に使用する方法を調べる必要があります。利用可能な場合は、通常、コマンド ラインで設定できます。多くの場合、XQuery ドキュメント内からも使用できます。"

サクソンでは、次のように書くことができます

declare option saxon:output "omit-xml-declaration=yes";

しかし、Zorba XQuery でそれを行う方法については言及されていません。手伝ってくれますか?ありがとうございました。

4

4 に答える 4

4

Zorba は、シリアル化のための XQuery 3.0 プロローグ オプションをまだ実装していません。

シリアライザを構成する唯一の方法は、コマンド ライン インターフェイス (例: --omit-xml-declaration) またはホスト言語 (例: C++ API) を使用することです。

XQuery_t lQuery = aZorba->compileQuery("for $i in (1 to 3) return <a> { $i } </a>");

Zorba_SerializerOptions lSerOptions;
lSerOptions.omit_xml_declaration = ZORBA_OMIT_XML_DECLARATION_YES;

lQuery->execute(std::cout, &lSerOptions);

または、結果を明示的に文字列にシリアル化することもできます

fn:serialize($result,
  <output:serialization-parameters>
    <output:indent value="yes"/>
    <output:method value="xml"/>
    <output:omit-xml-declaration value="yes"/>
  </output:serialization-parameters>
)

次に、コマンド ライン インターフェイスでテキストのシリアル化メソッド (--serialize-text) を使用して、この文字列を出力します。

于 2012-02-16T18:10:05.990 に答える
1

これは新しい公式の XQuery 3.0 構文であり、一部の XQuery 実装で既にサポートされています (Zorba ですぐに実装されると思いますか?)。

declare namespace output = "http://www.w3.org/2010/xslt-xquery-serialization";
declare option output:omit-xml-declaration "yes";
"your query"
于 2012-02-16T16:41:59.097 に答える
0

zorba はoptions を使用してシリアル化パラメーターを設定していないと思います。代わりに、使用しているシリアル化関数のパラメーターとしてこれらのパラメーターを設定する必要があります。

たとえば、zorba 2.x を使用して一部の XML をファイルにシリアライズするには、このfile:write()関数を使用します。この関数は、次の 3 つのパラメーターを取ります。

  • 書き込むファイル
  • 書く内容、
  • およびシリアル化パラメーター:

編集:次のようになると思います:

file:write (
    '/tmp/test.xml', 
    $content, 
    <serialization-parameters>
        <omit-xml-declaration>yes</omit-xml-declaration>
    </serialization-parameters> 
)

ser:serialize()これは、serialize モジュールで一般的な機能を提供していた zorba の 1.4.0 バージョンに似ています。一般に、これはアプリケーション固有であるだけでなく、バ​​ージョン固有でもあるため、使用している zorba のバージョンを知っておくと役立つ場合があります。

編集:コマンド ライン ユーティリティを使用している場合は、オプションを使用して--serialization-parameter, -zシリアル化パラメーターを設定できます。

zorba -z omit-xml-declaration=yes -f -q my_xquery.xq
于 2012-02-16T17:06:45.757 に答える
0

ドキュメント ( http://www.zorba-xquery.com/html/documentation/2.1.0/zorba/indexpage#w3cspecs )によると、Zorba はシリアライゼーション仕様 ( http://www.w3.org/TR/ xslt-xquery-serialization/#serparam )。その場合、私が間違っていなければ、次のようになります。

declare option omit-xml-declaration "yes";

チッ!

于 2012-02-16T15:36:43.380 に答える