« 2010年4月 | トップページ | 2010年6月 »

2010年5月

2010年5月29日 (土)

お気軽にXMLを扱ってみる 其の2

では、XMLを扱うクラスを設計する前に、XMLはどういう構造なのか調べてみます。

まずは、XML宣言です。
XMLであることを明確に示す宣言で、<?xml ~ ?>で表します。この宣言を明記する場合は、必ず先頭に置かなければなりませんが、なくても構わないそうです。

続いて、要素です。
XMLにおいて最も基本となる情報で、下記の様に表します。

<nanika></nanika>

といった感じです。
また要素の間には、コンテンツを挟むことができます。

<nanika>
  <ahaha>heyhey</ahaha>
</nanika>

上記の場合だと、『heyhey』がコンテンツになります。
コンテンツを持たないものは空要素となります。この場合、2つの表現方法があります。

<nanika></nanika>
<nanika/>

といった感じです。

続きまして、属性です。
属性は、要素の付属情報という位置づけで、属性の中に記述します。

<nanika no="1"/>

この場合、『nanika』要素に『no』という属性を付加しています。
また、『no』属性の値は『1』になります。

属性は、複数記述することができます。

<nanika no="1" name="nanika"/>

ほかにも、いろいろあるみたいですが、これくらいにしておきましょう。一応、これぐらいでも、最低限XMLっぽいものが表現できそうですので。

ここまでのことをまとめますと、

宣言は、XMLの先頭に置くが、なくてもよい。
要素は、1つのコンテンツをもつ。
要素は、複数の要素をもつ。
要素は、複数の属性をもつ。
属性は、1つの値をもつ。

といったところでしょうか。

次回、この構造をもとに、XMLを扱うクラスを設計します。

| | コメント (0) | トラックバック (0)

2010年5月22日 (土)

お気軽にXMLを扱ってみる 其の1

そういえば、最近INIファイルって見かけなくなってきたような気がします。
それでちょこっと調べてみると、どうやら過去の資産となりつつあるようですね。

.net frameworkからはINIファイルを扱う機能はなく、その代わりにXMLファイルを使用することを推奨しているそうです。

じゃあ、XMLはプログラミング言語によってどのような扱いになっているのかといいますと、

JAVAなどは、はじめからXMLが扱える標準関数があるみたいですね。

C++なんかだと、標準でXMLを読むことはできず、『Xerces-C++』等のライブラリを使用することで、XMLが扱えるようになります。

お気軽に作ったアプリ(そもそもC++である時点でお気軽ではないような気もしますが・・・)の情報を保存するのにXMLを使おうと思った瞬間、Xerces-C++ライブラリを入れてとかやると一気にお気軽感が薄れる感じがします。

そこで、C++でお気軽にXMLを扱えるようにしてみたいと思います。

お気軽にXMLを扱うので、DTDとかは無視。XMLの構造も実装が面倒なときは、XML自体に制限(コメントの『<!-- -->』未サポートとか)をかけてしまったりするかもしれません。

ということで、まずは、XMLの情報を保持するためのクラス設計をします。

| | コメント (0) | トラックバック (0)

« 2010年4月 | トップページ | 2010年6月 »