XML Schemaより作成されたドキュメント

目次

top

XML Schemaに関する情報

Target Namespace(対象名前空間) http://toro.2ch.net/test/read.cgi/win/1330826421/sm4win8.xsd
言語 ja
要素と属性の名前空間
  • グローバルで宣言されたな要素と属性はこのスキーマのtarget namespace(対象名前空間)に属します。
  • 標準では、ローカルで宣言された要素はこのスキーマのtarget namespace(対象名前空間)に属します。
  • 標準では、ローカルで定義された属性には名前空間がありません。

定義されたNamespaces(名前空間)

Prefix(接頭辞) Namespace(名前空間)
標準の名前空間 http://toro.2ch.net/test/read.cgi/win/1330826421/sm4win8.xsd
xml http://www.w3.org/XML/1998/namespace
mstns http://tempuri.org/StartMenuSetting.xsd
xs http://www.w3.org/2001/XMLSchema
XML Schemaでの表現
<xs:schema xml:lang="ja" id="StartMenuSetting" targetNamespace="http://toro.2ch.net/test/read.cgi/win/1330826421/sm4win8.xsd" elementFormDefault="qualified">
...
</xs:schema>
top

グローバル要素

Element: execute

要素名 execute
種類 ローカルで定義されたcomplex type
Nillable no
Abstract no
説明 命令内容を規定します。
XMLとしての表現
<execute
commandType="commandType [1] ?"
command="xs:string [0..1] ?"
parameter="xs:string [0..1] ?"
windowState="windowState [0..1] ?"/>
XML Schemaでの表現
<xs:element name="execute">
<xs:complexType>
<xs:sequence/>
<xs:attribute name="commandType" type="commandType" use="required"/>
<xs:attribute name="command" type="xs:string" use="optional"/>
<xs:attribute name="parameter" type="xs:string" use="optional"/>
<xs:attribute name="windowState" type="windowState" use="optional" default="normal"/>
</xs:complexType>
</xs:element>
top

Element: menu

要素名 menu
種類 ローカルで定義されたcomplex type
Nillable no
Abstract no
説明 この要素は階層式メニューを表現します。 子要素としてmenuGroupの要素を持つことができます。
XMLとしての表現
<menu
head="xs:string [0..1]"
visible="xs:boolean [0..1]">
Start Group: menuGroup [0..*]
Start Choice [1]
<menu> ... </menu> [1]
<menuItem> ... </menuItem> [1]
<menuFile> ... </menuFile> [1]
<separater> ... </separater> [1]
<recent> ... </recent> [1]
End Choice
End Group: menuGroup
</menu>
XML Schemaでの表現
<xs:element name="menu">
<xs:complexType>
<xs:group ref="menuGroup" maxOccurs="unbounded" minOccurs="0"/>
<xs:attributeGroup ref="item"/>
</xs:complexType>
</xs:element>
top

Element: menuFile

要素名 menuFile
種類 ローカルで定義されたcomplex type
Nillable no
Abstract no
説明 この要素はフォルダを開く事のできるメニューアイテムを表現します。 リンクとしてフォルダを開くことも、子としてファイル一覧を表示することもできます。 ファイルを対象に指定することもできますが、推奨しません。
XMLとしての表現
<menuFile
head="xs:string [0..1]"
visible="xs:boolean [0..1]"
actAsShortcut="xs:boolean [0..1]">
Start Choice [1..*]
<knownFolder> [1] ?
Start Choice [1] ?
<canonicalName> xs:string </canonicalName> [1] ?
<folderId> guidType </folderId> [1] ?
<path> xs:string </path> [1] ?
<parsingName> xs:string </parsingName> [1] ?
End Choice
</knownFolder>
<directory> xs:string </directory> [1] ?
<shellLibrary> xs:string </shellLibrary> [1] ?
<shellSearchCollection> xs:string </shellSearchCollection> [1] ?
End Choice
</menuFile>
XML Schemaでの表現
<xs:element name="menuFile">
<xs:complexType>
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:element name="knownFolder">
<xs:complexType>
<xs:choice>
<xs:element name="canonicalName" type="xs:string"/>
<xs:element name="folderId" type="guidType"/>
<xs:element name="path" type="xs:string"/>
<xs:element name="parsingName" type="xs:string"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="directory" type="xs:string"/>
<xs:element name="shellLibrary" type="xs:string"/>
<xs:element name="shellSearchCollection" type="xs:string"/>
</xs:choice>
<xs:attributeGroup ref="item"/>
<xs:attribute name="actAsShortcut" type="xs:boolean" default="false" use="optional"/>
</xs:complexType>
</xs:element>
top

