home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / WindowsServerTrial / server.iso / sources / install.wim / 2 / Windows / security / KB.xsd < prev    next >
Extensible Markup Language  |  2008-01-19  |  24KB  |  668 lines

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <xs:schema elementFormDefault="qualified"
  3.            xmlns:xs="http://www.w3.org/2001/XMLSchema">
  4.  
  5.   <!-- 
  6.     // This schema definition file can be used to validate 
  7.     // two types of SCW knowledge base files:
  8.     //
  9.     //     1. KB files - Raw knowledge base files that contain 
  10.     //         no localization or registration information.
  11.     //     2. Loc files - Raw localization files that contain no 
  12.     //        knowledge base or registration information.
  13.     //
  14.     //     This schema is included in KbRegistrationInfo.xsd which
  15.     //     validates KB Registration Info files - Prepared knowledge  
  16.     //     base files that contain registration information and  
  17.     //     localization text for one or more languanges.
  18.     -->
  19.  
  20.  
  21.   <!-- Including the firewall schema -->
  22.   <xs:include schemaLocation="FirewallPolicy.xsd"/>
  23.  
  24.   <!-- Root element for raw KB. -->
  25.   <xs:element name="SCWKnowledgeBase"
  26.               type="KBDataType"/>
  27.  
  28.   <!-- Root element for raw localization file. -->
  29.   <xs:element name="SCWLocalization"
  30.               type="KBLocalizationDataType"/>
  31.  
  32.   <xs:complexType name="ApplicableVersionsType">
  33.     <xs:sequence>
  34.       <!-- A single KB can support multiple versions 
  35.            or service pack levels. -->
  36.       <xs:element name="Version"
  37.                   type="KBExtVersionType"
  38.                   minOccurs="1"
  39.                   maxOccurs="unbounded"/>
  40.     </xs:sequence>
  41.   </xs:complexType>
  42.  
  43.   <!-- A specific Windows OS Version and Service Pack 
  44.        level that is supported by the KB extension. -->
  45.   <xs:complexType name="KBExtVersionType">
  46.     <xs:attribute name="OSVersionMajorInfo"
  47.                   type="xs:nonNegativeInteger"
  48.                   use="required"/>
  49.     <xs:attribute name="OSVersionMinorInfo"
  50.                   type="xs:nonNegativeInteger"
  51.                   use="required"/>
  52.     <xs:attribute name="ServicePackMajor"
  53.                   type="xs:nonNegativeInteger"
  54.                   use="required"/>
  55.     <xs:attribute name="ServicePackMinor"
  56.                   type="xs:nonNegativeInteger"
  57.                   use="required"/>
  58.   </xs:complexType>
  59.  
  60.   <xs:complexType name="KBDataType">
  61.     <xs:sequence>
  62.       <!-- Roles are displayed on the Server Roles 
  63.            or Client Roles Page -->
  64.       <xs:element name="Roles"
  65.                   type="RolesType"
  66.                   minOccurs="0"
  67.                   maxOccurs="1"/>
  68.  
  69.       <!-- Tasks are displayed on the Administration 
  70.            and other Options page. -->
  71.       <xs:element name="Tasks"
  72.                   type="TasksType"
  73.                   minOccurs="0"
  74.                   maxOccurs="1"/>
  75.  
  76.       <!-- The services section provides further information 
  77.            (e.g. Startup Mode) about services that are referenced 
  78.            by all roles and tasks. -->
  79.       <xs:element name="Services"
  80.                   type="ServicesType"
  81.                   minOccurs="0"
  82.                   maxOccurs="1"/>
  83.  
  84.       <!-- This is where the list of Firewall rules 
  85.            referenced by all roles goes. -->
  86.       <xs:element name="Firewall"
  87.                   type="FirewallType"
  88.                   minOccurs="0"
  89.                   maxOccurs="1">
  90.  
  91.       </xs:element>
  92.     </xs:sequence>
  93.   </xs:complexType>
  94.  
  95.   <xs:complexType name="RolesType">
  96.     <xs:sequence>
  97.       <xs:element name="Role"
  98.                   type="RoleType"
  99.                   minOccurs="0"
  100.                   maxOccurs="unbounded"/>
  101.     </xs:sequence>
  102.   </xs:complexType>
  103.  
  104.   <xs:complexType name="RoleType">
  105.     <xs:all>
  106.       <!-- A Server Role can only depend on other server roles.
  107.            A Client Role can depend on Server Roles or Client Roles. -->
  108.       <xs:element name="DependsOn"
  109.                   type="RoleDependsOnType"
  110.                   minOccurs="0"
  111.                   maxOccurs="1"/>
  112.  
  113.       <!-- By default, a Role is satisfied if all services for 
  114.            the role are installed.  Use the satisfiable element 
  115.            (and provide a function name and dll path) to override this 
  116.            default behavior.  If Role A depends on Role B and 
  117.            Role B is not satisfied, then Role A is not satisfied. -->
  118.       <xs:element name="Satisfiable"
  119.                   type="SatisfiableType"
  120.                   minOccurs="0"
  121.                   maxOccurs="1"/>
  122.  
  123.       <!-- If a role is satisfied, the selected element determines 
  124.            whether the role is checked by default. If Role A depends 
  125.            on Role B and Role B is not checked by default, then Role A 
  126.            is not checked by default. -->
  127.       <xs:element name="Selected"
  128.                   type="SelectedType"
  129.                   minOccurs="1"
  130.                   maxOccurs="1"/>
  131.  
  132.       <!-- References to services that are required by the role. -->
  133.       <xs:element name="Services"
  134.                   type="RefServicesType"
  135.                   minOccurs="0"
  136.                   maxOccurs="1"/>
  137.  
  138.       <!-- References to firewall rules used by the role -->
  139.       <xs:element name="Firewall"
  140.                   type="RefFirewallType"
  141.                   minOccurs="0"
  142.                   maxOccurs="1">
  143.         <xs:unique name="UniqueFirewallRuleRefIdConstraint">
  144.           <xs:selector xpath="FirewallRule"/>
  145.           <xs:field xpath="@Id"/>
  146.         </xs:unique>
  147.  
  148.       </xs:element>
  149.     </xs:all>
  150.  
  151.     <!-- Indicates whether the role is a Server Role, Client Role, 
  152.          or Independent Role. Independent Roles are not displayed 
  153.          by the SCW UI. -->
  154.     <xs:attribute name="Type"
  155.                   type="RoleTypeType"
  156.                   use="required"/>
  157.  
  158.     <!-- Internal Name of the Role. All internal names 
  159.          are case-sensitive. -->
  160.     <xs:attribute name="Name"
  161.                   type="NameType"
  162.                   use="required"/>
  163.  
  164.     <!-- Indicates whether or not the network security portion of the 
  165.          wizard is skipped when the role is selected. Default is not 
  166.          to skip. -->
  167.     <xs:attribute name="PrecludeNetworkSecurity"
  168.                   type="PrecludeNetworkSecurityType"
  169.                   use="optional"/>
  170.  
  171.     <!-- Whether the role is Enabled or Disabled. -->
  172.     <xs:attribute name="Status"
  173.                   type="StatusType"
  174.                   use="required"/>
  175.   </xs:complexType>
  176.  
  177.   <xs:complexType name="SelectedType">
  178.     <!-- If a role is satisfied, the Selected element 
  179.          determines whether the role is checked by default.
  180.          The Value attribute for the Selected element 
  181.          must be TRUE, FALSE, DEFAULT, or CUSTOM. -->
  182.     <xs:attribute name="Value"
  183.                   type="SelectedValueType"
  184.                   use="required"/>
  185.  
  186.     <!-- FunctionName and DLLPath are only required if the 
  187.          Value attribute is set to "CUSTOM".  The Function 
  188.          must return Boolean. -->
  189.     <xs:attribute name="FunctionName"
  190.                   type="xs:string"
  191.                   use="optional"/>
  192.     <xs:attribute name="DLLPath"
  193.                   type="xs:string"
  194.                   use="optional"/>
  195.   </xs:complexType>
  196.  
  197.   <xs:complexType name="SatisfiableType">
  198.     <!-- The Satisfiable element only exists in order to  
  199.          override the default method for determining 
  200.          whether a role is satisfied.
  201.          If the Satisfiable element exists, a Function 
  202.          Name and DLL Path are required to specify the 
  203.          code that implements the override logic.
  204.          The function must return Boolean. -->
  205.     <xs:attribute name="FunctionName"
  206.                   type="xs:string"
  207.                   use="required"/>
  208.     <xs:attribute name="DLLPath"
  209.                   type="xs:string"
  210.                   use="required"/>
  211.   </xs:complexType>
  212.  
  213.   <xs:complexType name="RoleDependsOnType">
  214.     <xs:sequence>
  215.       <!-- If the DependsOn element exists for a role, 
  216.            it must contain a Roles element. -->
  217.       <xs:element name="Roles"
  218.                   type="RoleDependsOnRolesType"
  219.                   minOccurs="1"
  220.                   maxOccurs="1"/>
  221.     </xs:sequence>
  222.   </xs:complexType>
  223.  
  224.   <xs:complexType name="RoleDependsOnRolesType">
  225.     <xs:sequence>
  226.       <!-- If the DependsOn element exists, there must be at  
  227.            least one role inside the contained Roles element. -->
  228.       <xs:element name="Role"
  229.                   type="EntityReferenceType"
  230.                   minOccurs="1"
  231.                   maxOccurs="unbounded"/>
  232.     </xs:sequence>
  233.   </xs:complexType>
  234.  
  235.   <xs:complexType name="EntityReferenceType">
  236.     <!-- Case-sensitive name of a role that this 
  237.          Role (or Task) Depends On -->
  238.     <xs:attribute name="Name"
  239.                   type="NameType"
  240.                   use="required"/>
  241.   </xs:complexType>
  242.  
  243.   <xs:complexType name="RefServicesType">
  244.     <xs:sequence>
  245.       <xs:element name="Service"
  246.                   type="RefServiceType"
  247.                   minOccurs="0"
  248.                   maxOccurs="unbounded"/>
  249.     </xs:sequence>
  250.   </xs:complexType>
  251.  
  252.   <xs:complexType name="RefServiceType">
  253.     <!-- Service names correspond to the internal service names 
  254.          used by the Service Control Manager. Service names are 
  255.          case-insensitive with respect to the Service Control 
  256.          Manager names but are case-sensitive within the KB. -->
  257.     <xs:attribute name="Name"
  258.                   type="NameType"
  259.                   use="required"/>
  260.  
  261.     <xs:attribute name="PlatformID"
  262.                   type="PlatformType"
  263.                   use="optional"/>
  264.   </xs:complexType>
  265.  
  266.   <xs:complexType name="RefFirewallType">
  267.     <xs:sequence>
  268.       <!-- Ids (guids) pointing to the actual firewall rules -->
  269.       <xs:element name="FirewallRule"
  270.                   type="RefFirewallRuleType"
  271.                   minOccurs="0"
  272.                   maxOccurs="unbounded">
  273.  
  274.       </xs:element>
  275.     </xs:sequence>
  276.   </xs:complexType>
  277.  
  278.   <xs:complexType name="RefFirewallRuleType">
  279.     <xs:attribute name="Id"
  280.                   type="xs:string"
  281.                   use="required"/>
  282.   </xs:complexType>
  283.  
  284.   <xs:complexType name="TasksType">
  285.     <xs:sequence>
  286.       <xs:element name="Task"
  287.                   type="TaskType"
  288.                   minOccurs="0"
  289.                   maxOccurs="unbounded"/>
  290.     </xs:sequence>
  291.   </xs:complexType>
  292.  
  293.   <xs:complexType name="TaskType">
  294.     <xs:all>
  295.       <!-- Tasks appear on the "Administration and 
  296.            other Options" Page. A task is defined 
  297.            very much like a role. Exceptions noted below: -->
  298.  
  299.       <!-- A task cannot depend on another task. A task can 
  300.            only depend on a Server Role or Client Role. -->
  301.       <xs:element name="DependsOn"
  302.                   type="TaskDependsOnType"
  303.                   minOccurs="0"
  304.                   maxOccurs="1"/>
  305.  
  306.       <!-- By default, a task is satisfied if all services required 
  307.            for the task are installed. Use the satisfiable element 
  308.            (and provide a function name and dll path) to override this 
  309.            default behavior. If Task A depends on Role A and Role A 
  310.            is not selected, then Task A is not displayed. -->
  311.       <xs:element name="Satisfiable"
  312.                   type="SatisfiableType"
  313.                   minOccurs="0"
  314.                   maxOccurs="1"/>
  315.  
  316.       <!-- If a task is satisfied, the selected element determines 
  317.            whether the task is checked by default. If Task A depends 
  318.            on Role A and Role A is not selected, then Task A is not 
  319.            displayed. -->
  320.       <xs:element name="Selected"
  321.                   type="SelectedType"
  322.                   minOccurs="1"
  323.                   maxOccurs="1"/>
  324.  
  325.       <!-- Services that are required by the task. -->
  326.       <xs:element name="Services"
  327.                   type="RefServicesType"
  328.                   minOccurs="0"
  329.                   maxOccurs="1"/>
  330.  
  331.       <!-- Firewall rules required by the task. -->
  332.       <xs:element name="Firewall"
  333.                   type="RefFirewallType"
  334.                   minOccurs="0"
  335.                   maxOccurs="1"/>
  336.     </xs:all>
  337.  
  338.     <!-- Unlike Roles, the type attribute for a task is optional 
  339.          and the only type supported is "RemoteAdmin". -->
  340.     <xs:attribute name="Type"
  341.                   type="TaskTypeType"
  342.                   use="optional"/>
  343.  
  344.     <!-- Internal Name of the Task. All internal 
  345.          names are case-sensitive. -->
  346.     <xs:attribute name="Name"
  347.                   type="NameType"
  348.                   use="required"/>
  349.  
  350.     <!-- Indicates whether or not the network security portion of 
  351.          the wizard is skipped when the task is selected. Default 
  352.          is not to skip. -->
  353.     <xs:attribute name="PrecludeNetworkSecurity"
  354.                   type="PrecludeNetworkSecurityType"
  355.                   use="optional"/>
  356.   </xs:complexType>
  357.  
  358.   <xs:complexType name="TaskDependsOnType">
  359.     <xs:sequence>
  360.       <!-- If the DependsOn element exists for a task, 
  361.            it must contain a Roles element -->
  362.       <xs:element name="Roles"
  363.                   type="TaskDependsOnRolesType"
  364.                   minOccurs="1"
  365.                   maxOccurs="1"/>
  366.     </xs:sequence>
  367.   </xs:complexType>
  368.  
  369.   <xs:complexType name="TaskDependsOnRolesType">
  370.     <xs:sequence>
  371.       <!-- If the DependsOn element exists, it must reference 
  372.            the case-sensitive internal name of at least one role.
  373.            A Task that DependsOn a role is displayed only if the 
  374.            corresponding role is selected. -->
  375.       <xs:element name="Role"
  376.                   type="EntityReferenceType"
  377.                   minOccurs="1"
  378.                   maxOccurs="unbounded"/>
  379.     </xs:sequence>
  380.  
  381.     <!-- The DependsOn relation for Tasks can be evaluated 
  382.          using AND or OR logic. For example, Task A DependsOn 
  383.          Role A or Role B. If not specified, AND logic is used -->
  384.     <xs:attribute name="Logic"
  385.                   type="LogicType"
  386.                   use="optional"/>
  387.   </xs:complexType>
  388.  
  389.  
  390.   <xs:complexType name="ServicesType">
  391.     <xs:sequence>
  392.       <!-- The Services section contains additional information 
  393.            about the services that are associated with Roles or Tasks. 
  394.            Not every service associated with a Role or Task needs to be 
  395.            defined in the Services section.  Specifically, if a service 
  396.            that ships on the Windows CD is associated with a Role or Task 
  397.            in an extension KB, then that service should not be specified 
  398.            in the Services section of the extension KB. The reason for 
  399.            this is that all services that ship on the Windows CD should 
  400.            already be defined in the root KB that the extension KB is 
  401.            extending. -->
  402.       <xs:element name="Service"
  403.                   type="ServiceType"
  404.                   minOccurs="1"
  405.                   maxOccurs="unbounded"/>
  406.     </xs:sequence>
  407.   </xs:complexType>
  408.  
  409.   <xs:complexType name="ServiceType">
  410.     <xs:all>
  411.       <xs:element name="Optional"
  412.                   type="OptionalType"
  413.                   minOccurs="1"
  414.                   maxOccurs="1"/>
  415.  
  416.       <!-- Indicates the startup mode that should be used for the 
  417.            service when the service is enabled by a Role or task. -->
  418.       <xs:element name="Startup_Default"
  419.                   type="Startup_DefaultType"
  420.                   minOccurs="1"
  421.                   maxOccurs="1"/>
  422.  
  423.       <xs:element name="Cluster_Startup_Default"
  424.                   type="Startup_DefaultType"
  425.                   minOccurs="0"
  426.                   maxOccurs="1"/>
  427.     </xs:all>
  428.  
  429.     <!-- The internal name of the service as it is known to the service 
  430.          control manager. The service name is case-sensitive within the 
  431.          KB, but not with respect to the service control manager name. -->
  432.     <xs:attribute name="Name"
  433.                   type="NameType"
  434.                   use="required"/>
  435.   </xs:complexType>
  436.  
  437.   <xs:complexType name="KBLocalizationDataType">
  438.  
  439.     <!-- Localization information for a prepared KB. -->
  440.     <xs:all>
  441.  
  442.       <!-- Localization information (Displaynames, descriptions, etc.) 
  443.            should be supplied for all Roles, Tasks, and Services 
  444.            defined in the KB. -->
  445.       <xs:element name="RoleLocalization"
  446.                   type="RoleLocalizationType"
  447.                   minOccurs="0"
  448.                   maxOccurs="1"/>
  449.       <xs:element name="TaskLocalization"
  450.                   type="TaskLocalizationType"
  451.                   minOccurs="0"
  452.                   maxOccurs="1"/>
  453.       <xs:element name="ServiceLocalization"
  454.                   type="ServiceLocalizationType"
  455.                   minOccurs="0"
  456.                   maxOccurs="1"/>
  457.     </xs:all>
  458.  
  459.     <xs:attribute name="CultureName"
  460.                   type="xs:string"
  461.                   use="required"/>
  462.   </xs:complexType>
  463.  
  464.   <xs:complexType name="RoleLocalizationType">
  465.     <xs:sequence>
  466.       <!-- If the RoleLocalization element exists, there must 
  467.            be localization information for at least one role. -->
  468.       <xs:element name="Role"
  469.                   type="RoleLocType"
  470.                   minOccurs="1"
  471.                   maxOccurs="unbounded"/>
  472.     </xs:sequence>
  473.   </xs:complexType>
  474.  
  475.   <xs:complexType name="RoleLocType">
  476.     <xs:all>
  477.  
  478.       <!-- Displayname of the role. -->
  479.       <xs:element name="DisplayName"
  480.                   type="xs:string"
  481.                   minOccurs="1"
  482.                   maxOccurs="1"/>
  483.  
  484.       <!-- A brief description of the role. -->
  485.       <xs:element name="Description"
  486.                   type="xs:string"
  487.                   minOccurs="1"
  488.                   maxOccurs="1"/>
  489.  
  490.       <!-- Optional Advanced information about the role. -->
  491.       <xs:element name="Details"
  492.                   type="xs:string"
  493.                   minOccurs="0"
  494.                   maxOccurs="1"/>
  495.  
  496.       <!-- Optional SCW-specific information about the role. -->
  497.       <xs:element name="SCWDetails"
  498.                   type="xs:string"
  499.                   minOccurs="0"
  500.                   maxOccurs="1"/>
  501.     </xs:all>
  502.  
  503.     <!-- Case-sensitive internal name of the Client or Server 
  504.          Role for which localization information is being provided. -->
  505.     <xs:attribute name="Name"
  506.                   type="NameType"
  507.                   use="required"/>
  508.   </xs:complexType>
  509.  
  510.   <xs:complexType name="TaskLocalizationType">
  511.     <xs:sequence>
  512.       <!-- If the TaskLocalization element exists, there must 
  513.            be localization information for at least one task. -->
  514.       <xs:element name="Task"
  515.                   type="TaskLocType"
  516.                   minOccurs="1"
  517.                   maxOccurs="unbounded"/>
  518.     </xs:sequence>
  519.   </xs:complexType>
  520.  
  521.   <xs:complexType name="TaskLocType">
  522.     <xs:all>
  523.       <!-- Displayname of the task. -->
  524.       <xs:element name="DisplayName"
  525.                   type="xs:string"
  526.                   minOccurs="1"
  527.                   maxOccurs="1"/>
  528.  
  529.       <!-- A brief description of the task. -->
  530.       <xs:element name="Description"
  531.                   type="xs:string"
  532.                   minOccurs="1"
  533.                   maxOccurs="1"/>
  534.  
  535.       <!-- Optional Advanced information about the task. -->
  536.       <xs:element name="Details"
  537.                   type="xs:string"
  538.                   minOccurs="0"
  539.                   maxOccurs="1"/>
  540.  
  541.       <!-- Optional SCW-specific information about the task. -->
  542.       <xs:element name="SCWDetails"
  543.                   type="xs:string"
  544.                   minOccurs="0"
  545.                   maxOccurs="1"/>
  546.     </xs:all>
  547.  
  548.     <!-- Case-sensitive internal name of the Task for which 
  549.          localization information is being provided. -->
  550.     <xs:attribute name="Name"
  551.                   type="NameType"
  552.                   use="required"/>
  553.   </xs:complexType>
  554.  
  555.   <xs:complexType name="ServiceLocalizationType">
  556.     <xs:sequence>
  557.       <!-- If the ServiceLocalization element exists, there must 
  558.            be localization information for at least one service. -->
  559.       <xs:element name="Service"
  560.                   type="ServiceLocType"
  561.                   minOccurs="1"
  562.                   maxOccurs="unbounded"/>
  563.     </xs:sequence>
  564.   </xs:complexType>
  565.  
  566.   <xs:complexType name="ServiceLocType">
  567.     <xs:all>
  568.       <!-- Display Name of the service. Should be the same as 
  569.            the Display Name exposed in service control manager. -->
  570.       <xs:element name="DisplayName"
  571.                   type="NameType"
  572.                   minOccurs="0"
  573.                   maxOccurs="1"/>
  574.  
  575.       <!-- Description of the service. Should be the same as 
  576.            the description exposed in service control manager. -->
  577.       <xs:element name="Description"
  578.                   type="xs:string"
  579.                   minOccurs="0"
  580.                   maxOccurs="1"/>
  581.     </xs:all>
  582.  
  583.     <!-- Case-sensitive internal name of the service for which 
  584.          localization information is being provided. -->
  585.     <xs:attribute name="Name"
  586.                   type="NameType"
  587.                   use="required"/>
  588.   </xs:complexType>
  589.  
  590.   <xs:simpleType name="NameType">
  591.     <xs:restriction base="xs:string"/>
  592.   </xs:simpleType>
  593.  
  594.   <xs:simpleType name="PlatformType">
  595.     <xs:restriction base="xs:string">
  596.       <xs:enumeration value="64"/>
  597.       <xs:enumeration value="32"/>
  598.     </xs:restriction>
  599.   </xs:simpleType>
  600.  
  601.   <xs:simpleType name="RoleTypeType">
  602.     <xs:restriction base="xs:string">
  603.       <xs:enumeration value="Server"/>
  604.       <xs:enumeration value="Client"/>
  605.       <xs:enumeration value="Independent"/>
  606.     </xs:restriction>
  607.   </xs:simpleType>
  608.  
  609.   <xs:simpleType name="PrecludeNetworkSecurityType">
  610.     <xs:restriction base="xs:string">
  611.       <xs:enumeration value="TRUE"/>
  612.       <xs:enumeration value="True"/>
  613.       <xs:enumeration value="FALSE"/>
  614.       <xs:enumeration value="False"/>
  615.     </xs:restriction>
  616.   </xs:simpleType>
  617.  
  618.   <xs:simpleType name="SelectedValueType">
  619.     <xs:restriction base="xs:string">
  620.       <xs:enumeration value="DEFAULT"/>
  621.       <xs:enumeration value="TRUE"/>
  622.       <xs:enumeration value="FALSE"/>
  623.       <xs:enumeration value="CUSTOM"/>
  624.     </xs:restriction>
  625.   </xs:simpleType>
  626.  
  627.   <xs:simpleType name="TaskTypeType">
  628.     <xs:restriction base="xs:string">
  629.       <xs:enumeration value="RemoteAdmin"/>
  630.     </xs:restriction>
  631.   </xs:simpleType>
  632.  
  633.   <xs:simpleType name="LogicType">
  634.     <xs:restriction base="xs:string">
  635.       <xs:enumeration value="AND"/>
  636.       <xs:enumeration value="And"/>
  637.       <xs:enumeration value="OR"/>
  638.       <xs:enumeration value="Or"/>
  639.     </xs:restriction>
  640.   </xs:simpleType>
  641.  
  642.   <xs:simpleType name="OptionalType">
  643.     <xs:restriction base="xs:string">
  644.       <xs:enumeration value="TRUE"/>
  645.       <xs:enumeration value="True"/>
  646.       <xs:enumeration value="FALSE"/>
  647.       <xs:enumeration value="False"/>
  648.     </xs:restriction>
  649.   </xs:simpleType>
  650.  
  651.   <xs:simpleType name="Startup_DefaultType">
  652.     <xs:restriction base="xs:string">
  653.       <xs:enumeration value="Automatic"/>
  654.       <xs:enumeration value="Manual"/>
  655.       <xs:enumeration value="Ignored"/>
  656.       <xs:enumeration value="Disabled"/>
  657.     </xs:restriction>
  658.   </xs:simpleType>
  659.  
  660.   <xs:simpleType name="StatusType">
  661.     <xs:restriction base="xs:string">
  662.       <xs:enumeration value="Enabled"/>
  663.       <xs:enumeration value="Disabled"/>
  664.     </xs:restriction>
  665.   </xs:simpleType>
  666. </xs:schema>
  667.  
  668.