- - PR -
XMLスキーマチェックについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-03-03 17:29
こんにちは。
VB.NETで開発しているものです。 現在、XMLとスキーマのチェックを行おうとしているのですが、 うまくいきません。 (やろうとしているソースは以下の以下のHPです) http://www.atmarkit.co.jp/fdotnet/easyxml/easyxml08/easyxml08_01.html タグ名が間違っていたりすると、チェックで引っかかるのですが、 あるタグをまるまる削除しても、チェックで引っかかりません。 どなたか分かる方がいらっしゃいましたら、ご教授下さい。 お願いします。 |
|
投稿日時: 2004-03-03 23:50
そんなことはないでしょう…と思い、試しに「名前」「住所」を消してみたら、
ちゃんとエラーになりました。 Unhandled Exception: System.Xml.Schema.XmlSchemaException: The element 'http://w ww.atmarkIT.co.jp/ns/sample/addressBook:個人' has incomplete content. Expected ' http://www.atmarkIT.co.jp/ns/sample/addressBook:名前'. An error occurred at file :///C:/cygwin/home/ginga/tests/atmarkit/sample01.xml, (12, 5). # どのようなXMLに修正して試したのかが分からないと再現できません ;-) |
|
投稿日時: 2004-03-04 19:59
遅くなりました。
例えば、下のようなXMLとスキーマで、 "<test02>222</test02>"をまるまる消したとします。 <?xml version="1.0" encoding="utf-8"?> <test xmlns="http://tempuri.org/XMLFile1.xsd"> <test01>111</test01> <test02>222</test02> <test03 /> </test> <?xml version="1.0"?> <xs:schema id="NewDataSet" targetNamespace="http://tempuri.org/XMLFile1.xsd" xmlns:mstns="http://tempuri.org/XMLFile1.xsd" xmlns="http://tempuri.org/XMLFile1.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" attributeFormDefault="qualified" elementFormDefault="qualified"> <xs:element name="test"> <xs:complexType> <xs:sequence> <xs:element name="test01" type="xs:string" minOccurs="0" /> <xs:element name="test02" type="xs:string" minOccurs="0" /> <xs:element name="test03" type="xs:string" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:Locale="ja-JP" msdata:EnforceConstraints="False"> <xs:complexType> <xs:choice maxOccurs="unbounded"> <xs:element ref="test" /> </xs:choice> </xs:complexType> </xs:element> </xs:schema> すると、スキーマチェックでエラーが起こらないのです。 タグ名が違うときは、出るのに.... |
|
投稿日時: 2004-03-04 20:21
karajanです。
minOccurs="0" の要素はなくてもいいということです。 ですので、なくてもエラーにはなりません。 |
|
投稿日時: 2004-03-05 01:01
ありがとうございます。
"minOccurs"の意味はそういうことだったのですね。 私の勉強不足でした... ありがとうございます。 |
1