home *** CD-ROM | disk | FTP | other *** search
/ ftp.tcs3.com / ftp.tcs3.com.tar / ftp.tcs3.com / DRIVERS / Audio / Office2010 / ProPlus.WW / ProPsWW2.cab / BDCMDSC2.XSD < prev    next >
Extensible Markup Language  |  2010-03-10  |  13KB  |  332 lines

  1. <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  2. <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
  3.            xmlns:bdc="http://schemas.microsoft.com/windows/2007/BusinessDataCatalog/Resources" 
  4.            targetNamespace="http://schemas.microsoft.com/windows/2007/BusinessDataCatalog/Resources" 
  5.            elementFormDefault="qualified">
  6.   <xs:element name="Model" type ="bdc:Model"/>
  7.   <xs:complexType name="Model">
  8.     <xs:complexContent>
  9.       <xs:extension base="bdc:IndividuallySecurableMetadataObject">
  10.         <xs:sequence>
  11.           <xs:element name="LobSystems" type="bdc:LobSystems" minOccurs="0" maxOccurs="1">
  12.             <xs:unique name="LobSystemNameKey">
  13.               <xs:selector xpath="*"/>
  14.               <xs:field xpath="@Name"/>
  15.             </xs:unique>
  16.           </xs:element>
  17.         </xs:sequence>
  18.         <xs:attribute name="Name" type="bdc:NameString" use="required"/>
  19.       </xs:extension>
  20.     </xs:complexContent>
  21.   </xs:complexType>
  22.   <xs:complexType name="LobSystems">
  23.     <xs:sequence>
  24.       <xs:element name="LobSystem" type="bdc:LobSystem" minOccurs="1" maxOccurs="unbounded"/>
  25.     </xs:sequence>
  26.   </xs:complexType>
  27.   <xs:complexType name="MetadataObject" abstract="true">
  28.     <xs:sequence>
  29.       <xs:element name="LocalizedDisplayNames" type="bdc:LocalizedDisplayNames" minOccurs="0" maxOccurs="1">
  30.         <xs:unique name="LocalizedDisplayNameLCIDKey">
  31.           <xs:selector xpath="*"/>
  32.           <xs:field xpath="@LCID"/>
  33.         </xs:unique>
  34.       </xs:element>
  35.       <xs:element name="Properties" type="bdc:Properties" minOccurs="0" maxOccurs="1">
  36.         <xs:unique name="PropertyNameKey">
  37.           <xs:selector xpath="*"/>
  38.           <xs:field xpath="@Name"/>
  39.         </xs:unique>
  40.       </xs:element>
  41.     </xs:sequence>
  42.     <xs:attribute name="Name" type="bdc:NameString" use="required"/>
  43.   </xs:complexType>
  44.   <xs:complexType name="IndividuallySecurableMetadataObject" abstract="true">
  45.     <xs:complexContent>
  46.       <xs:extension base="bdc:MetadataObject">
  47.         <xs:sequence>
  48.           <xs:element name="AccessControlList" type="bdc:AccessControlList" minOccurs="0" maxOccurs="1"/>
  49.         </xs:sequence>
  50.       </xs:extension>
  51.     </xs:complexContent>
  52.   </xs:complexType>
  53.   <xs:complexType name="LocalizedDisplayNames">
  54.     <xs:sequence>
  55.       <xs:element name="LocalizedDisplayName" type="bdc:LocalizedDisplayName" minOccurs="1" maxOccurs="unbounded"/>
  56.     </xs:sequence>
  57.   </xs:complexType>
  58.   <xs:complexType name="LocalizedDisplayName" mixed="true">
  59.     <xs:attribute name="LCID" type="xs:integer" use="required"/>
  60.   </xs:complexType>
  61.   <xs:complexType name="LobSystem">
  62.     <xs:complexContent>
  63.       <xs:extension base="bdc:IndividuallySecurableMetadataObject">
  64.         <xs:sequence>
  65.           <xs:element name="LobSystemInstances" type="bdc:LobSystemInstances" minOccurs="0" maxOccurs="1">
  66.             <xs:unique name="LobSystemInstanceNameKey">
  67.               <xs:selector xpath="*"/>
  68.               <xs:field xpath="@Name"/>
  69.             </xs:unique>
  70.           </xs:element>
  71.           <xs:element name="Entities" type="bdc:Entities" minOccurs="0" maxOccurs="1">
  72.             <xs:unique name="EntityNameNamespaceVersionKey">
  73.               <xs:selector xpath="*"/>
  74.               <xs:field xpath="@Name"/>
  75.               <xs:field xpath="@Namespace"/>
  76.               <xs:field xpath="@Version"/>
  77.             </xs:unique>
  78.           </xs:element>
  79.         </xs:sequence>
  80.       </xs:extension>
  81.     </xs:complexContent>
  82.   </xs:complexType>
  83.   <xs:complexType name="LobSystemInstances">
  84.     <xs:sequence>
  85.       <xs:element name="LobSystemInstance" type="bdc:LobSystemInstance" minOccurs="1" maxOccurs="unbounded"/>
  86.     </xs:sequence>
  87.   </xs:complexType>
  88.   <xs:complexType name="LobSystemInstance">
  89.     <xs:complexContent>
  90.       <xs:extension base="bdc:MetadataObject"/>
  91.     </xs:complexContent>
  92.   </xs:complexType>
  93.   <xs:complexType name="Entities">
  94.     <xs:sequence>
  95.       <xs:element name="Entity" type="bdc:Entity" minOccurs="1" maxOccurs="unbounded">
  96.         <xs:unique name="MethodInstanceNameKey">
  97.           <xs:selector xpath=".//bdc:MethodInstances/*"/>
  98.           <xs:field xpath="@Name"/>
  99.         </xs:unique>
  100.       </xs:element>
  101.     </xs:sequence>
  102.   </xs:complexType>
  103.   <xs:complexType name ="Entity">
  104.     <xs:complexContent>
  105.       <xs:extension base="bdc:IndividuallySecurableMetadataObject">
  106.         <xs:sequence>
  107.           <xs:element name="Identifiers" type="bdc:Identifiers" minOccurs="0">
  108.             <xs:unique name="IdentifierNameKey">
  109.               <xs:selector xpath="*"/>
  110.               <xs:field xpath="@Name"/>
  111.             </xs:unique>
  112.           </xs:element>
  113.           <xs:element name="Methods" type="bdc:Methods" minOccurs="0">
  114.             <xs:unique name="MethodNameKey">
  115.               <xs:selector xpath="*"/>
  116.               <xs:field xpath="@Name"/>
  117.             </xs:unique>
  118.           </xs:element>
  119.           <xs:element name="AssociationGroups" type="bdc:AssociationGroups" minOccurs="0">
  120.             <xs:unique name="AssociationGroupNameKey">
  121.               <xs:selector xpath="*"/>
  122.               <xs:field xpath="@Name"/>
  123.             </xs:unique>
  124.           </xs:element>
  125.           <xs:element name="Actions" type="bdc:Actions" minOccurs="0">
  126.             <xs:unique name="ActionNameKey">
  127.               <xs:selector xpath="*"/>
  128.               <xs:field xpath="@Name"/>
  129.             </xs:unique>
  130.           </xs:element>
  131.         </xs:sequence>
  132.         <xs:attribute name="Namespace" type="bdc:NameString" use="required"/>
  133.         <xs:attribute name="Version" type="bdc:VersionString" use="required"/>
  134.       </xs:extension>
  135.     </xs:complexContent>
  136.   </xs:complexType>
  137.   <xs:complexType name="AssociationGroups">
  138.     <xs:sequence>
  139.       <xs:element name ="AssociationGroup" type="bdc:AssociationGroup" minOccurs="1" maxOccurs="unbounded"/>
  140.     </xs:sequence>
  141.   </xs:complexType>
  142.   <xs:complexType name ="AssociationGroup">
  143.     <xs:complexContent>
  144.       <xs:extension base="bdc:MetadataObject"/>
  145.     </xs:complexContent>
  146.   </xs:complexType>
  147.   <xs:complexType name="Identifiers">
  148.     <xs:sequence>
  149.       <xs:element name="Identifier" type="bdc:Identifier" minOccurs="1" maxOccurs="unbounded"/>
  150.     </xs:sequence>
  151.   </xs:complexType>
  152.   <xs:complexType name="Identifier">
  153.     <xs:complexContent>
  154.       <xs:extension base="bdc:MetadataObject">
  155.       </xs:extension>
  156.     </xs:complexContent>
  157.   </xs:complexType>
  158.   <xs:complexType name="Methods">
  159.     <xs:sequence>
  160.       <xs:element name="Method" type="bdc:Method" minOccurs="1" maxOccurs="unbounded">
  161.         <xs:key name="ParameterNameKey">
  162.           <xs:selector xpath=".//bdc:Parameter"/>
  163.           <xs:field xpath="@Name"/>
  164.         </xs:key>
  165.         <xs:key name="MethodMethodInstanceNameKey">
  166.           <xs:selector xpath=".//bdc:MethodInstances/*"/>
  167.           <xs:field xpath="@Name"/>
  168.         </xs:key>
  169.       </xs:element>
  170.     </xs:sequence>
  171.   </xs:complexType>
  172.   <xs:complexType name="Method">
  173.     <xs:complexContent>
  174.       <xs:extension base="bdc:IndividuallySecurableMetadataObject">
  175.         <xs:sequence>
  176.           <xs:element name="FilterDescriptors" type="bdc:FilterDescriptors" minOccurs="0" maxOccurs="1">
  177.             <xs:unique name="FilterDescriptorNameKey">
  178.               <xs:selector xpath="*"/>
  179.               <xs:field xpath="@Name"/>
  180.             </xs:unique>
  181.           </xs:element>
  182.           <xs:element name="Parameters" type="bdc:Parameters"    minOccurs="0" maxOccurs="1"/>
  183.           <xs:element name ="MethodInstances" type="bdc:MethodInstances" minOccurs="0" maxOccurs="1"/>
  184.         </xs:sequence>
  185.       </xs:extension>
  186.     </xs:complexContent>
  187.   </xs:complexType>
  188.   <xs:complexType name="FilterDescriptors">
  189.     <xs:sequence>
  190.       <xs:element name="FilterDescriptor" type="bdc:FilterDescriptor" minOccurs="1" maxOccurs="unbounded"/>
  191.     </xs:sequence>
  192.   </xs:complexType>
  193.   <xs:complexType name="FilterDescriptor">
  194.     <xs:complexContent>
  195.       <xs:extension base="bdc:MetadataObject">
  196.       </xs:extension>
  197.     </xs:complexContent>
  198.   </xs:complexType>
  199.  
  200.   <xs:complexType name="MethodInstances">
  201.     <xs:choice minOccurs="1" maxOccurs="unbounded">
  202.       <xs:element name="Association" type="bdc:Association" />
  203.       <xs:element name="MethodInstance" type="bdc:MethodInstance" />
  204.     </xs:choice>
  205.   </xs:complexType>
  206.  
  207.   <xs:complexType name="MethodInstance">
  208.     <xs:complexContent>
  209.       <xs:extension base="bdc:IndividuallySecurableMetadataObject">
  210.       </xs:extension>
  211.     </xs:complexContent>
  212.   </xs:complexType>
  213.   <xs:complexType name="Parameters">
  214.     <xs:sequence>
  215.       <xs:element name="Parameter" type="bdc:Parameter" minOccurs="1" maxOccurs="unbounded"/>
  216.     </xs:sequence>
  217.   </xs:complexType>
  218.   <xs:complexType name="Parameter">
  219.     <xs:complexContent>
  220.       <xs:extension base="bdc:MetadataObject">
  221.         <xs:sequence>
  222.           <xs:element name="TypeDescriptor" type="bdc:TypeDescriptor"/>
  223.         </xs:sequence>
  224.       </xs:extension>
  225.     </xs:complexContent>
  226.   </xs:complexType>
  227.   <xs:complexType name="TypeDescriptor">
  228.     <xs:complexContent>
  229.       <xs:extension base="bdc:MetadataObject">
  230.         <xs:sequence>
  231.           <xs:element name="TypeDescriptors" type="bdc:TypeDescriptors" minOccurs="0">
  232.             <xs:unique name="TypeDescriptorNameKey">
  233.               <xs:selector xpath="*"/>
  234.               <xs:field xpath="@Name"/>
  235.             </xs:unique>
  236.           </xs:element>
  237.         </xs:sequence>
  238.       </xs:extension>
  239.     </xs:complexContent>
  240.   </xs:complexType>
  241.   <xs:complexType name="TypeDescriptors">
  242.     <xs:sequence>
  243.       <xs:element name="TypeDescriptor" type="bdc:TypeDescriptor" minOccurs="1" maxOccurs="unbounded"/>
  244.     </xs:sequence>
  245.   </xs:complexType>
  246.   <xs:complexType name="Actions">
  247.     <xs:sequence>
  248.       <xs:element name="Action" type="bdc:Action" minOccurs="1" maxOccurs="unbounded"/>
  249.     </xs:sequence>
  250.   </xs:complexType>
  251.   <xs:complexType name="Action">
  252.     <xs:complexContent>
  253.       <xs:extension base="bdc:MetadataObject">
  254.         <xs:sequence>
  255.           <xs:element name="ActionParameters" type="bdc:ActionParameters" minOccurs="0">
  256.             <xs:unique name="ActionParameterNameKey">
  257.               <xs:selector xpath="*"/>
  258.               <xs:field xpath="@Name"/>
  259.             </xs:unique>
  260.           </xs:element>
  261.         </xs:sequence>
  262.       </xs:extension>
  263.     </xs:complexContent>
  264.   </xs:complexType>
  265.   <xs:complexType name="ActionParameters">
  266.     <xs:sequence>
  267.       <xs:element name="ActionParameter" type="bdc:ActionParameter" minOccurs="1" maxOccurs="unbounded"/>
  268.     </xs:sequence>
  269.   </xs:complexType>
  270.   <xs:complexType name="ActionParameter">
  271.     <xs:complexContent>
  272.       <xs:extension base="bdc:MetadataObject">
  273.       </xs:extension>
  274.     </xs:complexContent>
  275.   </xs:complexType>
  276.   <xs:complexType name="Association">
  277.     <xs:complexContent>
  278.       <xs:extension base="bdc:IndividuallySecurableMetadataObject">
  279.       </xs:extension>
  280.     </xs:complexContent>
  281.   </xs:complexType>
  282.   <xs:complexType name="Property" mixed="true">
  283.     <xs:attribute name="Name" type="bdc:NameString" use="required"/>
  284.     <xs:attribute name="Type" type="bdc:TypeNameString" use="required"/>
  285.   </xs:complexType>
  286.   <xs:complexType name="Properties">
  287.     <xs:sequence>
  288.       <xs:element name="Property" type="bdc:Property" minOccurs="1" maxOccurs="unbounded"/>
  289.     </xs:sequence>
  290.   </xs:complexType>
  291.   <xs:complexType name="AccessControlList">
  292.     <xs:sequence>
  293.       <xs:element name="AccessControlEntry" type="bdc:AccessControlEntry" minOccurs="1" maxOccurs="unbounded"/>
  294.     </xs:sequence>
  295.   </xs:complexType>
  296.   <xs:complexType name="AccessControlEntry">
  297.     <xs:sequence>
  298.       <xs:element name="Right" type="bdc:Right" minOccurs="1" maxOccurs="unbounded"/>
  299.     </xs:sequence>
  300.     <xs:attribute name="Principal" type="xs:string" use="required"/>
  301.   </xs:complexType>
  302.   <xs:complexType name="Right">
  303.     <xs:attribute name="BdcRight" type="bdc:BdcRightName" use="required"/>
  304.   </xs:complexType>
  305.   <xs:simpleType name="BdcRightName">
  306.     <xs:restriction base="xs:string">
  307.       <xs:enumeration value="None"/>
  308.       <xs:enumeration value="Execute"/>
  309.       <xs:enumeration value="Edit"/>
  310.       <xs:enumeration value="SetPermissions"/>
  311.       <xs:enumeration value="SelectableInClients"/>
  312.     </xs:restriction>
  313.   </xs:simpleType>
  314.   <xs:simpleType name="NameString">
  315.     <xs:restriction base="xs:string">
  316.       <xs:minLength value="1"/>
  317.       <xs:maxLength value="255"/>
  318.     </xs:restriction>
  319.   </xs:simpleType>  
  320.   <xs:simpleType name="TypeNameString">
  321.     <xs:restriction base="xs:string">
  322.       <xs:minLength value="1"/>
  323.       <xs:maxLength value="255"/>
  324.     </xs:restriction>
  325.   </xs:simpleType>  
  326.   <xs:simpleType name="VersionString">
  327.     <xs:restriction base="xs:string">
  328.       <xs:pattern value="[0-9]+(\.[0-9]+){1,3}"/>
  329.     </xs:restriction>
  330.   </xs:simpleType>
  331. </xs:schema>
  332.