
C++でXML変換プログラムをつくっています。
Xerces c++ (3.0.1)というのを使っているのですが、
ネットでみたところ、パーサの初期化に大きく2通りあるみたいです。
<方法1>
char* xmlFile = "employees.xml";
XercesDOMParser* parser = new XercesDOMParser();
parser->parse(xmlFile);
DOMDocument* doc = parser->getDocument();
<方法2>
char* xmlFile = "employees.xml";
static const XMLCh gLS[] = { chLatin_L, chLatin_S, chNull };
DOMImplementation* impl = DOMImplementationRegistry::getDOMImplementation(gLS);
DOMLSParser* parser = ((DOMImplementationLS*)impl)->createLSParser(DOMImplementationLS::MODE_SYNCHRONOUS, 0);
DOMDocument* doc = parser->parseURI(xmlFile);
どちらもうまくいくのですが、方法2のやっていることの意味がよくわかりません。他にも、
impl = DOMImplementation::getImplementation() ;
ですとか
impl = DOMImplementationRegistry::getDOMImplementation(XMLString::transcode("LS"));
なども見受けられます。
方法1のように普通に生成するのと、LS指定するのと何か違うのでしょうか。
javaにorg.w3c.dom.lsパッケージなどがあるみたいですし、
http://java.sun.com/javase/ja/6/docs/ja/api/org/ …
などをみると「ロードおよび保存」とあるので、load と save のことかとも思えるのですが、それが何なのかよくわからないのです。
LSが何を指すのか、方法2のように生成するのがどんな意味があるのかわかる方、教えていただけませんか。
環境:
WindowsXP SP3
Visual Studio 2008 SP1
No.1ベストアンサー
- 回答日時:
これの事じゃないかな。
http://xerces.apache.org/xerces-c/apiDocs-3/clas …
> Detailed Description
> DOMImplementationLS contains the factory methods for creating Load and Save objects.
>
> An object that implements DOMImplementationLS is obtained by doing a binding specific cast from DOMImplementation to DOMImplementationLS. Implementations supporting the Load and Save feature must implement the DOMImplementationLS interface on whatever object implements the DOMImplementation interface.
ご回答ありがとうございます。
apiはみたつもりでちゃんと読んでませんでした。
Load and Save でいいみたいですね。
引き続き調べたところ、DOMレベル3の勧告で Load and Save Specification というのがありました。
http://www.w3.org/TR/DOM-Level-3-LS/
別サイトに「プラットフォーム及び言語に依存しない方法で XML 文書やデータの読み込みや書き出しが可能」とあるのですが、わかるようなわからないような。読み込み・書き込みの方法を規定したってことでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Vba Replace関数について教えて...
-
CSSが全く分かりません、お助け...
-
CPUが16bitでも32bitOSでコンパ...
-
最初に聞かれたこと
-
c言語の問題の説明、各所ごとに
-
Cのオブジェクトファイルの逆ア...
-
C言語 関数、変数の宣言について
-
C言語について。
-
C言語でファクト関数を使わずに...
-
プログラミング 素数か素数では...
-
あってる
-
DNCL(共テ用プログラミング言語...
-
int16_t の _t は何?
-
DLLファイルの逆コンパイラにつ...
-
visual studio 2022でのC#プロ...
-
プログラミングc++を全く分か...
-
DNCL(共テ用プログラミング言語...
-
C言語 配列と関数の練習問題
-
gccを行ってもexeファイルが生...
-
C言語 列挙型(enum型)変数について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB6.0 特殊文字コードの変換
-
CPUの考え方を教えてください ...
-
ルート要素ノードが2個ある場合?
-
SNMP リンクダウンとノードダ...
-
東芝のDynabookなのですがアン...
-
XMLで要素が記述された順番に意...
-
XML、XSLTの適応エラー(IEから...
-
C#でTreeViewのCheckBoxのサイ...
-
xmlファイルが上手にHTMLに変換...
-
昔Winnyってありましたけど、あ...
-
バッチファイルでテキストファ...
-
ノードとは
-
4バイトを10進数に変換する方法
-
特殊記号が勝手にエスケープさ...
-
同じタグ名の項目取得
-
このエラー、何とかなりません...
-
XPathで途中に名前空間が設定さ...
-
あせんうぶり言語
-
TreeViewに重複する値をセット
-
VBSでxmlの値を書き換えたい
おすすめ情報