Element: menuItem

要素名 menuItem
種類 ローカルで定義されたcomplex type
Nillable no
Abstract no
説明 この要素は命令を実行可能なメニューアイテムを表現します。
XMLとしての表現
<menuItem
head="xs:string [0..1]"
visible="xs:boolean [0..1]">
<execute> ... </execute> [1]
</menuItem>
XML Schemaでの表現
<xs:element name="menuItem">
<xs:complexType>
<xs:sequence>
<xs:element ref="execute"/>
</xs:sequence>
<xs:attributeGroup ref="item"/>
</xs:complexType>
</xs:element>
top

Element: recent

要素名 recent
種類 ローカルで定義されたcomplex type
Nillable no
Abstract no
説明 最近使った項目・最近使ったプログラムを示します。
XMLとしての表現
<recent
type="recentType [0..1] ?"
count="xs:positiveInteger [0..1] ?"
actAsMenu="xs:boolean [0..1] ?"
visible="xs:boolean [0..1]"/>
XML Schemaでの表現
<xs:element name="recent">
<xs:complexType>
<xs:sequence/>
<xs:attribute name="type" type="recentType"/>
<xs:attribute name="count" type="xs:positiveInteger" use="optional" default="1"/>
<xs:attribute name="actAsMenu" type="xs:boolean" default="false" use="optional"/>
<xs:attribute name="visible" type="xs:boolean" default="true"/>
</xs:complexType>
</xs:element>
top

Element: separater

要素名 separater
種類 ローカルで定義されたcomplex type
Nillable no
Abstract no
説明 セパレータです。場所により適切なスタイルで表示されます。
XMLとしての表現
<separater
visible="xs:boolean [0..1]"/>
XML Schemaでの表現
<xs:element name="separater">
<xs:complexType>
<xs:sequence/>
<xs:attributeGroup ref="visibleGroup"/>
</xs:complexType>
</xs:element>
top

Element: startmenuSetting

要素名 startmenuSetting
種類 ローカルで定義されたcomplex type
Nillable no
Abstract no
説明 StartMenuForWin8の設定ファイルです。 **重要:ルート要素です。この要素を設定ファイルのルートに設定してください。** XML Schemaの制限によりこの要素がルート要素である旨が示せません。その為XMLエディター等でエラーがなくとも、正常に動作しない可能性があります。
XMLとしての表現
<startmenuSetting>
<setting> [1] ?
<taskbarHeight> xs:positiveInteger </taskbarHeight> [1] ?
<windowDesign> windowDesign </windowDesign> [1] ?
</setting>
<power
visible="xs:boolean [0..1]"> [1] ?
<powerButton> [1] ?
Start Choice [1..*]
<menuItem> ... </menuItem> [1]
<menuFile> ... </menuFile> [1]
End Choice
</powerButton>
<powerMenu> [1] ?
Start Choice [1]
<menu> ... </menu> [1]
<menuFile> ... </menuFile> [1]
<menuItem> ... </menuItem> [1]
<recent> ... </recent> [1]
End Choice
</powerMenu>
</power>
<items> [1] ?
<menu> ... </menu> [1]
</items>
<programs> [1] ?
<menu> ... </menu> [1]
</programs>
<icon
visible="xs:boolean [0..1]"/> [1] ?
</startmenuSetting>
XML Schemaでの表現
<xs:element name="startmenuSetting">
<xs:complexType>
<xs:sequence>
<xs:element name="setting">
<xs:complexType>
<xs:sequence>
<xs:element name="taskbarHeight" type="xs:positiveInteger"/>
<xs:element name="windowDesign" type="windowDesign"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="power">
<xs:complexType>
<xs:sequence>
<xs:element name="powerButton">
<xs:complexType>
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:element ref="menuItem"/>
<xs:element ref="menuFile"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="powerMenu">
<xs:complexType>
<xs:choice>
<xs:element ref="menu"/>
<xs:element ref="menuFile"/>
<xs:element ref="menuItem"/>
<xs:element ref="recent"/>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attributeGroup ref="visibleGroup"/>
</xs:complexType>
</xs:element>
<xs:element name="items">
<xs:complexType>
<xs:sequence>
<xs:element ref="menu"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="programs">
<xs:complexType>
<xs:sequence>
<xs:element ref="menu"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="icon">
<xs:complexType>
<xs:sequence/>
<xs:attributeGroup ref="visibleGroup"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
top

