=encoding euc-jp =head1 名前 AnyData::Format::XML - XMLへのtieされたハッシュとDBIによるアクセス =head1 概要 # 多次元のtieされたハッシュを介してXMLデータにアクセス # 完全な詳細はAnyData.podをご覧ください # use AnyData; my $table = adTie( 'XML', $file, $mode, $flags ); または # データをXMLから、そしてXMLへ変換する # 完全な詳細はAnyData.podをご覧ください # use AnyData; adConvert( 'XML', $file1, $any_other_format, $file2, $flags ); adConvert( $any_other_format, $file1, 'XML', $file2, $flags ); または # DBIとSQLを介してアクセス # 完全な詳細はDBD::AnyData.podをご覧ください # use DBI; my $dbh = DBI->connect( 'dbi:AnyData' ); $dbh->func('mytable','XML',$file,$flags,'ad_catalog'); こられの例のすべてに適合するオプションのフラグについての下記の説明を ご覧ください。 =head1 説明 このモジュールは別のデータベース・ファイル実際には作成することなく、 データベースとして扱うことにより、XMLデータそしてファイルを作成し、 検索し、変更そして/あるいは変換することを可能にします。データは AnyData.pmを使って多次元のtieされたハッシュを通して、あるいは DBD::AnyData.pmを使ってDBIとSQLコマンドを通してアクセスすることができます。 使い方の完全な詳細については、それらのモジュールをご覧ください。 このモジュールはMichel Rodriguezの素晴らしいXML::Twigの上に構築されています。 つまりAnyDataインターフェースが、これによりDBDからの情報を含むことができ、 データ構造を類推する点においてより賢くなることができ、巨大なファイルについて メモリ消費を減らすことができるということを意味します。 インポートのオプションはほとんどあらゆる長さや複雑さのXMLを インポート/アクセス/変更することを可能にします。これには異なるサブツリーを 別のあるいはジョインされたデータベースとしてアクセスするという能力も 含まれます。 エクスポートと変換のオプションは、ほとんど全てのソースから(perlの配列、 DBIデータベースのすべてなど)データを取得し、XMLファイルとして 出力することを可能にします。ネストしたタグでリストにするDTDと どのカラムが属性として出力されるかを与えることにより、 結果として出力されるXMLの書式を制御することができます。そして/あるいは 6個の簡潔さや空白の異なるレベルを生成するためにXML::Twig pretty_print 設定を使うことができます。 以下のドキュメントは、両方のインターフェースでXMLがどのように扱われるかを チューンするために使うことが出来る特別なフラグについての概要を説明しています。 以下に上がられているフラグはXMLドキュメントでのタグと属性と結果としての データベースでのカラムとの関係を定義します。多くの場合、デフォルトを 受入ることができ、データベースは自動的に構築されます。しかし、 どのダグと属性にあなたが興味を持っているかとそれらとデータベースのカラムとの 関係を指定することにより、データベースの生成をファイン・チューンする こともできます。 =head1 使用法 =head2 必要なもの tieされたハッシュ・インターフェースを使うためには以下のものが必要です AnyData XML::Twig XML::Parser DBI/SQLインターフェースを使うためには、上記のほかに以下のものも必要です DBI DBD::AnyData =head2 必要なフラグ ( なし ) 何もフラグが指定されなければ、モジュールはファイルやデータそのものを 検査し、もしあればDTDを利用しながら、そうでなければXMLツルーの先頭の 子供を構造の情報のために調査しながら、データベース構造を判定します。 =head2 オプションのフラグ デフォルトの動きで十分でなければ、カラム名を定義するために使われる "レコード・タグ(record tag)"を指定するか、完全なタグ-カラム マッピングを 定義することができます。 簡単なXMLでは、何もフラグは必要ありません: