質問

これによれば:

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

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

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

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

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

役に立ちましたか?

解決

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

シリアイザーを構成する唯一の方法は、コマンドラインインターフェイス(例-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>
)

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

他のヒント

これは、いくつかのXqueryの実装によってすでにサポートされている新しい公式Xquery 3.0構文です(Zorbaですぐに実装されると思いますか?)

declare namespace output = "http://www.w3.org/2010/xslt-xquery-serialization";
declare option output:omit-xml-declaration "yes";
"your query"

ドキュメントによると( 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";

hth!

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

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

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

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

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

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

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

zorba -z omit-xml-declaration=yes -f -q my_xquery.xq
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top