掲示板一覧 - トピック一覧 Enterprise Architect 全般
xs:complexType と xs:element |
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
| 投稿者 | トピック |
|---|---|
| 未登録ゲスト | 投稿日時: 2006-6-27 14:05 |
xs:complexType と xs:elementこんにちは.
Class 図から XML Schema を生成する時,トップレベルに配置した<<XSDcomplexType>> は,xs:complexType のほかに,必ず対となる同名の xs:element を生成します. この振る舞いを制御する方法はありますでしょうか? 具体的には,以下の二つを行いたいです. 1) 生成される xs:complexType と xs:element の名称を別のものとしたい. 2) xs:complexType のみ生成し,xs:element は生成しない. 以上,よろしくお願いいたします. |
|
| tkouno | 投稿日時: 2006-6-27 14:31 |
EA Administrator ![]() ![]() 投稿: 3939 |
Re: xs:complexType と xs:elementご指摘の件は、現在のEnterprise Architectの正しい挙動です。
Enterprise Architectでは、XMLの生成ルールとして 「Garden of Eden」と呼ばれているルールを採用しています。 このキーワードで検索したら、以下のWikipediaの記事が見つかりました。ぜひご覧ください。http://ja.wikipedia.org/wiki/Universal_Business_Language 現在のところはこの挙動を制御する方法はありません。 機能追加要望として検討させていただきます。 ご迷惑をおかけし申し訳ございませんが 不要な際には逐次削除をお願いします。 ご期待に沿えず申し訳ございません。 |
| 未登録ゲスト | 投稿日時: 2006-6-27 15:00 |
Re: xs:complexType と xs:elementご返信,ありがとうございます.
当方,XML Schema については勉強を始めたばかりで,「Garden of Eden」というルールは知りませんでした. 以下,EA とは直接関係無いので質問には書かなかったのですが,現在,EA で生成された XML Schema を JAXB を用いて java に binding しようとしています. JAXB を用いて schema compling を行うと,element と complexType の名称が等しいために,class 名の conflict が起こってしまいます. そこで,質問したように EA で生成する XML Schema をコントロールできないかと考えました. しかし,EA が生成するコードが有名(?)な XML Schema の記法に従っているのであれば,それを JAXB で扱う方法が有るかも知れませんね. もう少し調べてみようと思います. ありがとうございました. |
|
| tkouno | 投稿日時: 2006-6-27 15:09 |
EA Administrator ![]() ![]() 投稿: 3939 |
Re: xs:complexType と xs:elementこのルールにつきましては当方も不勉強で詳細までは
存じておらず、有名なのかもちょっとわかりません。 現在の生成のルールとして、比較的要望の多いルールで 実装されているだけとお考えください。 その上で、XSLTなどでうまく変換できるようであれば そのほうが早いのかもしれません。 ぜひお試しください。 |
| tkouno | 投稿日時: 2006-12-19 12:51 |
EA Administrator ![]() ![]() 投稿: 3939 |
Re: xs:complexType と xs:elementこちらの件ですが、最新版ビルド801では
以下の方法で対応が可能です。 ぜひお試しください。 1. ツールボックスのXMLスキーマグループから「Element」要素を ダイアグラム内にドロップする 2. ドロップするとダイアログが表示されるので、中央付近にある 「Nested complex Type」にチェックを入れる 3. XSDtopLevelElementおよびXSDComplexType要素が生成される この状態でXMLスキーマを生成すると、ご希望通りの結果となります。 |
| tkouno | 投稿日時: 2006-12-19 16:20 |
EA Administrator ![]() ![]() 投稿: 3939 |
Re: xs:complexType と xs:element追記:
既存のElement要素を変更する場合の手順は 次のとおりです。 1. <<XSDtopLevelElement>>ステレオタイプがついている要素の 親の分類子を削除する (要素を選択した状態で、メインメニューから「要素」→「追加設定」→ 「親クラスとインターフェースの指定」を実行し、表示されるダイアログの 中の一覧の項目を全て削除する) 2. プロジェクトブラウザで、対象のComplexType要素を、1番の要素の 下に移動する 3. XSDを生成する |
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |




