1

EXIficientを使用して XML データを EXI に変換し、XML に戻しています。ここでは、EXIficientDemo クラスを使用します。サンプルコード:

EXIficientDemo sample = new EXIficientDemo();
sample.parseAndProofFileLocations("FilePath");
sample.codeSchemaLess();

最初に xml ファイルを EXI に変換し、次に XML に戻します。以前に生成された EXI のファイルから XML を生成すると、名前空間に関する情報が失われます。

実際の XML ファイル:

<?xml version="1.0" encoding="utf-8"?>
<tt xml:lang="ja" xmlns="http://www.w3.org/ns/ttml"
 xmlns:tts="http://www.w3.org/ns/ttml#styling"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<body>
    <div>
      <p xml:id="s1">
         <span tts:origin="somethings">somethings</span>
      </p>      
   </div>
</body>

EXIficient によって生成された XML ファイル

<?xml version="1.0" encoding="UTF-8"?>
<ns3:tt xmlns:ns3="http://www.w3.org/ns/ttml" 
xml:lang="ja"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<ns3:body><ns3:div>
<ns3:p xml:id="s1">
<ns3:span xmlns:ns4="http://www.w3.org/ns/ttml#styling"
ns4:origin="somethings">somethings</ns3:span>
</ns3:p>
</ns3:div></ns3:body>

生成された XML ファイルでは、それが欠落していますxmlns:tts="http://www.w3.org/ns/ttml#styling"

この問題を解決するにはどうすればよいですか? できれば、私を助けてください。

4

2 に答える 2

0

私はこの質問を偶然読んだのですが、残念ながらかなり遅くなりました。人々がまだこれに苦労していて、何ができるのか疑問に思っている場合に備えて.

指摘されたように、EXIficient は名前空間の処理に関して問題なく動作します。

そうは言っても、EXI 仕様では、プレフィックスと名前空間を保持できます ( Preserve Optionsを参照)。

EXIficient では、これらのオプションを適宜設定できます。

EXIFactory.getFidelityOptions().setFidelity(FidelityOptions.FEATURE_PREFIX, true);
于 2016-12-12T14:44:33.693 に答える