XML for Analysis specification
1.0 version Microsoft CorporationHyperion Solutions Corporation Update Date: 4/24/2001 Summary: Detailed Description Soap-based XML Communication API, which supports analyzing data exchange between clients and servers on any platform. Directory Summary Reader Design Purpose Design Abstract Part 1 - XML for Analysis XML for Analysis Introduction Method XML for Analysis Used XML for Analysis Ruplex XML for Analysis Property XML for Analysis in XML for Analysis in XML for Analysis 对 有 对 对 有 支持 支持 支持For Analysis for Data Mining Second Part 2 - Appendix A: Appendix A: Appendix B: SOAP Sitiac Cluster Appendix C: Map of XML for Analysis to OLE DB D: MDDataSet Sample Appendix E: The reference technology and Standard Link Summary XML for Analysis is a XML API based on Simple Object Access Protocol, SOAP, which is designed to specifically for client applications and data providers working on Web. Data Access Interaction Standardization. Currently, under traditional data access technologies (such as OLE DB and ODBC) conditions, the client components that are closely coupled to the data provider server must be installed on the client computer to enable the application to access data from the data provider. Tightly coupled client components can establish correlations based on the following: specific hardware platforms, specific operating systems, specific interface models, specific programming languages, and specific matchs of the client and server component versions. Relevant requirements for installing client components and related to close coupling structures are not suitable for the Internet environment, because the environment is loosely combined, stateless, cross-platform and language-independent. To provide a Reliable data access to a web application, Internet, mobile devices, and cross-platform desktop systems require a standard method, which does not require to download components to the client. Scalable Markup Language (XML) is a language that can be accessed everywhere. What happens if you don't have to call a dedicated client component interface, you can call the method without the client component and pass the data through XML HTTP messages. What happens if the application developer can build a client component without considering the close coupling of a server component or application? If you have written in any programming language and you can run on any platform, you can access data from any location on the web without having to consider the specific platform support, or even consider the specific provider version, what is the situation? ? This specification will answer these questions through XML for Analysis. XML for Analysis extends the concept of OLE DB, which provides standardized general data access to all standard data sources on the Web without deploying client components that provide COM interfaces. XML for Analysis is specifically optimized for web because it greatly reduces the reciprocation of the server and specifically for client requests that use stateless clients, thereby greatly improves the scalability and strongness of the data source. This specification defines two methods: discover and execute, both methods use and send XML to discover and control stateless data. This specification is established above HTTP, XML, and SOAP and other open Internet standards, not subject to any specific language or technology.
OLE DB is also discussed in this specification, making applications developers that have been familiar with OLE DB can understand the mapping and implementation methods of XML for Analysis. These involved content provide background information for the OLE DB definitions extended by this specification. The target reader of the reader This specification is an application developer and believes that they are familiar with the following: XML Knowledge SOAP Knowledge Unexpected Online Analysis Processing (OLAP) and Data Mining have experience in using OLE DB and OLE DB for OLAP related to these knowledge For more information, see Appendix E. The main purposes of this specification for design purposes include:
To provide a standard data access provider (available to Internet or intranet, providing multidimensional data) to provide standard data access API optimization stateless structure, no web client components, round-trip calls for minimal support for any tool, programming language, technology, hardware platform Or devices, unrelated implementation of technology, establish and repeat the successful OLE DB design concept on the open Internet standard (such as SOAP, XML, and HTTP), allowing the OLE DB for OLAP application and OLE DB provider Easily use XML for Analysis to efficiently use standard data sources (such as relational OLAP and data mining) Design summary designed to design an XML communication API, which is called XML for Analysis, which defines two usually accessible methods: Discover And Execute. Since XML takes into account loosely coupled clients and server structures, both methods are processed and transmitted in XML format. The API is optimized for the Internet. In the Internet, the round trip calls of the server are costly expensive on time and resources, and the status connection of the data will limit the number of users on the server. Discover is used to get information and metadata from the web service. This information can include data for a range of available data sources and providers about a particular data source. The property is used to define and describe which data obtained. Client applications may require multiple types of information, and discover allows you to specify this information through regular ways. This universal interface and use allows for use, without having to rewrite existing functions. Execute is used to perform multi-dimensional expressions (MDX) or other provider specific commands for specific XML for Analysis data sources. The following illustration shows a possible implementation process of the N-layer application. After obtaining the URL of the server where the resilient web service, the client will use the SOAP and HTTP protocol to send discover and execute call to the server. The server instantiates the XML for Analysis provider to process discover and execute calls. The XML for Analysis provides the program extracts data, packaged into XML, and then sends the requested data as XML to the client. Discover and Execute methods enable users to determine what they can query on a particular server and submit the command to be executed thereby. The following example demonstrates how the Internet application or web service uses these methods. Part 1 - XML for AnalysisXML for Analysis Introduction XML for Analysis Specifies SOAP-based XML communication API, which supports analyzing data exchange between clients and servers on any platform. Method The following method provides a standard way for the basic information on the XML application access server. Since these methods are called using the SOAP protocol, they accept input and send output in XML format. By default, these methods are stateless, so the server context will terminate at the end of any command. For information on how to make status calls, see the status of stateful support in XML for Analysis. Simplify the interface model has two methods. DiscoR method obtains information, and the execute method sends an operation request to the server. The XML namespaces of these methods are "URN: Schemas-Microsoft-COM: XML-Analysis". In each method call, the connection information is provided by the connection attribute. The DiscoverDiscover method can be used to retrieve information, such as available data source lists on the server or detailed information on specific data sources. The data retrieved by the Discover method depends on the parameter value passed to it.
Name Space URN: Schemas-Microsoft-COM: XML-Analysis Operation "URN: Schemas-Microsoft-COM: XML-Analysis: Discover"
Grammar discover
[in] RequestType as enumstring,
[in] Restrictions as restrictions,
Properties as Properties,
[OUT] result as rowset parameter requestType [in] This parameter is required, which consists of the RequestTypes enumeration value, which determines the type of information to be returned. The discover method uses the RequestTypes enumeration to determine the structure and content of the rowset returned in the Result parameter. The format of the Restrictions parameter, and the generated XML result set also depends on the value specified in this parameter. The enumeration can be extended to support provider specific enumeration strings. Each RequestTypes enumeration value corresponds to a return rowset. See the XML For Analysis line set for rowsetting. It is necessary to support the following clearly named RequestTypes enumeration values.
Enumeration Value Description DiscoR_DataSources returns a list of XML for Analysis available on a server or web service. (For example, see XML For Analysis implementation process step instructions.) Discover_properties Returns a list of information and values for the requested attribute, which is supported by the specified data source (provider). Discover_schema_rowsets returns a name, value, and other information of all supported RequestTypes enumeration values (including the values listed here), as well as any other provider specific enumeration value. Discover_enumerators returns a list of names, data types, and enumerators supported by a particular data source provider. Discover_keywords returns a rowset that contains a list of keywords that contains the provider. Discover_literals Returns the direct amount of information supported by the data source provider. SCHEMA ROWSET Constant Returns the OLE DB architecture routine of the XML format in the case of a corresponding constant (such as MDSChema_cubes) corresponding to one of the schema row set names defined by the OLE DB. Note: The provider may also extend OLDB by providing other provision specific architectural rows. Table Data Provider (TDP) and Metary Data Provider (MDP) The architectural row set is columns in the Discover_schema_rowsets Rowset. Restrictions [in] This parameter belongs to the RESTRICTIONS data type, which allows users to limit the data returned in the Result. The Result column is defined by the rowset specified in the RequestType parameter. Some Result columns can be used to filter the returned rows. For information on these columns and columns that can be restricted, see the line set table in the XML for Analysis line. To get restrictions on the provider specific architectural rows, use the discover_schema_rowsets request type. This parameter must be included, but it can be empty. Properties [in] This parameter belongs to the Properties data type, which is composed of a collection of XML for Analysis properties. Each attribute can host a single aspect of the account to control the discover method, such as the specified result set, the timeout return format, and the area settings specified in the data format. To get available properties and their values, you can use the discover method and use the discover_properties request type. The details of the standard XML for Analysis property will be described in the XML for Analysis property. The attributes listed in the Properties parameter have no order requirements. This parameter must be included, but it can be empty. Result [OUT] This parameter is required, which contains the result set returned by the provider as the ROWSET object. The columns and contents of the result set are determined by the values specified in the RequestType and Restrictions parameters. The column layout of the returned result set is also determined by the value specified in RequestType. For more information on the line set layout corresponding to each requestType value, see the XML for Analysis Row. For more information on the RowSet data type, see the data type used in XML for Analysis. Example In the following example, the client issued an XML Discover called, requesting a multi-dimensional dataset list to the Foodmart 2000 directory:
Foodmart 2000
Catalog_name>
RestrictionList>
Restrictions>
Provider = msolap; data source = local;
DatasourceInfo>
Foodmart 2000
Catalog>
Tabular
Format>
PropertyList>
Properties>
Discover>
Soap-env: body>
Soap-env: envelope>
The provider returns the following results to the client: XML Version = "1.0"?>
XMLns: soap-env = "http://schemas.xmlsoap.org/soap/envelop/" SOAP-ENV: EncodingStyle = "http://schemas.xmlsoap.org/soap/encoding/"> ... xsd: schema> ... row> ... row> ... root> returnide> DiscoverResponse> Soap-env: body> Soap-env: envelope> The ExecuteExecute method is used to make an operation request to the server. These include requests involving data transmission, such as retrieving or updating data on the server. Name Space URN: Schemas-Microsoft-COM: XML-Analysis SOAP operation "URN: Schemas-Microsoft-COM: XML-Analysis: Execute" Syntax EXECUTE [in] Command As Command, Properties as Properties, [OUT] result as resultset parameter Command [in] This parameter is required, it belongs to the Command data type, consists of a specific statement to be executed. The XML for Analysis multi-dimensional provider must support MDXML language, but other commands can also be supported as needed. Properties [in] This parameter belongs to the Properties data type, which consists of a collection of XML for Analysis properties. Each attribute allows the user to control an aspect of the execute method, such as the information required to define the connection, and the return format of the result set or the area settings in the specified data format. To get available properties and their values, you can use the discover method and use the discover_properties request type. The details of the standard XML for Analysis property will be described in the XML for Analysis property. The attributes listed in the Properties parameter have no order requirements. This parameter must be included, but it can be empty. Result [OUT] This parameter contains the resultSet result returned by the provider. The value in the Command parameter and the Properties parameter will define the shape of the result set. If any shape definition attribute is not passed, the XML for Analysis provider will use the default shape. The two result set formulations defined in this specification are table formats and multi-dimensionally, which is in line with the format specified by the client through the Format property. OLAP data uses a multidimensional format (although you can also use the table format). The provider may also support other line set types to understand these special types of clients can request them. Example The following is an example of an Execute method called, SELECT [MEASURES] .members on column from sales Statement> Provider = Essbase; Data Source = local; DatasourceInfo> PropertyList> Properties> Execute> Soap-env: body> Soap-env: envelope> This is a brief response to the aforementioned method call: XML Version = "1.0"?> SOAP-ENV = "http://schemas.xmlsoap.org/soap/envelop/" SOAP-ENV: EncodingStyle = "http://schemas.xmlsoap.org/soap/encoding/"> XMLns: m = "URN: Schemas-Microsoft-COM: XML-Analysis"> "http://schemas.xmlsoap.org/soap/encoding/"> XMLns: XARS = "URN: Schemas-Microsoft-COM: XARS"> ... xsd: schema> ... root> m: Return> m: ExecuteResponse> Soap-env: body> Soap-env: envelope> The data type used in XML for Analysis is described below in alphabetical order, and the XML for Analysis data type is described and labeled with the data type using the standard XML data type. For more information on the type of XML architecture, see http://www.w3.org/tr/xmlschema-2/. BooleanBoolean type uses standard XML Boolean data types. The XML Boolean data type uses 1 to TRUE (true), using 0 to represent false (fake). Decimal The Decimal type described herein uses a standard XML decimal data type. Integer described in this article refers to the type of XML integer data. EnumstrinGenumString data types are given a given enumerator (Enum) defined a set of naming constants. Enumstring uses standard XML string data types. The specific values for each named constant are specified by the enumerator definition. The MDDataSetMddataSet format is one of the formats that the EXECUTE method can return. This format is used for cobras. The OLAP data is used to indicate the Rowset (or Data Set) of the OLAP, which is described herein. The XML namespace of the MDDataSet data type is "URN: Schemas-Microsoft-COM: XML-Analysis: MdddataSet". For basic information about the OLE DB for OLAP data set structure, see the MDDataSet data type to OLE DB mapping. For examples of the complete XML schema definition (XSD) of MDDataSet, see Appendix D. This specification defines the following XML structure for OLAP results. MDDataSet consists of three main parts: Olapinfo: The structure of the result is listed and explains the coordinate axes and cell axes that will be used: data containing the coordinate axes defined in the OLAPINFO structure: The data provider containing the cell defined in the OLAPINFO structure is not changed. The behavior and meaning of the architecture defined here can be added to the structure. This open content architecture model allows new elements and features from other namespaces, but do not allow the semantics of the defined elements and features. In order to define the structure, Hierarchyinfo> Axisinfo> Hierarchyinfo> Axisinfo> The last item defined by the OLAPINFO structure is the attribute of the cell (column definition). This allows the cell to contain other properties. The properties in this example are Value, FmtValue, and custom properties formatstring. ... Cellinfo> HierarchyInfo Standard Elements The following standard elements are the elements required by the Element Description Uname The member_unique_name attribute of the OLE DB coordinate axis Caption from the memory_caption attribute of the OLE DB coordinate axis rowset from the OLE DB coordinate axis set Level_unique_name attribute lnum from the OLE DB coordinate axis set Level_Number property Cellinfo Standard Element It is the standard element of the Element Description Value Value Value Properties of OLE DB Cell Properties FMTValue FORMATTED_VALUE Properties from OLE DB Units Properties Forecolor From OLE DB Units Properties The Back_Color Properties of OLE DB Units Properties The back_color properties from the OLE DB cell properties use defaults in CellInfo and AxisInfo The provider can selectively specify the default value for a single member or cell property in the AxisInfo or Cellinfo section. If the same attribute always has or often has the same value, the size of the result can be reduced. The Thus, if there is no member attribute or cell properties in the result, the value of the member attribute or the cell property is the declared default value. In the following results, there is no output of the Member> If the element exists, but no value, this means an empty string result (""), as shown in the following example: Usually, if the attribute is null, it will be ignored. However, if the default value has been defined for the property, if you want to specify a NULL value for the property, you should use the empty character in the XML architecture specification, as shown below: AXES Under axes, the AXIS item will start from scratch and listed in the order in the data set. The AxisFormat property setting determines the format of each AXIS element. All XML for Analysis providers must support the following values of attribute AxisFormat: The ClusterformatTupleFormatCustomMAT provider can selectively support the CustomFormat value as a separate format. If the client requests CustomFormat, the provider can return to one of the TupleFormat and Clusterformat formats based on the judgment. Although the provider must support all three values described above, the client can request the format it needs; so the client can choose not to use all three available formats. Why do you have different formats? The TupleFormat and ClusterFormat settings of the AxisFormat property provide two different representation of the group. The MDDataSet defines the way two specified tuples that give programs: specify it as a multi-dimensional group or specify it as a Cartesian product. This allows client applications to choose between simplicity and reduced space requirements. The coordinate axis represents a group set, which has the same dimension. This set can be used in different ways, and different methods have different advantages. For example, the following four-dollar sets can be represented as a two-dimensional group collection or two-dimensional set of Cartesian product. 199999920002000ActualBudgetActualBudget The following lines are expressed as a quadruple group collection: {(1999, Actual), (1999, Budget), (2000, Actual), (2000, budget) The following row expands the quad quaternary set as two-dimensional set of Descartes: {1999, 2000} x {actual, budget} Both representations have advantages and disadvantages. The two-dimensional group is easy to use by the client tool. One-dimensional set of Cartesian product is small, and retains the set of multidimensional essence. The following table lists the operations that can be used to define and describe the coordinate axis structure and members. Operating Instructions MEMBER MEMBER SINAL INTRE TUPLE TUPLE from Different Dimensional Hierarchy Parts Vector Members From Member Objects from Tie Tie Structure Tuples Tuples with the same dimension group Objects Collection Union Sets Joint CrossProduct set flute Carl product is based on the previous examples, which will convert the two-dimensional group and one-dimensional set of Cartesian product into the following form. Two-dimensional group Tuples (Tuple (Member (1999), MEMBER (Actual), TUPLE (MEMBER (1999), MEMBER (BUDGET), TUPLE (MEMBER (2000), MEMBER (Actual), TUPLE (MEMBER (2000), MEMBER (BUDGET)) ) One-dimensional set of Desproduct ( MEMBERS (Member (1999), Member (2000)), MEMBERS (MEMBER (Actual), MEMBER (BUDGET) ) The XML representation of these operations follows these rules (where the member_properties value refers to the list of members attributes defined in the corresponding AxisInfo section): Member: In addition, the 19999992000ActualBudgetBudget ? Member> ? Member> Tuple> ? Member> Tuple> ? Member> ? Member> Tuple> Tuples> Axis> ... Axes> ClusterFormat In ClusterFormat, the coordinate axis is represented as a group of clusters. Each cluster represents a cross product from different dimensional hierarchy. The provider will define your own specific cluster algorithm. The following operations must be used in the specified order: To represent an object as a cluster, the 19991999200020002001ActualBudgetAutAlBudgetBudgetCluster 1Cluster 2 ? Member> ? Member> Members> ? Member> ? Member> Members> Crossproduct> Members> ? Member> Members> Crossproduct> Axis> ? Axes> The CustomMMAMAMMMAT is allowed to generate a coordinate axis in a valid combination of operations defined in any of the above sections, but there is a limit: Only Wawacaumbrella (Umbrella) Umbrella (Umbrella) Sunglasses Sunglasses (Sun Glasses) ActualBudgetAlBudget provider can be selected to generate the following representation to the CustomFormat results. In this case, the tuple set is multiplied by the member set. Crossproduct Tuples TUPLE (MEMBER (WA), MEMBER (Umbrella), MEMBER (MEMBER (CA), MEMBER (Sunglasses)), MEMBERS (MEMBER (Actual), MEMBER (BUDGET)) ) The above theoretical formula can be expressed as the following form: ... Member> ... Member> Tuple> ... Member> ... Member> Tuple> Tuples> ... Member> ... Member> Members> Crossproduct> Axis> The CellDataAxes section is followed by the CellData section, which contains the attribute value of each cell. The mandatory Cellordinal characteristic represents the number of cells. For N cells, Cellordinal numbers are from 0 to N-1. If all cell properties are default (if the default value is not specified, the default value is null), there is no cell element. Note that the type of Cell> Cell> Cell> CellData> The coordinate axis reference of the cell can be calculated according to Cellordinal. Conceptually, the number of cells in the data set is like this data set, where P is the number of coordinate axes. Each unit is arranged in the order of behavior. The figure below is the formula of the calculation unit sequence. We will apply the above formula to the result set shown in the table below. The query requires four values on the column, and there are two states and four quarters of cross multiplication on the line. In the following data set, the Cellordinal attribute of the data set part of the data set in the box is displayed {9, 10, 11, 13, 14, 15, 17, 18, 19}. This is because the cells are arranged in the order of behavior, and their start position is zero Cellordinal in the left upper corner cell. Next, we will apply the above formula to cell {CA, Q3, and Store Cost}. The coordinate axis k = 0 has UK = 4 members, while the coordinate axis k = 1 has UK = 8 yuan groups. P is the total number of coordinate axes in the query, here is equal to 2. S0 is the initial sum of I = 0 to 1. For i = 0, the {Store Cost} is 1 in the coordinate axis 0. For i = 1, {CA, Q3} is 2. For i = 0, EI = 1, so for i = 0, and is 1 * 1 = 1, for i = 1, and is 2 (tuple number) * 4 (value of EI, according to 1 * 4) ), Or 8, so, is 1 8 = 9, the number of the cells. The full XML output of the above data set is displayed in Appendix D. The CommandCommand data type is an XML document type. In this version of the XML for Analysis specification, the Command data type consists only of the Statement> In the subsequent version of the specification, the XML document for the Command data type will exceed the single Provider = msolap; data source = local; DatasourceInfo> Foodmart 2000 Catalog> Multidimensional Format> PropertyList> The RestrictionsRESTRICTIONSIS Data Type Indifes the collection of restrictions to be applied during the execution of the discover method. The RESTRICTION Name Specifies the name of the restricted row column. Restriction value defines the data of the column. Each provider can add a new architectural rowset, but to make the column can be restricted, the name must comply with the XML format integrity constraint. The following example limits the column names in the MDSChema_cubes schema row: Foodmart 2000 Catalog_name> ... RestrictionList> You can use multiple values to limit the column when needed. Each value is represented by Literalname> ... RestrictionList> The ResultSetResultset data type is a self-explanatory XML result set. It will include the data type of the XML for Analysis Format. By default, the XML architecture is returned with the result set. This situation can be used to change this, as described in the XML for Analysis property. RowSet is embedded in a rowset to define the specific structure of the ROWSET returns the data type. The general structure of the XML for Analysis row is similar to the format of the Microsoft® SQL ServerTM 2000 rowset acquired through the For XML RAW clause, but it is an element-centered, not a property center, and allows the use of hierarchies. data. XML does not allow the name of the specific character as elements and features. XML for Analysis supports encoding this XML constraint in the definition in SQL Server 2000. For column names containing invalid XML name characters (according to XML 1.0 specification), the invalid Unicode character will be encoded using the corresponding hexadecimal value. These values are expressed as _xhhhh_, where HHHH represents the four hexadecimal UCS-2 code of the character, the high position is before. For example, the name "ORDER DETAILS" is encoded as Order_x0020_Details, where space characters are replaced by the corresponding hexadecimal code. The encoding will make the extensible style language (XSL) conversion difficult. To support the rapid lookup of column names that actually not coded, SQL: Field features can be added to the XML rowsetting architecture, each characteristic, accounts for a column. This feature is in the "URN: Schemas-Microsoft-COM: XML-SQL" namespace. Example: Column Title Content Column Name Output The name of the column column column. Description of the data type of the type column. For more information on the data types supported by XML for Analysis, see the data type used in XML for Analysis. A brief description of the use of the column. Restrictions indicate whether to limit the returned rows (the method is through the restrictions parameter containing the discover method). "Yes" means that the column is used as the Restrictions item to filter the results in this field. Whether it can indicate whether or not the empty string is allowed when the data must be returned or when the column is not applicable. "Yes" means that it is allowed to be empty, and the data is optional. "No" means that the data is required. DISCOVER_DASOSOSOS RESULTS When calling a Discover method in the requestType parameter, the method returns a discover_datasource in the Result parameter. Such a request type returns a list of published data sources from the URL of the application web server (in an implementation specific way), allowing the client to select the data source to connect. Column Name Type Description Limits Whether you can empty the name of the DataSourceNameString data source, such as Foodmart 2000. Whether the DataSourceDescriptionstring data source is entered by the publisher. No Yes URLString Displays a unique path to the location of the XML for Analysis method as the data source. Yes DataSourceInfostring contains a string that connects to all other information required for the data source. This string can include the INITIAL CATALOG attribute of the provider or other information. Example: "Provider = msolap; data source = local;" No is the name of the provider after the ProviderNameString data source. Example: "msdasql" is Column Name (Continued) Type (continued) Description (continued) Whether it can be empty (continued) The data type supported by the ProvIDertypeArray provider. One or more of the following types can be included. An example is included after this watch. TDP: Table Data Provider. MDP: Multidimensional data provider. DMP: Data Mining Provider. The DMP provider implements the OLE DB for Data Mining specification. whether Column Name (Continued) Type (continued) Description (continued) Whether it can be empty (continued) AuthenticationModeenumString specification for security mode types used by the data source. Its value can be one of the following: Unauthenticated: You don't have to send a user ID or password. Authenticated: The user ID and password must be included in the information that the connection requirements. Integrated: Data Source Use the infrastructure to determine authorization, such as the integration security provided by Microsoft Internet Information Services (IIS). Whether providing each type of program support has a corresponding element in the ProvIDertype array. For example, the provider that supports TDP, MDP, and DMP will generate the following arrays: DISCOVER_PROPERTIES RESULTS When calling a discover method using the discover_properties enumeration value in the RequestType parameter, the method returns a discover_properties rowset in the Result parameter. This type of request will return information about the standard properties supported by the XML for Analysis provider and providers specific properties. The provider does not support attributes are not listed in the return result. Column Name Type Description Limits whether you can use the name of the empty PropertyNameString property. Yes, when the array is paired, the article describescriptionString's instructions for this property, the text can be localized. No is the xml data type of the PropertyTypeString property. NOPETYACCESSTYPEENUMSTRING access method. This value can be READ, WRITE or READWRITE. No isRequiredBoolean requires that attributes are true, no requirements are false. No is the current value of the valueString property. No Yes Discover_schema_rowsets Rows When you use the discover_schema_rowsets enumeration value in the requestType parameter, it returns a discover_schema_rowsets rowset in the Result parameter. This type of request will retrieve a list of all RequestTypes enumeration values supported by the provider. Column Name Type Description Limits Whether you can empty the name of the ScheManameString Architecture / Request. It will return values in the RequestTypes enumeration, including all other types supported by providers. The provider will define the routine structure for other types. Whether the RestrictionsArray provides a restriction array supported by the program. Example is behind this table. NOTIONSTRIPTIONSTRING's instructions for the architecture, which can be localized. No, for providing three restrictions on the DBSChema_members architecture row set, the results returned in the restriction array may be similar to the following examples. The element is the column name in the architecture. RestrictionList> Restrictions> The following table gives the OLE DB architectural routine required by the XML For Analysis table data provider and the multi-dimensional data provider. In some cases, some columns in the architecture row (the columns required by the OLE DB for OLAP provider) are optional for the XML for Analysis provider. In the following table, these optional architectural rows are labeled as an asterisk (*); the alternative column is listed later in this table. OLE DB Architecture Rows Required Provider Description DBSChema_catalogstdp, MDP, DMP can be used to provide a directory DBSChema_columnstdp, DMP parallel DBSChema_Provider_TypestDP, DMP pair DBSChema_tablestDP, DMP Enumeration dbschema_tables_infotdp, DMP in the table, DMP, MDSchema_Actionsmdp on the table, MDSChema_Actionsmdp, MDSChema_cubesmdp, MDSchema_cubesmdp, MDSchema_Dimensions MDSChem, MDSChema_functions * MDP for all cube Supported MDX functions MDSchema_hieraceiES * MDP MDSchema_MeasureSMDP for all dimensional hierarchies MDSchema_Members * MDPChema_members * MDP for all dimensions of all dimensions of all dimensions of All Members of all dimensions * MDP Enumeration MDSChema_setsmdp for user-defined attributes that can be used for cells and members can be used in the catalog. The architecture row set with an asterisk (*) has such a column: These columns are essential for the OLE DB for OLAP provider, but for the XML For Analysis provider, it is optional. . These options are listed in the table below. OLE DB schema rowset OLE DB required but for XML for Analysis Provider for optional column MDSCHEMA_FUNCTIONSORIGIN, INTERFACE_NAMEMDSCHEMA_HIERARCHIESSTRUCTUREMDSCHEMA_MEMBERSLEVEL_UNIQUE_NAME, LEVEL_NUMBER, PARENT_LEVELMDSCHEMA_PROPERTIESLEVEL_UNIQUE_NAMEXML for Analysis MDP provider does not require MDSCHEMA_LEVELS schema rowset OLE DB for OLAP, though provided The program can be selectively supported. Thus, the columns that reference other architectural row concentration becomes optional, as described above. This is because different multi-dimensional providers are different when using the term "level" (some providers are numbered from top to bottom, while others are numbered from below). In the release from this specification, more levels of architectural rows are added. DISCOVER_ENUMERATORS Rows When calling a Discover method using the Discover_Enumerators enumeration value in the RequestType parameter, it returns a discover_enumerators rowset in the Result parameter. This request type will query the enumerator supported by the provider, including data types and values. By supporting such requests, the provider will publish all enumerations that it can identify. Each enumerator has multiple elements, each element corresponds to a value in the enumeration. It is said that this situation is flat, and the name of the enumerator may be repeated for each element belonging to the same enumeration. Column Name Type Description Limits whether you can include a series of enumerators that contain a series of values. Yes, when the array is dedicated to whether the enumdescriptionstring of EnumDescriptionString is localized. NO is the data type of the EnumTypeString enumeration value. No ElementNameString Enumerator The name of a value element. Example: TDP Does ElementDescriptionString The description of the element (optional) can be localized. NO is the value of the ElementValueString element. Example: 01 No Yes Discover_keywords Rows When you use the Discover_Keywords enumeration value in the RequestType parameter, it will return a discover_keywords rowset in the Result parameter. This type of request will list the keywords that provide programs. Each returned keyword is a line in the discover_keywords line. Column Name Type Description Limits Whether you can use a list of all keywords preserved by an empty KeywordString provider. Example: AND Yes When the array is to treat the discover_literals rowset when using the Discover_literals enumeration value in the RequestType parameter, it returns a discover_literals rowset in the Result parameter. This type of request will query the provider of information about supported direct quantity, including data types and values. The direct quantity of each returned is a line in the discover_literals. Column Name Type Description Limits Whether you can use the direct amount of the direct volumeNameString line. Example: DBLITERAL_LIKE_PERCENT Yes, when the array is denoted whether LiteralValUString contains the actual directivity. For example, if LiteralName is DBLITERAL_LIKE_PERCENT and matches zero or more characters in the Like clause, the value of the column will be "%". Whether or not LiteralInvalidCharsString is inactive in the direct volume. For example, if the table name cannot contain numeric characters, this string should be "0123456789". No Yes LiteralInvalidStartingCharsString can't be used as a direct number of characters. If the first character of the direct volume can be any valid character, this string should be empty. No is the maximum number of characters of LiteralMaxLengthinteger direct volume. If there is no maximum character limit or the maximum number of characters is limited, its value is -1. No Yes XML for Analysis Attribute This section describes the properties required by XML for Analysis. The name of the list of content Name properties. The data type of the TYPE property. For more information on data types in this specification, see the data type used in XML for Analysis. Read / write behavior of R / W attributes. The default value of the default value. Usage You can use a method of attribute (if applicable,). Note Basic descriptions of attribute behavior. The table below shows the specific information of each attribute. Name Type R / W Default Usage Description AxisFormateNumeRATIONW Execute Method Requirements The MDDataSet axis format: TupleFormat, Clusterformat, CustomFormat. The Beginrange * INTW-1Execute method corresponds to the integer value of Cellordinal, which is used to limit the MDDataSet returned to a specific range of cells. Use the endrange property. If not specified, all cells are returned in the row. Value -1 indicates that it is not specified. Name (Continued) Type (continued) R / W Default (continued) Usage (continued) CatalogStringR / Wymine Strings Discover Method Execute Method Specifies the initial directory or database to be connected. ContenTenumStringWSchemadataDiscover method Execute method A enumerator that specifies the type of data returned by the result set. None: Allows the structure of the command command, but does not execute the command. Similar to the use of prepare to check the grammar, and so on. Schema: Contains an XML architecture associated with the requested query (used to specify column information, etc.). DATA: Only the requested data. Schemadata: Returns the architecture information and data. DataSourceInfostringR / W Air Strings Discover Method The Execute method contains a string of provider specific information that needs to be accessed. Name (Continued) Type (continued) R / W Default (continued) Usage (continued) The endRange * INTW-1Execute method corresponds to the integer value of Cellordinal, which is used to limit the MDDataSet returned to a specific range of units. grid. Combined with the Beginrange property. If not specified, all cells are returned in the row. Value -1 indicates that it is not specified. FormateNumStringW For the discover method, the discover method is Tabular; for the EXECUTE method, the MultidImensionalDiscover method is used to determine the enumerator of the returning result set format. These values include: Tabular: Plane line set or hierarchical row. Similar to XML RAW format in SQL. For the OLE DB for Data Mining command, the Format property should be set to Tabular. Multidimensional: Indicates that the result set will use the MDDataSet format (only for the Execute method). Name (Continued) Type (continued) R / W Default (continued) Usage (continued) LocaleIdentifierunSignedIntr / W No discover method Execute method It is used to read or set the digital area setting identifier for this request. The default value is related to the provider. To get a full hex language identifier list, search for "Language Identifiers" in MSDN® Library, which is http://www.msdn.microsoft.com (English). MDXSUPPORTENUMSTRINGRCOREDISCOVER Method Description MDX support level enumeration. In the initial version, CORE is the only value in the enumeration. In the later release, other values will be defined for this. The PasswordStringw Air String Discover Method The EXECUTE method client can be used to provide a string of any password information required for the connection. ProviderNameStringR The name of the XML for Analysis provider. Providerversionstringr Empty String Discover Method XML for Analysis Provider (Implementation) version number. The version value should be 4 partial format, each partial separated by a decimal point. Name (Continued) Type (continued) R / W Default (continued) Usage (continued) Description (continued) StateSupporTenumStringR No discover method is used to specify the properties of the status support level in the provider. For information on the status in XML for Analysis, see Support in XML for Analysis. The enumeration value includes at least: none - a session or stateful operation is not supported. Sessions - Provider support session. TimeoutunSignedIntr / W Unended discover method Execute method Time-time value in seconds unit is used to specify the amount of time waiting for success. The UserNameStringR / Wymine string discover method The Execute method contains a string of the username required. * The range value of cell coordinates starts with 0 (zero). -1 indicates that all values are not defined or in a range. The following table contains examples of range values and their behavior. Usually, the following conditions must be true to return results set: Beginrange <= endrange. If Beginrange> EndRange, this range is invalid and the result will not return. BeginrangeEndRange behavior -1-1 all cells or rows. This is the default behavior. 0-1 From the first (ie, 0) to all cells or rows of the undefined (ie, the dataset end). 15-1 Returns the cell or line from the cell from the end of the data set. -10 As the first cell of the first item in the range (or all), and the end is the 0th element. 1550 Return ranges to OLAP cells 15 to 50 (including these two cells). Beginrange <= EndRange. 21 Will not return cells due to the scope invalid (the start value is greater than the end value). Beginrange> EndRange. Error handling errors in XML for Analysis is different, and how the processing is different. The following types of errors may occur: Performing a method call failure How to perform method call success, but with an error or warning execution method call is successful, but the result set contains an error execution method call failure is reported through the SOAP Fault message. When this happens, "Results" will not return. If the method is incorrect or warning when the method is completed, these errors and warnings will return to the client with "Results". MDDataSet Error Example is embedded in the appropriate location of the resulting set in the resulting set of cells or data related to "Results". The "MDDataSet" in the data type used in XML for Analysis contains the MDDataSet data type. Below is an example of the result of the error in the MDDataSet: ... Error> Value> Cell> CellData> SOAP error example The SOAP error code related to this specification is started with "XMLFoRaysis", and the following is a period and hexadecimal HR result code. For example, the error code "0x80000005" will be formatted as "XMLFoRYSIS.0x800000000". For more information on SOAP error format, see http://www.w3.org/tr/soap/#_ref477795996 (English). The following table shows the XML for Analysis error code information included in the "Details" section of the SOAP response. The error characteristics in the detailed information section listed as SOAP errors. Column Name Type Description If you can indicate the return code that the method successfully or not. Note: The hexadecimal value must be converted to the unsignedint value. No DescriptionString generates an error text and instructions returned by the error. It is the name of the component that generates the error component. Is helpFileString descriptions of the wrong help file or the topic path or URL. Below is an SOAP error example of a failed method called: XML Version = "1.0"?> XMLns: soap-env = "http://schemas.xmlsoap.org/soap/envelop/" SOAP-ENV: EncodingStyle = "http://schemas.xmlsoap.org/soap/encoding/"> ErrorCode = "2147483653" Description = "An unexpected error." Source = "XML for Analysis Provider" Helpfile = "" /> faultstring> detail> Soap-env: fault> Soap-env: envelope> In terms of stateful support in XML for Analysis By default, XML for Analysis is stateless. (No status is a case, that is, the server does not remember the logo or context of the client after completing the method. In order to support state (that is, the server reserves the client ID and context between the two method calls), providing the provider provides support for sessions. For a series of statements that should be implemented together, the session is very useful. One of the examples is to create a calculated member that will be used in successive queries. Providing programs support for sessions is optional. The client can test support by checking the value of the XML for Analysis property StateSupport with the Discover method. Make the minimum value that occurs as sessions. For more information on the StateSupport property, see the XML for Analysis property. Typically, sessions follow the behavior specified in the OLE DB specification, as follows: The session defines the range of transactions and command context. Multiple commands can be performed in the context of a single session. Support for transactions in the XML for Analysis context is processed by providing a provider specific command sent by an Execute method. XML for Analysis defines a method of supporting status (sessions) in a web environment, which is similar to the method used by Distributed Authoring and Versioning, Dav) protocols to achieve in loose coupling environments. locking. This specification can be similar to DAV for various reasons (such as timeout or connection errors). This also means that the Web service must identify and prepare each group of commands that have been interrupted and must be restarted. SOAP specification is recommended to use SOAP headers to build a new protocol at the top of SOAP messages. The following table lists the SOAP header elements and features defined by XML for Analysis as initialization, maintenance, and closing sessions. SOAP header Description BeginSession request provider creates a new session. The provider should respond to part of the session header in the SOAP response by constructing a new session and returning the session ID as part of the SOAP response. The sessionID value area contains a session ID. In the rest of the session, this ID must be used each method call. The provider sends this tag in the SOAP response, and the client must also send this feature in each Session header element. SESSION must be called for each method to occur in a session, and this header must be used and must include a session ID in the value area of the header. EndSession To terminate the session, use this header. The session ID must be included in the value zone. The following example shows how to support sessions: To start a session, add the BegInSession header in SOAP to an outbound XML for Analysis method from the client. The value area is initially blank, because the session ID is still not known. XMLns: soap-env = "http://schemas.xmlsoap.org/soap/envelop/" SOAP-ENV: EncodingStyle = "http://schemas.xmlsoap.org/soap/encoding/"> XMLns: XA = "URN: Schemas-Microsoft-COM: XML-Analysis" XSI: Type = "xsd: int" Mustunderstand = "1" /> Soap-env: header> ...................................................... -> Soap-env: body> Soap-env: envelope> SOAP response messages from the provider use the XML for Analysis header tag XMLns: XA = "URN: Schemas-Microsoft-COM: XML-Analysis" SessionID = "581" /> Soap-env: header> For each method call in the session, you must add a session header that contains the session ID returned by the provider. XMLns: XA = "URN: Schemas-Microsoft-COM: XML-Analysis" Mustunderstand = "1" SessionID = "581" /> Soap-env: header> When the session is complete, use the XMLns: XA = "URN: Schemas-Microsoft-COM: XML-Analysis" XSI: Type = "xsd: int" Mustunderstand = "1" SessionID = "581" /> Soap-env: header> The session ID does not guarantee that the session is still valid. If the session expires (such as session timeout or connection loss), the provider can choose to end or fall back to the session. In this way, the client's end of the session ID will fail and report an error indicating that the session is invalid. The client will handle this situation and must be prepared from head to resend session method calls. Use XML for Analysis for data mining XML for Analysis's EXECUTE method supports execution of data mining commands. Data mining command supports related to the provider. If the result is returned in the form of MDDataSet or Tabular, the data mining command can also be supported by the Execute interface. To support Tabular results, at least the data mining provider is required. For example, there is a big difference between OLE DB for Data Mining information through XML for Analysis API and from a relational data source. The result of the OLE DB for Data Mining command is a flat line set of plane rows or layers. For the OLE DB for Data Mining command, the Format property should be set to Tabular. The XML for Analysis provider does not necessarily support the OLE DB for Data Mining specific command. Support OLE DB for Data Mining will identify themselves by setting one of the array elements in the provodertype to DMP. Part II - Appendix This section includes other subjects and related information to help you understand and implement this specification. Appendix A: Precautions This appendix is discussed. XML For Analysis implementation Process Step Description In order to better illustrate how to use XML for Analysis API, this section provides a step-by-step description of a simple client / server interaction. It includes how to get a list of data source. The steps in this step will detail how the client communicates with the server to obtain a data source list and use one of the data sources to run an OLAP query. The following annotation indicates which steps indicate the specification, which steps are implemented examples: (I) This step is an example implemented. (S) The steps shown are a project implemented in accordance with this specification. Find an XML for Analysis service (I) The client application discovers a server URL that supports Web services. This URL can be found by browsing the general description, the Universal Description, the Discovery, And Integration, UDDI. (I) The client sends a request to the URL to identify whether it supports the XML for Analysis Web service (such as use Discore Protocol, Disco). (I) Disco returns the URL of the WSDL file for the XML for Analysis Web service (such as XMlanalysis.wsdl). (I) the client sends a request to the WSDL file. (I) The web server sends back XMlanalysis.wsdl, which defines the method of support: Discover and Execute. (I) The client confirms the same method with the server through the WSDL. (I) The WSDL file contains URLs that should be used for the XML for Analysis Web service (such as XMlanalysis.asp). Below is an example of a WSDL that the service may return to XML for Analysis: XML Version = '1.0' Encoding = 'UTF-8'?> 'http://schemas.microsoft.com/xmla/msxmlanalysis/wsdl' XMLns: wsdlns = 'http://schemas.microsoft.com/xmla/msxmlanalysis/wsdl' XMLns: typens = 'http://schemas.microsoft.com/xmla/msxmlanalysis/type' XMLns: soap = 'http://schemas.xmlsoap.org/wsdl/soap/' XMLns: XSD = 'http://www.w3.org/2000/10/xmlschema' XMLns: STK = 'http://schemas.microsoft.com/soap-toolkit/wsdl-extension' XMLns = 'http://schemas.xmlsoap.org/wsdl/'> XMLns = 'http://www.w3.org/2000/10/xmlschema'> schema> type> message> message> message> message> Operation> Operation> porttype> input> EncodingStyle = 'http: //schemas.xmlsoap.org/soap/encoding/' /> OUTPUT> Operation> EncodingStyle = 'http: //schemas.xmlsoap.org/soap/encoding/' /> input> EncodingStyle = 'http: //schemas.xmlsoap.org/soap/encoding/' /> OUTPUT> Operation> binding> port> service> definitions> Get data source (S) The client finds the OLAP data source, and the method is to send RequestType Discover_DataSources using the URL and method information obtained above. In the Restrictions parameter, it specifies MDP (multidimensional data) for the proviDertype. (I) The list of published data sources is an XML file on the server, which is maintained by the application administrator. XMlanalysis.asp retrieves an XML document and sends it to the client application. (I) the client analyzes the rows and selects the data source to use. If the URL listed for the data source is different from the first URL used by the initial discover method, then the following DISCOVER and EXECUTE calls can handle data in the data source, and must use the second data source specific URL . Use the Data Source (S) client to send the discover command to the selected OLAP data source. To get a list of available cubes, use RequestType Mdschema_cubes. Restrictions include the name of the database for searching for Foodmart 2000. The information required for the connection provider is included in the Properties parameter. Here is an example of XML sent from the client to this: SOAPACTION: "URN: Schemas-Microsoft-COM: XML-Analysis: Discover" XMLns: soap-env = "http://schemas.xmlsoap.org/soap/envelop/" XMLns: xsi = "http://www.w3.org/2001/xmlschema-instance" XMLns: xsd = "http://www.w3.org/2001/xmlschema"> SOAP-ENV: EncodingStyle = "http://schemas.xmlsoap.org/soap/encoding/"> Foodmart 2000 Catalog_name> RestrictionList> Restrictions> Provider = msolap; data source = local; DatasourceInfo> Foodmart 2000 Catalog> PropertyList> Properties> Discover> Soap-env: body> Soap-env: envelope> (I) XML For Analysis provider processes the request and sends it to the OLAP data source. When the available cube data is received, the provider packs it into XML and sends it back to the requested client application. Below is an XML example of data from the server from the server: XML Version = "1.0"?> XMLns: soap-env = "http://schemas.xmlsoap.org/soap/envelop/" SOAP-ENV: EncodingStyle = "http://schemas.xmlsoap.org/soap/encoding/"> ... xsd: schema> ... row> ... row> ... root> returnide> DiscoverResponse> Soap-env: body> Soap-env: envelope> (S) The client selects a cube, then send an Execute that contains the XMLns: soap-env = "http://schemas.xmlsoap.org/soap/envelop/" XMLns: xsi = "http://www.w3.org/2001/xmlschema-instance" XMLns: xsd = "http://www.w3.org/2001/xmlschema"> SOAP-ENV: EncodingStyle = "http://schemas.xmlsoap.org/soap/encoding/"> Select [MeasureS] .members on columns from sales statement> Commman> Provider = msolap; data source = local; DatasourceInfo> Foodmart 2000 Catalog> Multidimensional Format> TupleFormat Axisformat> PropertyList> Properties> Execute> Soap-env: body> Soap-env: envelope> (I) XML for Analysis provider analysis request and sends it to the data source to be filled. (I) After returning the data set, the provider packs it into XML and sends it back to the requesting client application, as shown in the following example: XML Version = "1.0"?>>>>>> XMLns: soap-env = "http://schemas.xmlsoap.org/soap/envelop/" SOAP-ENV: EncodingStyle = "http://schemas.xmlsoap.org/soap/encoding/"> ... xsd: schema> OLAPINFO> Axes> CellData> root> returnide> Executeresponse> Soap-env: body> Soap-env: envelope> (I) The client receives the result set and performs all other tasks required by the user. For example, a client application can formulate the result set into XSL and display the data to a table that can be browsed on the web page. Client applications can also write result sets to local caches to minimize the number of round trips when the user refreshes the displayed data. XML for Analysis and non-Web Applications XML for Analysis API are optimized for web applications. However, this does not hinder the application of the LAN. The following applications can take advantage of this XML-based API: Requires client / server applications with technical flexibility between clients and servers You can increase server capacity client / server applications with a client / server application that needs to be valid for multiple operating systems. B: SOAP speed Checkup Mega Simple Object Access Protocol (SOAP) is an industry standard that uses XML to expand how data and commands are expandable. Given that SOAP is an integral part of this specification, this section will provide background information and define SOAP terms. WEB services are broader than a broad sense that the web service is an application: it is provided as a service that can be integrated with other Web services using the Internet. It is a resource that can be addressed by the URL, and the information can be returned to the client that requires this information in a programming manner. The web service has a black box function that can be reused without the implementation of a service. The Web service provides a well-defined interface that is called a contract for describing the services provided. Web services can use SOAP to specify the format of its messages. SOAPSOAP is a lightweight protocol for exchange information in a dispersed distributed environment. As an XML-based protocol, it consists of three parts: a set of encoding rules for defining the architecture (content and processing mode of the message), an instance of the data type defined by the application, represents the remote process call And Response Conventions The following is an SOAP request example: Click this browse the appropriate data response Mus below: Click this Browse Web Services Description Language (Web Services Description Language, WSDL) With communication protocols and message formats in Web Community Standardization, in structured methods, the possibility and importance of communications is also increasing. Web Services Description Language (WSDL) describes the network service into a collection of communication endpoints with message exchange functions by defining XML syntax, thereby meeting this need. The WSDL service is defined as a distributed system to provide documentation and can be used as an automated method of detailed information involved in application communication. The WSDL document defines the service as a collection of network endpoints or network ports. In WSDL, the abstraction definition of endpoints and messages has been separated from their specific network deployment or data format binding. This allows you to reuse the abstract definition: Message - Abstract Description Port Type of Switched Data - Abstract Collection of Operations A specific protocol and data format specification for a specific port type constitute a reusable binding. One port is defined by associating a network address and a reusable binding; a port collection defines a service. For a link to get WSDL complete information, see Appendix E. Appendix C: Mapping from XML for Analysis to OLE DB Since XML for Analysis is built from the definition in OLE DB, you can get detailed information by referring to the OLE DB specification in the field. Function Mapping The following table maps OLE DB and OLE DB for OLAP to the equivalent XML for Analysis operation. Since some operations do not apply, not all OLE DB functions have XML for Analysis mapping. For example, methods of navigation methods (they are used to handle collected rows) are not applicable because the client will process this operation. OLE DB interfaces and commands XML implementation IColumnsInfo :: GetColumnInfoExecute methods: Properties: Content = SchemaICommandPrepare :: PrepareExecute methods: Properties: Content = None (for verification only command) ICommandProperties :: GetPropertiesDiscover method: RequestType: DISCOVER_PROPERTIESICommandProperties :: SetPropertiesExecute methods: Properties: XML implementation of the OLE DB property DBPROP_INIT_PROVIDERSTRING (DBPROPSET_DBINIT property set) DataSourceInfo property DBPROP_COMMANDTIMEOUTDBPROP_INIT_TIMEOUT DBPROP_INIT_GENERALTIMEOUT (DBPROPSET_DBINIT property set) RequestTypes the Timeout attribute mapping table below shows the mapping RequestTypes enumeration value's OLE DB. OLE DB mapping XML for Analysis request type and NA DISCOVER_DATASOURCESIDBProperties :: GetPropertyInfo IDBProperties :: GetProperties function DISCOVER_PROPERTIESIDBSchemaRowset :: GetSchemasDISCOVER_SCHEMA_ROWSETS NA DISCOVER_ENUMERATORSIDBInfo :: GetKeywordsDISCOVER_KEYWORDSIDBInfo :: GetLiteralInfoDISCOVER_LITERALSOLE DB schema name and the line defined in the standard OLE DB "Appendix B: Architecture Listed in Rows. The following OLE DB type mapping XML schema data type to type DBTYPE_I1byteDBTYPE_I2shortDBTYPE_I4intDBTYPE_I8longDBTYPE_UI1unsignedByteDBTYPE_UI2unsignedShortDBTYPE_UI4unsignedIntDBTYPE_UI8unsignedLongDBTYPE_R4floatDBTYPE_R8doubleDBTYPE_BOOLbooleanDBTYPE_CYdecimalDBTYPE_ERRORstringDBTYPE_DECIMALdecimalDBTYPE_NUMERICdecimalDBTYPE_DATEdateDBTYPE_DBTIMESTAMPtimeDBTYPE_GUIDstringDBTYPE_BYTESbinaryDBTYPE_STRstringDBTYPE_WSTRstringDBTYPE_BSTRstringDBTYPE_VARIANTstringMDDataSet OLE DB is the XML for Analysis MDDataset data type mappings to OLE DB, and other reference information. OLE DB Implementation XML for Analysis Implementation OLE DB for OLAP Dataset Type Access MDDataSet Data Type MDX and MDXML between MDDataSet Data Types MDX and MDXML is the multi-dimensional expression language defined in the OLE DB for OLAP specification. The MDXML language is an XML package version of the MDX language. As the initial version of this specification, the only XML element of MDXML is the DAV Information about Distributed Authoring and Versioning, DAVs: http://msdn.microsoft.com/library/periodic/period99/dav.htm http://msdn.microsoft.com/library/ Periodic / Period99 / Dav.htm (English) For information on the specification, see the IETF WebDav Working Group Web site: http://www.ics.uci.edu/pub/ietf/webdav/ (English) .NET Architecture Information: http://msdn.microsoft.com/net/ (English) OLE DB Specification Information about OLE DB and Microsoft Data Access Components (Microsoft Data Access Components, MDAC): http://www.microsoft.com /DATA/oledb/default.htm (English) Specification and Data Access Software Development Cap (Data Access Software Development Kit, SDK) Download: http://msdn.microsoft.com/library/psdk/dasdk/mdac3sc7.htm OLE DB for data mininghttp: //www.microsoft.com/data/oledb/dm.htm (English) OLE DB for OLAP information about OLE DB for OLAP, and OLE DB for OLAP specification download: http: // Www.microsoft.com/data/oledb/olap/default.htm (English) WSDL About Web Services Description Language (WSDL) - SDL Alternative Language - information: http://msdn.microsoft.com /XML/General/wsdl.asp (English) SOAP Microsoft Information about the SOAP Protocol: http://msdn.microsoft.com/xml/general/soapTemplate.asp (English) for SOAP WORLD Wide Web Consortium (W3C) specification: http://www.w3.org/tr/SOAP/ (English) Microsoft SQL Server For more information on SQL Server 2000 XML RAW rowset format, please search in SQL Server online series XML, RAW. For more information on XML encoding, search "XML encoding" in SQL Server online book.