グローバル定義

Attribute Group: item

属性グループ名 item
説明 タイトルと表示の可否を設定します。
XMLとしての表現
head="xs:string [0..1]"
visible="xs:boolean [0..1]"
XML Schemaでの表現
<xs:attributeGroup name="item">
<xs:attribute name="head" type="xs:string"/>
<xs:attribute name="visible" type="xs:boolean" default="true"/>
</xs:attributeGroup>
top

Attribute Group: visibleGroup

属性グループ名 visibleGroup
説明 <xs:attribute>をルート要素に置くと問題があるため設定したグループです。
XMLとしての表現
visible="xs:boolean [0..1]"
XML Schemaでの表現
<xs:attributeGroup name="visibleGroup">
<xs:attribute name="visible" type="xs:boolean" default="true"/>
</xs:attributeGroup>
top

Model Group: menuGroup

属性グループ名 menuGroup
説明 menuの子にできる要素のグループです。
XMLとしての表現
Start Choice [1]
<menu> ... </menu> [1]
<menuItem> ... </menuItem> [1]
<menuFile> ... </menuFile> [1]
<separater> ... </separater> [1]
<recent> ... </recent> [1]
End Choice
XML Schemaでの表現
<xs:group name="menuGroup">
<xs:choice>
<xs:element ref="menu"/>
<xs:element ref="menuItem"/>
<xs:element ref="menuFile"/>
<xs:element ref="separater"/>
<xs:element ref="recent"/>
</xs:choice>
</xs:group>
top

Simple Type: commandType

Super-types: xs:string < commandType (by restriction)
Sub-types: None
名前 commandType
内容
  • 元のXSDタイプ: string
  • 以下の値をとります: {'command'|'open'|'builtIn'}
説明 コマンドの種類です。
XML Schemaでの表現
<xs:simpleType name="commandType">
<xs:restriction base="xs:string">
<xs:enumeration value="command"/>
<xs:enumeration value="open"/>
<xs:enumeration value="builtIn"/>
</xs:restriction>
</xs:simpleType>
top

Simple Type: guidType

Super-types: xs:string < guidType (by restriction)
Sub-types: None
名前 guidType
内容
  • 元のXSDタイプ: string
  • pattern = \{[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}\}
説明 guidを示します。
XML Schemaでの表現
<xs:simpleType name="guidType">
<xs:restriction base="xs:string">
<xs:pattern value="\{[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}\}"/>
</xs:restriction>
</xs:simpleType>
top

Simple Type: recentType

Super-types: xs:string < recentType (by restriction)
Sub-types: None
名前 recentType
内容
  • 元のXSDタイプ: string
  • 以下の値をとります: {'program'|'file'}
説明 最近使った項目か最近使ったプログラムかを選択します。
XML Schemaでの表現
<xs:simpleType name="recentType">
<xs:restriction base="xs:string">
<xs:enumeration value="program"/>
<xs:enumeration value="file"/>
</xs:restriction>
</xs:simpleType>
top

Simple Type: windowDesign

Super-types: xs:string < windowDesign (by restriction)
Sub-types: None
名前 windowDesign
内容
  • 元のXSDタイプ: string
  • 以下の値をとります: {'transparent'|'normal'|'glass'}
説明 ウィンドウデザインの種類です。
XML Schemaでの表現
<xs:simpleType name="windowDesign">
<xs:restriction base="xs:string">
<xs:enumeration value="transparent"/>
<xs:enumeration value="normal"/>
<xs:enumeration value="glass"/>
</xs:restriction>
</xs:simpleType>
top

Simple Type: windowState

Super-types: xs:string < windowState (by restriction)
Sub-types: None
名前 windowState
内容
  • 元のXSDタイプ: string
  • 以下の値をとります: {'normal'|'close'|'minimized'|'maximized'|'hidden'}
説明 コマンド実行時のウィンドウ状態です。
XML Schemaでの表現
<xs:simpleType name="windowState">
<xs:restriction base="xs:string">
<xs:enumeration value="normal"/>
<xs:enumeration value="close"/>
<xs:enumeration value="minimized"/>
<xs:enumeration value="maximized"/>
<xs:enumeration value="hidden"/>
</xs:restriction>
</xs:simpleType>
top

Complex Type:

Schema Component Type

AusAddress

