- 締切済み
XMLスキーマのrefの使い方
こんにちは。yukimura1024です。 以下のXMLスキーマなんですが「Aの下にBを置ける」という意味でrefを使っています。 しかしこの書き方では「ルート要素としてAもBも使える」という意味でも解釈されてしまいます。 これをrefを使いつつ「Aの下にBを置ける」けど「ルート要素はAのみ」とするにはどう書けばいいでしょうか? <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="A"> <xs:complexType> <xs:sequence> <xs:element ref="B"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="B"> <xs:complexType> <xs:sequence> <xs:element name="C" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> アドバイスいただける方いましたらお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="A" type="AType" /> <xs:complexType name="AType"> <xs:sequence> <xs:element name="B" type="BType" /> </xs:sequence> </xs:complexType> <xs:complexType name="BType"> <xs:sequence> <xs:element name="C" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:schema> では、ダメですか
お礼
回答が遅くなりました。。。 試してみましたが、どうもダメなようです。 AとB・Cの2ファイルに分けることで解決しました。
補足
こんばんは!回答ありがとうございます。 なるほど、Typeを使って型にしてしまう?訳ですね。 XMLスキーマからXMLエディタを作るのですが、 これでうまくいくかどうか、明日職場で試してみたいと思います。