2012-07-27 2 views
1

나는 특정 솔루션을 위해 xsd를 대체 할 임무가 주어졌다. 그러나, 나는 "요소가이 문맥에서 지원되지 않습니다."이전 XSD를 새 것으로 바꾼다

<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> 

스키마가 다른 사람에 의해 만들어진 그리고 난 그냥 있어야했다 :

여기
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>"; 

은 내가으로 대체 할 수 있겠 것입니다 : 여기

원래 XSD입니다 그것을 대체 할 수있다. 불행히도 그 방법을 밖으로 작동하지 않으며 그것에 대해 거의 알지 못합니다.

나는

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

<MonthlyValues> 

을 변경하고 이후에

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

를 추가해야합니까? 실제로, 나는 그것을 시도하고 그것이 효과가 없지만, 내가해야 할 비슷한 것이 있는가?

답변

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> 

당신은 괜찮은 편집기, 무료로 제공 등 학습 ... 이클립스, 넷빈즈를 통해 당신을 도울 편집기에 의존해야한다.

+0

가르다 도와 주셔서 감사합니다. 나는 내가 생각했던 것보다 가까이에 있었다. 적어도 나는 바른 길을 가고 있었다! –