Schema Component Name
Super-types: Address < AusAddress (by extension)
Sub-types:
  • QLDAddress (by restriction)
If this schema component is a type definition, its type hierarchy is shown in a gray-bordered box.
名前 AusAddress
Abstract no
The table above displays the properties of this schema component.
XML要素としては以下のようになります。
<... country="Australia" >
<unitNo> string </unitNo> [0..1]
<houseNo> string </houseNo> [1]
<street> string </street> [1]
Start Choice [1]
<city> string </city> [1]
<town> string </town> [1]
End Choice
<state> AusStates </state> [1]
<postcode> string <<pattern = [1-9][0-9]{3}>> </postcode> [1] ?
</...>

The XML Instance Representation table above shows the schema component's content as an XML instance.

XML Schemaでは以下のように表現されていました。
<complexType name="AusAddress">
<complexContent>
<extension base="Address">
<sequence>
<element name="state" type="AusStates"/>
<element name="postcode">
<simpleType>
<restriction base="string">
<pattern value="[1-9][0-9]{3}"/>
</restriction>
</simpleType>
</element>
</sequence>
<attribute name="country" type="string" fixed="Australia"/>
</extension>
</complexContent>
</complexType>
The Schema Component Representation table above displays the underlying XML representation of the schema component. (Annotations are not shown.)
top

用語集

Abstract (Applies to complex type definitions and element declarations). An abstract element or complex type cannot used to validate an element instance. If there is a reference to an abstract element, only element declarations that can substitute the abstract element can be used to validate the instance. For references to abstract type definitions, only derived types can be used.

All Model Group Child elements can be provided in any order in instances. See: http://www.w3.org/TR/xmlschema-1/#element-all.

Choice Model Group Only one from the list of child elements and model groups can be provided in instances. See: http://www.w3.org/TR/xmlschema-1/#element-choice.

Collapse Whitespace Policy Replace tab, line feed, and carriage return characters with space character (Unicode character 32). Then, collapse contiguous sequences of space characters into single space character, and remove leading and trailing space characters.

Disallowed Substitutions (Applies to element declarations). If substitution is specified, then substitution group members cannot be used in place of the given element declaration to validate element instances. If derivation methods, e.g. extension, restriction, are specified, then the given element declaration will not validate element instances that have types derived from the element declaration's type using the specified derivation methods. Normally, element instances can override their declaration's type by specifying an xsi:type attribute.

Key Constraint Like Uniqueness Constraint, but additionally requires that the specified value(s) must be provided. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.

Key Reference Constraint Ensures that the specified value(s) must match value(s) from a Key Constraint or Uniqueness Constraint. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.

Model Group Groups together element content, specifying the order in which the element content can occur and the number of times the group of element content may be repeated. See: http://www.w3.org/TR/xmlschema-1/#Model_Groups.

Nillable (Applies to element declarations). If an element declaration is nillable, instances can use the xsi:nil attribute. The xsi:nil attribute is the boolean attribute, nil, from the http://www.w3.org/2001/XMLSchema-instance namespace. If an element instance has an xsi:nil attribute set to true, it can be left empty, even though its element declaration may have required content.

Notation A notation is used to identify the format of a piece of data. Values of elements and attributes that are of type, NOTATION, must come from the names of declared notations. See: http://www.w3.org/TR/xmlschema-1/#cNotation_Declarations.

Preserve Whitespace Policy Preserve whitespaces exactly as they appear in instances.

Prohibited Derivations (Applies to type definitions). Derivation methods that cannot be used to create sub-types from a given type definition.

Prohibited Substitutions (Applies to complex type definitions). Prevents sub-types that have been derived using the specified derivation methods from validating element instances in place of the given type definition.

Replace Whitespace Policy Replace tab, line feed, and carriage return characters with space character (Unicode character 32).

Sequence Model Group Child elements and model groups must be provided in the specified order in instances. See: http://www.w3.org/TR/xmlschema-1/#element-sequence.

Substitution Group Elements that are members of a substitution group can be used wherever the head element of the substitution group is referenced.

Substitution Group Exclusions (Applies to element declarations). Prohibits element declarations from nominating themselves as being able to substitute a given element declaration, if they have types that are derived from the original element's type using the specified derivation methods.

Target Namespace The target namespace identifies the namespace that components in this schema belongs to. If no target namespace is provided, then the schema components do not belong to any namespace.

Uniqueness Constraint Ensures uniqueness of an element/attribute value, or a combination of values, within a specified scope. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.

top