初めて、自分のXMLを検証するためのXMLスキーマを作成しようとしています。
XMLの開始(通知" -instance
"および" SectionNumber="0"
"):
<?xml version="1.0" encoding="utf-8"?>
<CrystalReport
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:crystal-reports:schemas:report-detail
http://www.businessobjects.com/products/xml/CR2008Schema.xsd"
xmlns="urn:crystal-reports:schemas:report-detail"
>
<ReportHeader>
<Section SectionNumber="0">
<Text Name="Text9">
...
私のXMLスキーマ(2、3、20行目に注意):
<?xml version="1.0" encoding="utf-8"?>
<xsi:schema id="XMLSchema_varslings1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="urn:crystal-reports:schemas:report-detail"
elementFormDefault="qualified"
targetNamespace="urn:crystal-reports:schemas:report-detail">
<xsi:element name="CrystalReport" type="CrystalReportType"/>
<xsi:complexType name="CrystalReportType">
<xsi:sequence maxOccurs="unbounded">
<xsi:element name="ReportHeader" type="ReportHeaderType"/>
</xsi:sequence>
</xsi:complexType>
<xsi:complexType name="ReportHeaderType">
<xsi:sequence>
<xsi:element name="Section" type="SectionType"/>
<!-- This is line 19....................................... -->
<xsi:attribute name="SectionNumber" type="xsi:Integer"/>
</xsi:sequence>
</xsi:complexType>
<xsi:complexType name="SectionType">
<xsi:sequence maxOccurs="unbounded">
<xsi:element name="Text" type="TextType" />
</xsi:sequence>
</xsi:complexType>
<xsi:complexType name="TextType">
<xsi:sequence maxOccurs="unbounded">
<xsi:element name="TextValue" type="xsi:string" />
</xsi:sequence>
</xsi:complexType>
</xsi:schema>
このエラーが発生しましたが、解決できません: " The root element of a W3C XML Schema should be <schema> and its namespace should be 'http://www.w3.org/2001/XMLSchema'.
"
-instance
スキーマから""を削除すると、上記のエラーは削除されますが、属性" <xsi:attribute name="SectionNumber" type="xsi:Integer"/>
"のコードを使用できません。
私の本当の問題がその-instance
一部なのか、それともスキーマに属性を書き込む/含める別の方法があるのかさえわかりません。どうすればこれを解決できますか?