ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

QNo.4154719 XMLマスター試験について
質問者:ape5 いつもお世話になっております。
XMLマスターのプロフェッショナル(アプリケーション開発)試験を受けたいと思っていて、現在翔泳社のXMLマスター教科書を買いました。
内容を見ていますと、この試験はプログラムからXMLを操作することが試験範囲に入っているようで、この本ではJAVAでプログラムが書かれています。以前こちらで質問したことがあり、それでC#でプログラムを書こうとしています。
前置きが長いのですが、そこでこの本に載っているメソッドとかを見ているとC#では、同じものがあることもあるのですが、ないものもあるようです。
そこで質問です。実際の試験ではプログラムの部分が出てくるようですが(本の後ろの総合問題をみたらあるようでしたので)、本番の試験ではプログラムが書かれている場合はJAVAなのでしょうか?
また、メソッド名とかも本で紹介されているもので覚えこまないと試験では通用しないのでしょうか?(実際には実務で使えればいいのでしょうけど)
受けたことがある方教えていただけると助かります。
困り度:
  • 困っています
質問投稿日時:
08/07/06 04:29
この質問に対する回答は締め切られました。

回答良回答20pt

ANo.1 実際にXMLマスターのプロフェッショナルを取得している者です。(当時はアプリケーションとデータベースの区別はありませんでした。)
もう1年と半年以上も前の話なので今でも同じなのかは分かりませんが、参考になれば幸いです。

> C#では、同じものがあることもあるのですが、ないものもあるようです。

XMLはW3Cという機関が策定しており、例えばDOMの仕様に関して言えば、
レベル、エディション、モジュールという3つの概念で構成されます。
エディションはバージョンを示すだけですが、残り2つのレベルとモジュールによって
DOMパーサーは選択的に機能を備えることができます。
つまり、使用しているDOMパーサーによって提供されるクラスやメソッドが変わるということです。
また、W3Cは仕様を制定しているだけで強制力は全くありません。
JAVAにしろVBにしろ、それぞれ独自のライブラリが存在し、
その中には、XMLデータを操作するためにそれぞれ特有のクラスやメソッドを提供しているものもあります。
私はC#を使ったことはありませんが、C#も同様に固有のクラスやメソッドを持っていることは十分に考えられることです。
しかしいずれの言語にしろ、XMLデータを扱う際の考え方にはさほど差はありません。

> 本番の試験ではプログラムが書かれている場合はJAVAなのでしょうか?

DOMとSAXの範囲はJAVAの文法で書かれていたように記憶しています。
しかし、問われるのは「W3Cで規定されているメソッド」の扱い方であり、
オブジェクト指向言語の基本的な考え方が備わっていれば、大して問題にはならないと思います。

> メソッド名とかも本で紹介されているもので覚えこまないと試験では通用しないのでしょうか?

前述した通り、W3Cの規定した範囲が試験範囲となっているので、
本で紹介されているものだけを覚えてください。

余談ですが、DOMやSAXなどXMLを扱うためのインターフェース(言語仕様)をW3Cで規定しているのは
どの言語でも同じようにXMLを扱えるようにするためという背景があります。
例えば、質問者様がC#で書かれたソースコードをJavaでも転用したくなった場合
そのときC#で使用していたDOMパーサーと同じレベル、エディション、モジュールを持つJavaのDOMパーサーを利用すれば
ソースコードのロジックはほとんどいじる必要がなく移植することができます。(言語的な差異は出るでしょうが)
具体的に言えば、現在C#で動いているシステムがあったとします。
このシステムに利用しているXMLデータを、新たにJavaで作成するシステムでも利用するとなった場合を考えてみてください。
このとき、C#で作成されたシステムが行うXMLデータの解析処理がW3Cに則っていれば
新しく作成するJavaのシステムでも解析処理を転用しやすくなるということです。
XMLは「共通的にデータを扱うことに特化する」という特徴を忘れないでください。

それでは試験に無事合格されることをお祈り申し上げております。
回答者:OKbokuzyo
種類:アドバイス
どんな人:経験者
自信:参考意見
回答日時:
08/07/07 02:25
この回答へのお礼回答ありがとうございます。
とてもわかりやすいアドバイス助かります。
試験ではJAVAですか。
自分が気にしてたのは、自分自身がおそらくC#でのメソッド名などで覚えてしまうのかなって思っていて、試験では苦労するのかなという点でした。
でも、ロジックとしては同じものになるというのであれば、メソッド名はある程度似ているということを考慮して、何とかなるのかなと思えるよういなりました。
がんばって勉強したいとおもいます。
受かるかどうかは、別としても・・・(汗)