1

私は、特定のソリューションの xsd を置き換える任務を負っています。ただし、「要素はこのコンテキストではサポートされていません」というメッセージが表示され続けます。

元の xsd は次のとおりです。

    public const string Xsd = @"
<xs:schema attributeFormDefault='unqualified' elementFormDefault='qualified'     xmlns:xs='http://www.w3.org/2001/XMLSchema'>
  <xs:element name='DataRow'>
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs='unbounded' name='Data'>              
          <xs:complexType>
            <xs:attribute name='Site' type='xs:string' use='required' />
            <xs:attribute name='Month_Num' type='xs:unsignedShort' use='required' />
            <xs:attribute name='Numerator' type='xs:unsignedByte' use='required' />
            <xs:attribute name='Data_Indicator' type='xs:string' use='required' />
            <xs:attribute name='Budgeted' type='xs:unsignedByte' use='required' />
            <xs:attribute name='Executive_Comments' type='xs:string' use='required' />
            <xs:attribute name='Fleet_Executive_Comments' type='xs:string' use='required' />
         </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>";

これが私がそれを置き換えることになっているものです:

<xs:schema attributeFormDefault='unqualified' elementFormDefault='qualified' xmlns:xs='http://www.w3.org/2001/XMLSchema'>
  <MonthlyValues>
    <MonthlyValue IndicatorName='name' LocationName='name' GroupingName='name' Year='MonthNum.Value.Year' Month='MonthNum.Value.Month' Numerator='Numerator' Budget='Budget'>
    </MonthlyValue>
 </MonthlyValues>
</xs:schema>

スキーマは他の誰かによって作成されたものであり、私はそれを置き換えることができるはずでした. 残念ながら、そのようにはうまくいかず、私はそれについてほとんど知りません.

変更する必要がありますか

 <MonthlyValues> 

<xs:element name='MonthlyValues> and keep the 
<xs:sequence>
   <xs:element maxOccurs='unbounded' name='MonthlyValues'>
      <xs:complexType>

を追加します

<MonthlyValue IndicatorName='name' LocationName='name' GroupingName='name' Year='MonthNum.Value.Year' Month='MonthNum.Value.Month' Numerator='Numerator' Budget='Budget'>
</MonthlyValue>

その後?実際にやってみたところうまくいかなかったのですが、似たようなことはありますか?

4

1 に答える 1

1

XSD は別のものです... あなたは XSD に不慣れなようですので、おそらく最も簡単な方法は、サンプル XML から XSD を生成することです。生成されたものを XML に合わせて微調整します。以下の XSD を出発点として使用します。

<?xml version="1.0" encoding="utf-8"?>
<!--XML Schema generated by QTAssistant/XML Schema Refactoring (XSR) Module (http://www.paschidev.com)-->
<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="MonthlyValues">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="MonthlyValue">
          <xsd:complexType>
            <xsd:simpleContent>
              <xsd:extension base="xsd:string">
                <xsd:attribute name="IndicatorName" type="xsd:string" use="required" />
                <xsd:attribute name="LocationName" type="xsd:string" use="required" />
                <xsd:attribute name="GroupingName" type="xsd:string" use="required" />
                <xsd:attribute name="Year" type="xsd:string" use="required" />
                <xsd:attribute name="Month" type="xsd:string" use="required" />
                <xsd:attribute name="Numerator" type="xsd:string" use="required" />
                <xsd:attribute name="Budget" type="xsd:string" use="required" />
              </xsd:extension>
            </xsd:simpleContent>
          </xsd:complexType>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>

学習を支援するエディターに頼る必要があります... Eclipse、Netbeans などにはまともなエディターが付属しており、無料です。

于 2012-07-27T18:40:09.607 に答える