
こんにちは
VB2005でXML文書をアプリを作成指定しています。
XML文書を読み込んでバリデーションをかけて、OKであれば処理続けていくプログラムです。
実際の業務でバリデーションのために使用する
XMLSchemaをもらったのですが、階層が深くなかなか複雑なようで、
ファイルの数は100個近くあります。
プログラムのテストのために、指定のXMLSchema全ての構造体を反映したXMLファイルを作成したいのですが、
手動ではかなり厳しいです。
ちなみに、メインとなるXSDファイルがありますが、
その中では、子要素となる構造を定義したXSDファイルを
importやincludeしているだけです。
このようなXSDファイルを指定して、全ての構造を網羅したXMLファイルを作成してくれるツールは存在しますでしょうか?
もしくは、そのようなツールを作成するプログラムのサンプルでも結構です。
以上、よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
昔 XML Schema を扱う仕事をしていた時に,JAXBを使って XML Schema からJavaのコードを自動生成した記憶があるのですが…。
http://www.stackasterisk.jp/tech/java/jaxb01_01. …
や
http://www.atmarkit.co.jp/fxml/rensai2/xmltool02 …
は参考にならないでしょうか?
後者ではMarshallerを使ってXML文書を出力する例も紹介しているので,もしかしたらお役に立つかもしれません。
ただ,
> 全ての構造を網羅したXMLファイルを作成してくれる
これは無理だと思います。XML Schema には繰り返しやoptionもあるので,一つの文書で全てのパターンを網羅することは無理だと思います。また,複数の文書であったとしても,例えば繰り返しを何回行うかには無限のパターンがあり得るため,やはり全てのパターンを網羅することは難しいと思います。
ただ,上述のJAXBを使えば,その手間はかなり減らせるかもしれません。
JAXBはJWSDPの一部なので,参考URLでダウンロードできます。
参考URL:http://java.sun.com/xml/downloads/jaxb.html
回答ありがとうございます。
JAXBは初めて聞きました・・・。勉強して試してみます。
やりたいことは、XML Schema に定義されている全てのElementとAttributeの
タグ名称と親子関係を表すXMLファイルを作りたいということで、
繰返しの箇所は発生回数一回として扱いたいです。
これも無理でしょうか・・・
無理でしたら、教えていただいたサイトを参考に、一度大まかな全体の構成を作成し、
最終的には人の手でチェックしながら修正していく、と言うことにするしかないのかもしれないですね
ありがとうございました。
No.3
- 回答日時:
No.2です。
> やりたいことは、XML Schema に定義されている全てのElementとAttributeの
> タグ名称と親子関係を表すXMLファイルを作りたいということで、
> 繰返しの箇所は発生回数一回として扱いたいです。
> これも無理でしょうか・・・
スキーマ定義の中に xsd:choice が存在する場合,いずれにせよファイル1つの作成で済ませることは無理だと思いますが,全ての要素の出現回数を1に固定してよいのであれば,有限個のファイルで収めることは可能だと思います。
なお,JAXBはあくまでJavaのソースを自動生成してくれるツールなので,実際にXMLファイルを吐くコードは自分で書く必要があります。その手間がどれくらいになるのかはスキーマの複雑さにもよりますが,人力でXML Schemaをパースするよりは間違いが少なくなり,手間も省けると思います。
例えば,XHTMLのようなかなり複雑な構造でも,JAXBを使って文書生成している人が居るようなので,
http://www.ruimo.com/2006/03/03/1141390674449.html
試してみる価値はあると思います。
ありがとうございます。
JAXBを使ってやってみようと思ったのですが、
今回作ろうとしているXMLSchemaからXML文書を作成するツールはいろんなところで使われるようで、
そのマシンにJAVAがインストールされていることを前提にするのはNGとのことでした・・・
ですので、他の方法を探してみます。
せっかく紹介してくださったのにすみません。
ありがとうございました。
No.1
- 回答日時:
XSDもXMLの一種でしょ?
http://www.google.co.jp/search?q=XSD%20XML&hl=ja …
何ならxsltで整形できるんじゃない?
処理はそれこそ今時のxslt使えるブラウザで。
回答ありがとうございます。
お礼が遅くなり申し訳ありません。
XML⇒XMLの変換と考えればよいのでは、と言うことですよね。
考えてみます。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- XML XML同じ名前の要素を自動で集約するツール 1 2022/04/11 09:21
- Visual Basic(VBA) vbaの構文の修正相談(xmlファイルを順に開いてコピペ作業) 1 2023/04/22 01:18
- その他(IT・Webサービス) ホームページにカウント数を表示する 2 2022/10/28 10:37
- ホームページ作成・プログラミング ホームページ作成について。「ワードプレスではありません」。 3 2023/08/13 14:44
- Excel(エクセル) ファイル一覧表を使ったファイルの移動 5 2022/08/10 15:37
- AJAX 自作の地図をグーグルマップのようにしたい 3 2022/11/15 11:53
- PDF PDFを自動添付したメールを送信してくれるツールを探しています。 2 2023/02/07 15:19
- WordPress(ワードプレス) ワードプレスにて .xmlファイルの使い方をご存知の方、よろしくお願いいたします。 2 2022/09/30 00:55
- PDF PDFに精通した方に質問。JPEGファイル群を一つのPDFファイルにするときの容量変化について 6 2023/07/23 19:06
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Excel VBA】取り込んだファイ...
-
VBAで、JPG写真の撮影日時を読...
-
0バイトのテキストファイル
-
HTMLまたはJavaScriptでフ...
-
ACCESS97で作成したmdbファイル...
-
ファイルの排他について
-
VBScriptから指定URLを次々に開...
-
HTMLテキストリンクでExcelファ...
-
<input type="file" で初期値...
-
メールの添付ファイル
-
accessでクエリをExcelにエクス...
-
CSVファイルの時刻の形式について
-
COBOL、項目末尾に空白がある場...
-
Thunderbird 受信メールからの...
-
テキストファイルの一部分を抽...
-
テキストファイル固定長データ...
-
こんな場合はどうすればいいの?
-
fgetsのエラー
-
UTF-8とASCIIコードにおける互...
-
ATTファイルってどうやって開け...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
0バイトのテキストファイル
-
Eclipseで検索ができなくなった
-
【Excel VBA】取り込んだファイ...
-
C++.NET 2003 「空のドキュメ...
-
HTMLまたはJavaScriptでフ...
-
VBAで、JPG写真の撮影日時を読...
-
main関数のコマンドライン引数...
-
HTMLテキストリンクでExcelファ...
-
ファイル作成日時と更新日時を...
-
リソースファイルを認識してく...
-
Javaのファイルダウンロードに...
-
2GB以上のファイルを扱う方法
-
C#について質問【複数の.datフ...
-
ディレクトリのサイズの取得
-
PHPからベーシック認証のかかっ...
-
<input type="file" で初期値...
-
VB2008 iniファイルの全セクシ...
-
教えて下さい。
-
サイトマップにサブドメインを...
-
vbaの構文の修正相談(xmlファ...
おすすめ情報