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のいずれかを追加する必要があることを示しましたが、これと同じエラーメッセージを受け取らずにそれを行うことはできません。
あなたの助けに感謝。