■6609 / inTopicNo.1) |
Borland C# Builder で検証をかけるとエラー |
□投稿者/ サンダル (5回)-(2007/08/20(Mon) 15:11:59)
|
分類:[XML]
ネットよりXMLとスキーマのサンプルをいただき、それに付随していた JavaScript で検証をかけるとエラーにならないのですが Borland C# Builder で検証をかけるとエラーになってしまいます。
XMLのどの部分がよろしくないのかご教授ください。 (それともXMLパーサー?)
books.xml (XMLファイル)---------------------------------------------------
<?xml version="1.0" encoding="Shift_JIS" ?> <ym:books xmlns:ym="urn:books"> <owner address="ABCDEFG@AAA.com">NAME</owner> <book isbn="XXXX1-1111-1111-1"> <name>テスト</name> </book> </ym:books>
books.xsd (スキーマファイル1)---------------------------------------------------
<?xml version="1.0" encoding="Shift_JIS" ?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:include schemaLocation="bookSub.xsd" /> <xsd:element name="books"> <xsd:complexType> <xsd:sequence> <xsd:element name="owner" type="ownerType" minOccurs="1" maxOccurs="1" /> <xsd:element name="book" type="bookType" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:attributeGroup name="bookAttr"> <xsd:attribute name="isbn" use="required"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:pattern value="XXXX[0-9]{1}-[0-9]{4,5}-[0-9]{3,4}-[0-9]{1}" /> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:attributeGroup> <xsd:complexType name="bookType"> <xsd:sequence> <xsd:choice> <xsd:element name="name" type="xsd:string" /> <xsd:element name="title" type="xsd:string" /> </xsd:choice> </xsd:sequence> <xsd:attributeGroup ref="bookAttr" /> </xsd:complexType> </xsd:schema>
bookSub.xsd (スキーマファイル2)---------------------------------------------------
<?xml version="1.0" encoding="Shift_JIS" ?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:complexType name="ownerType" mixed="true"> <xsd:attribute name="address" type="xsd:string" use="required" /> </xsd:complexType> </xsd:schema>
C# ソース(少し省略) ---------------------------------------------------
String schemaPath1 = "books.xsd"; String documentPath = "books.xml";
XmlValidatingReader reader = new XmlValidatingReader( new XmlTextReader(documentPath) );
reader.ValidationType = ValidationType.Schema;
reader.Schemas.Add(null, schemaPath1);
reader.ValidationEventHandler += new ValidationEventHandler (ValidationHandler);
XmlDocument doc= new XmlDocument();
doc.Load(reader);
richTextBox1.AppendText(String.Format("Validation finished: {0} validation errors\n\n", _ValidationErrorsCount)); for(int i=0; i<_cnt; i++) { richTextBox1.AppendText(_msg[i]); }
エラー内容 ---------------------------------------------------
'urn:books:books' 要素が宣言されていません。 file:///C:/temp/schemas_book_org/books.xml (2 , 2) でエラーが発生しました。
'owner' 要素が宣言されていません。 file:///C:/temp/schemas_book_org/books.xml (3 , 3) でエラーが発生しました。
他にも沢山・・・
|
|