Edit C:\Windows\security\KB.xsd
<?xml version="1.0" encoding="utf-8" ?> <xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <!-- // This schema definition file can be used to validate // two types of SCW knowledge base files: // // 1. KB files - Raw knowledge base files that contain // no localization or registration information. // 2. Loc files - Raw localization files that contain no // knowledge base or registration information. // // This schema is included in KbRegistrationInfo.xsd which // validates KB Registration Info files - Prepared knowledge // base files that contain registration information and // localization text for one or more languanges. --> <!-- Including the firewall schema --> <xs:include schemaLocation="FirewallPolicy.xsd"/> <!-- Root element for raw KB. --> <xs:element name="SCWKnowledgeBase" type="KBDataType"/> <!-- Root element for raw localization file. --> <xs:element name="SCWLocalization" type="KBLocalizationDataType"/> <xs:complexType name="ApplicableVersionsType"> <xs:sequence> <!-- A single KB can support multiple versions or service pack levels. --> <xs:element name="Version" type="KBExtVersionType" minOccurs="1" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <!-- A specific Windows OS Version and Service Pack level that is supported by the KB extension. --> <xs:complexType name="KBExtVersionType"> <xs:attribute name="OSVersionMajorInfo" type="xs:nonNegativeInteger" use="required"/> <xs:attribute name="OSVersionMinorInfo" type="xs:nonNegativeInteger" use="required"/> <xs:attribute name="ServicePackMajor" type="xs:nonNegativeInteger" use="required"/> <xs:attribute name="ServicePackMinor" type="xs:nonNegativeInteger" use="required"/> </xs:complexType> <xs:complexType name="KBDataType"> <xs:sequence> <!-- Roles are displayed on the Server Roles or Client Roles Page --> <xs:element name="Roles" type="RolesType" minOccurs="0" maxOccurs="1"/> <!-- Tasks are displayed on the Administration and other Options page. --> <xs:element name="Tasks" type="TasksType" minOccurs="0" maxOccurs="1"/> <!-- The services section provides further information (e.g. Startup Mode) about services that are referenced by all roles and tasks. --> <xs:element name="Services" type="ServicesType" minOccurs="0" maxOccurs="1"/> <!-- This is where the list of Firewall rules referenced by all roles goes. --> <xs:element name="Firewall" type="FirewallType" minOccurs="0" maxOccurs="1"> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="RolesType"> <xs:sequence> <xs:element name="Role" type="RoleType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="RoleType"> <xs:all> <!-- A Server Role can only depend on other server roles. A Client Role can depend on Server Roles or Client Roles. --> <xs:element name="DependsOn" type="RoleDependsOnType" minOccurs="0" maxOccurs="1"/> <!-- By default, a Role is satisfied if all services for the role are installed. Use the satisfiable element (and provide a function name and dll path) to override this default behavior. If Role A depends on Role B and Role B is not satisfied, then Role A is not satisfied. --> <xs:element name="Satisfiable" type="SatisfiableType" minOccurs="0" maxOccurs="1"/> <!-- If a role is satisfied, the selected element determines whether the role is checked by default. If Role A depends on Role B and Role B is not checked by default, then Role A is not checked by default. --> <xs:element name="Selected" type="SelectedType" minOccurs="1" maxOccurs="1"/> <!-- References to services that are required by the role. --> <xs:element name="Services" type="RefServicesType" minOccurs="0" maxOccurs="1"/> <!-- References to firewall rules used by the role --> <xs:element name="Firewall" type="RefFirewallType" minOccurs="0" maxOccurs="1"> <xs:unique name="UniqueFirewallRuleRefIdConstraint"> <xs:selector xpath="FirewallRule"/> <xs:field xpath="@Id"/> </xs:unique> </xs:element> </xs:all> <!-- Indicates whether the role is a Server Role, Client Role, or Independent Role. Independent Roles are not displayed by the SCW UI. --> <xs:attribute name="Type" type="RoleTypeType" use="required"/> <!-- Internal Name of the Role. All internal names are case-sensitive. --> <xs:attribute name="Name" type="NameType" use="required"/> <!-- Indicates whether or not the network security portion of the wizard is skipped when the role is selected. Default is not to skip. --> <xs:attribute name="PrecludeNetworkSecurity" type="PrecludeNetworkSecurityType" use="optional"/> <!-- Whether the role is Enabled or Disabled. --> <xs:attribute name="Status" type="StatusType" use="required"/> </xs:complexType> <xs:complexType name="SelectedType"> <!-- If a role is satisfied, the Selected element determines whether the role is checked by default. The Value attribute for the Selected element must be TRUE, FALSE, DEFAULT, or CUSTOM. --> <xs:attribute name="Value" type="SelectedValueType" use="required"/> <!-- FunctionName and DLLPath are only required if the Value attribute is set to "CUSTOM". The Function must return Boolean. --> <xs:attribute name="FunctionName" type="xs:string" use="optional"/> <xs:attribute name="DLLPath" type="xs:string" use="optional"/> </xs:complexType> <xs:complexType name="SatisfiableType"> <!-- The Satisfiable element only exists in order to override the default method for determining whether a role is satisfied. If the Satisfiable element exists, a Function Name and DLL Path are required to specify the code that implements the override logic. The function must return Boolean. --> <xs:attribute name="FunctionName" type="xs:string" use="required"/> <xs:attribute name="DLLPath" type="xs:string" use="required"/> </xs:complexType> <xs:complexType name="RoleDependsOnType"> <xs:sequence> <!-- If the DependsOn element exists for a role, it must contain a Roles element. --> <xs:element name="Roles" type="RoleDependsOnRolesType" minOccurs="1" maxOccurs="1"/> </xs:sequence> </xs:complexType> <xs:complexType name="RoleDependsOnRolesType"> <xs:sequence> <!-- If the DependsOn element exists, there must be at least one role inside the contained Roles element. --> <xs:element name="Role" type="EntityReferenceType" minOccurs="1" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="EntityReferenceType"> <!-- Case-sensitive name of a role that this Role (or Task) Depends On --> <xs:attribute name="Name" type="NameType" use="required"/> </xs:complexType> <xs:complexType name="RefServicesType"> <xs:sequence> <xs:element name="Service" type="RefServiceType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="RefServiceType"> <!-- Service names correspond to the internal service names used by the Service Control Manager. Service names are case-insensitive with respect to the Service Control Manager names but are case-sensitive within the KB. --> <xs:attribute name="Name" type="NameType" use="required"/> <xs:attribute name="PlatformID" type="PlatformType" use="optional"/> </xs:complexType> <xs:complexType name="RefFirewallType"> <xs:sequence> <!-- Ids (guids) pointing to the actual firewall rules --> <xs:element name="FirewallRule" type="RefFirewallRuleType" minOccurs="0" maxOccurs="unbounded"> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="RefFirewallRuleType"> <xs:attribute name="Id" type="xs:string" use="required"/> </xs:complexType> <xs:complexType name="TasksType"> <xs:sequence> <xs:element name="Task" type="TaskType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="TaskType"> <xs:all> <!-- Tasks appear on the "Administration and other Options" Page. A task is defined very much like a role. Exceptions noted below: --> <!-- A task cannot depend on another task. A task can only depend on a Server Role or Client Role. --> <xs:element name="DependsOn" type="TaskDependsOnType" minOccurs="0" maxOccurs="1"/> <!-- By default, a task is satisfied if all services required for the task are installed. Use the satisfiable element (and provide a function name and dll path) to override this default behavior. If Task A depends on Role A and Role A is not selected, then Task A is not displayed. --> <xs:element name="Satisfiable" type="SatisfiableType" minOccurs="0" maxOccurs="1"/> <!-- If a task is satisfied, the selected element determines whether the task is checked by default. If Task A depends on Role A and Role A is not selected, then Task A is not displayed. --> <xs:element name="Selected" type="SelectedType" minOccurs="1" maxOccurs="1"/> <!-- Services that are required by the task. --> <xs:element name="Services" type="RefServicesType" minOccurs="0" maxOccurs="1"/> <!-- Firewall rules required by the task. --> <xs:element name="Firewall" type="RefFirewallType" minOccurs="0" maxOccurs="1"/> </xs:all> <!-- Unlike Roles, the type attribute for a task is optional and the only type supported is "RemoteAdmin". --> <xs:attribute name="Type" type="TaskTypeType" use="optional"/> <!-- Internal Name of the Task. All internal names are case-sensitive. --> <xs:attribute name="Name" type="NameType" use="required"/> <!-- Indicates whether or not the network security portion of the wizard is skipped when the task is selected. Default is not to skip. --> <xs:attribute name="PrecludeNetworkSecurity" type="PrecludeNetworkSecurityType" use="optional"/> </xs:complexType> <xs:complexType name="TaskDependsOnType"> <xs:sequence> <!-- If the DependsOn element exists for a task, it must contain a Roles element --> <xs:element name="Roles" type="TaskDependsOnRolesType" minOccurs="1" maxOccurs="1"/> </xs:sequence> </xs:complexType> <xs:complexType name="TaskDependsOnRolesType"> <xs:sequence> <!-- If the DependsOn element exists, it must reference the case-sensitive internal name of at least one role. A Task that DependsOn a role is displayed only if the corresponding role is selected. --> <xs:element name="Role" type="EntityReferenceType" minOccurs="1" maxOccurs="unbounded"/> </xs:sequence> <!-- The DependsOn relation for Tasks can be evaluated using AND or OR logic. For example, Task A DependsOn Role A or Role B. If not specified, AND logic is used --> <xs:attribute name="Logic" type="LogicType" use="optional"/> </xs:complexType> <xs:complexType name="ServicesType"> <xs:sequence> <!-- The Services section contains additional information about the services that are associated with Roles or Tasks. Not every service associated with a Role or Task needs to be defined in the Services section. Specifically, if a service that ships on the Windows CD is associated with a Role or Task in an extension KB, then that service should not be specified in the Services section of the extension KB. The reason for this is that all services that ship on the Windows CD should already be defined in the root KB that the extension KB is extending. --> <xs:element name="Service" type="ServiceType" minOccurs="1" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="ServiceType"> <xs:all> <xs:element name="Optional" type="OptionalType" minOccurs="1" maxOccurs="1"/> <!-- Indicates the startup mode that should be used for the service when the service is enabled by a Role or task. --> <xs:element name="Startup_Default" type="Startup_DefaultType" minOccurs="1" maxOccurs="1"/> <xs:element name="Cluster_Startup_Default" type="Startup_DefaultType" minOccurs="0" maxOccurs="1"/> </xs:all> <!-- The internal name of the service as it is known to the service control manager. The service name is case-sensitive within the KB, but not with respect to the service control manager name. --> <xs:attribute name="Name" type="NameType" use="required"/> </xs:complexType> <xs:complexType name="KBLocalizationDataType"> <!-- Localization information for a prepared KB. --> <xs:all> <!-- Localization information (Displaynames, descriptions, etc.) should be supplied for all Roles, Tasks, and Services defined in the KB. --> <xs:element name="RoleLocalization" type="RoleLocalizationType" minOccurs="0" maxOccurs="1"/> <xs:element name="TaskLocalization" type="TaskLocalizationType" minOccurs="0" maxOccurs="1"/> <xs:element name="ServiceLocalization" type="ServiceLocalizationType" minOccurs="0" maxOccurs="1"/> </xs:all> <xs:attribute name="CultureName" type="xs:string" use="required"/> </xs:complexType> <xs:complexType name="RoleLocalizationType"> <xs:sequence> <!-- If the RoleLocalization element exists, there must be localization information for at least one role. --> <xs:element name="Role" type="RoleLocType" minOccurs="1" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="RoleLocType"> <xs:all> <!-- Displayname of the role. --> <xs:element name="DisplayName" type="xs:string" minOccurs="1" maxOccurs="1"/> <!-- A brief description of the role. --> <xs:element name="Description" type="xs:string" minOccurs="1" maxOccurs="1"/> <!-- Optional Advanced information about the role. --> <xs:element name="Details" type="xs:string" minOccurs="0" maxOccurs="1"/> <!-- Optional SCW-specific information about the role. --> <xs:element name="SCWDetails" type="xs:string" minOccurs="0" maxOccurs="1"/> </xs:all> <!-- Case-sensitive internal name of the Client or Server Role for which localization information is being provided. --> <xs:attribute name="Name" type="NameType" use="required"/> </xs:complexType> <xs:complexType name="TaskLocalizationType"> <xs:sequence> <!-- If the TaskLocalization element exists, there must be localization information for at least one task. --> <xs:element name="Task" type="TaskLocType" minOccurs="1" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="TaskLocType"> <xs:all> <!-- Displayname of the task. --> <xs:element name="DisplayName" type="xs:string" minOccurs="1" maxOccurs="1"/> <!-- A brief description of the task. --> <xs:element name="Description" type="xs:string" minOccurs="1" maxOccurs="1"/> <!-- Optional Advanced information about the task. --> <xs:element name="Details" type="xs:string" minOccurs="0" maxOccurs="1"/> <!-- Optional SCW-specific information about the task. --> <xs:element name="SCWDetails" type="xs:string" minOccurs="0" maxOccurs="1"/> </xs:all> <!-- Case-sensitive internal name of the Task for which localization information is being provided. --> <xs:attribute name="Name" type="NameType" use="required"/> </xs:complexType> <xs:complexType name="ServiceLocalizationType"> <xs:sequence> <!-- If the ServiceLocalization element exists, there must be localization information for at least one service. --> <xs:element name="Service" type="ServiceLocType" minOccurs="1" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="ServiceLocType"> <xs:all> <!-- Display Name of the service. Should be the same as the Display Name exposed in service control manager. --> <xs:element name="DisplayName" type="NameType" minOccurs="0" maxOccurs="1"/> <!-- Description of the service. Should be the same as the description exposed in service control manager. --> <xs:element name="Description" type="xs:string" minOccurs="0" maxOccurs="1"/> </xs:all> <!-- Case-sensitive internal name of the service for which localization information is being provided. --> <xs:attribute name="Name" type="NameType" use="required"/> </xs:complexType> <xs:simpleType name="NameType"> <xs:restriction base="xs:string"/> </xs:simpleType> <xs:simpleType name="PlatformType"> <xs:restriction base="xs:string"> <xs:enumeration value="64"/> <xs:enumeration value="32"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="RoleTypeType"> <xs:restriction base="xs:string"> <xs:enumeration value="Server"/> <xs:enumeration value="Client"/> <xs:enumeration value="Independent"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="PrecludeNetworkSecurityType"> <xs:restriction base="xs:string"> <xs:enumeration value="TRUE"/> <xs:enumeration value="True"/> <xs:enumeration value="FALSE"/> <xs:enumeration value="False"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="SelectedValueType"> <xs:restriction base="xs:string"> <xs:enumeration value="DEFAULT"/> <xs:enumeration value="TRUE"/> <xs:enumeration value="FALSE"/> <xs:enumeration value="CUSTOM"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="TaskTypeType"> <xs:restriction base="xs:string"> <xs:enumeration value="RemoteAdmin"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="LogicType"> <xs:restriction base="xs:string"> <xs:enumeration value="AND"/> <xs:enumeration value="And"/> <xs:enumeration value="OR"/> <xs:enumeration value="Or"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="OptionalType"> <xs:restriction base="xs:string"> <xs:enumeration value="TRUE"/> <xs:enumeration value="True"/> <xs:enumeration value="FALSE"/> <xs:enumeration value="False"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="Startup_DefaultType"> <xs:restriction base="xs:string"> <xs:enumeration value="Automatic"/> <xs:enumeration value="Manual"/> <xs:enumeration value="Ignored"/> <xs:enumeration value="Disabled"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="StatusType"> <xs:restriction base="xs:string"> <xs:enumeration value="Enabled"/> <xs:enumeration value="Disabled"/> </xs:restriction> </xs:simpleType> </xs:schema>
Ms-Dos/Windows
Unix
Write backup
jsp File Browser version 1.2 by
www.vonloesch.de