0

W3Cドキュメントを読み、チュートリアルを読み、ここでさまざまな投稿を読みましたが、Visual Studio 2010(バージョン10.0.4.0219.1)で次のスキーマ定義に無効のフラグが付けられている理由がわかりません。

提供されるかもしれないどんな助けでもありがたいです。これは、問題を示すサンプルスキーマ定義です。

<?xml version="1.0" encoding="utf-8"?>
<xs:schema 
  attributeFormDefault="unqualified" 
  elementFormDefault="qualified" 
  targetNamespace="http://www.tempuri.org/WhyDoesThisFail" 
  xmlns:xs="http://www.w3.org/2001/XMLSchema" 
  xmlns:why="http://www.tempuri.org/WhyDoesThisFail">

<!-- Write a valid XSD to describe the following:
   <SomeField alias="SomeAlias">1234.5678</SomeField>
-->
<xs:attributeGroup name="FieldAlias">
  <xs:attribute name="alias" type="xs:string" />
</xs:attributeGroup>

<xs:complexType name="DecimalWithAlias">
  <xs:simpleContent>
    <xs:restriction base="xs:decimal">
      <xs:attributeGroup ref="why:FieldAlias" />
    </xs:restriction>
  </xs:simpleContent>
 </xs:complexType>

 <xs:element name="SomeField" type="why:DecimalWithAlias"/>

</xs:schema>

Visual Studioに表示されるメッセージ(xs:restrictionの青い下線)は次のとおりです。

未定義のcomplexType"http://www.w3.org/2001/XMLSchema:decimal"は、複合型制限のベースとして使用されます。

他の人は、基本タイプからの制限を定義するためにsimpleTypeまたはcomplexTypeのいずれかを追加する必要があることを示しましたが、これと同じエラーメッセージを受け取らずにそれを行うことはできません。

あなたの助けに感謝。

4

1 に答える 1

0

XSD には、拡張と制限という 2 種類の継承があります。延長の場合です。この特定のは、属性を追加することによって単純型を複合型に拡張したものに似ています。

于 2012-05-14T22:32:01.220 に答える