forked from zhifac/xmlaconnect
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' of ssh://git.code.sf.net/p/xmlaconnect/code
- Loading branch information
Showing
60 changed files
with
24,998 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,145 @@ | ||
class xmlns__rows | ||
{ | ||
public: | ||
int __size; | ||
struct row | ||
{ | ||
xsd__string CATALOG_USCORENAME; | ||
xsd__string DESCRIPTION; | ||
xsd__string CUBE_USCORENAME; | ||
xsd__string CUBE_USCORETYPE; | ||
xsd__string DIMENSION_USCOREUNIQUE_USCORENAME; | ||
xsd__string DIMENSION_USCORENAME; | ||
xsd__string DIMENSION_USCORECAPTION; | ||
xsd__string DIMENSION_USCORETYPE; | ||
xsd__string DIMENSION_USCOREORDINAL; | ||
xsd__string DIMENSION_USCORECARDINALITY; | ||
xsd__string DEFAULT_USCOREHIERARCHY; | ||
xsd__string HIERARCHY_USCORENAME; | ||
xsd__string HIERARCHY_USCOREUNIQUE_USCORENAME; | ||
xsd__string HIERARCHY_USCORECAPTION; | ||
xsd__string HIERARCHY_USCORECARDINALITY; | ||
xsd__string DEFAULT_USCOREMEMBER; | ||
xsd__string ALL_USCOREMEMBER; | ||
xsd__string MEASURE_USCORENAME; | ||
xsd__string MEASURE_USCOREUNIQUE_USCORENAME; | ||
xsd__string MEASURE_USCORECAPTION; | ||
xsd__string MEASURE_USCOREAGGREGATOR; | ||
xsd__string DATA_USCORETYPE; | ||
xsd__string NUMERIC_USCOREPRECISION; | ||
xsd__string NUMERIC_USCORESCALE; | ||
xsd__string LEVEL_USCOREUNIQUE_USCORENAME; | ||
xsd__string LEVEL_USCORENUMBER; | ||
xsd__string MEMBER_USCOREORDINAL; | ||
xsd__string MEMBER_USCORENAME; | ||
xsd__string MEMBER_USCOREUNIQUE_USCORENAME; | ||
xsd__string MEMBER_USCORETYPE; | ||
xsd__string MEMBER_USCORECAPTION; | ||
xsd__string CHILDREN_USCORECARDINALITY; | ||
xsd__string PARENT_USCORELEVEL; | ||
xsd__string PARENT_USCOREUNIQUE_USCORENAME; | ||
xsd__string PARENT_USCORECOUNT; | ||
xsd__string TREE_USCOREOP; | ||
xsd__string DEPTH; | ||
xsd__string LEVEL_USCORENAME; | ||
xsd__string LEVEL_USCORECAPTION; | ||
xsd__string LEVEL_USCORECARDINALITY; | ||
xsd__string LEVEL_USCORETYPE; | ||
xsd__string PROPERTY_USCORENAME; | ||
xsd__string PROPERTY_USCORECAPTION; | ||
xsd__string PROPERTY_USCORETYPE; | ||
xsd__string PropertyName; | ||
xsd__string PropertyDescription; | ||
xsd__string PropertyType; | ||
xsd__string PropertyAccessType; | ||
xsd__string IsRequired; | ||
xsd__string Value; | ||
xsd__string DataSourceName; | ||
xsd__string DataSourceDescription; | ||
xsd__string DataSourceInfo; | ||
xsd__string ProviderName; | ||
xsd__string ProviderType; | ||
xsd__string AuthenticationMode; | ||
}* row; | ||
}; | ||
|
||
|
||
//schema definition | ||
|
||
class element_schema | ||
{ | ||
public: | ||
struct complexType_schema { | ||
struct sequence_schema { | ||
struct element__ { | ||
xsd__string @maxOccurs = "unbounded"; | ||
xsd__string @minOccurs = "0"; | ||
xsd__string @name = "row"; | ||
xsd__string @type = "row"; | ||
} xsd__element; | ||
} xsd__sequence; | ||
} xsd__complexType; | ||
xsd__string @name = "root"; | ||
}; | ||
|
||
class simpleType | ||
{ | ||
public: | ||
xsd__string @name = "uuid"; | ||
struct restriction { | ||
xsd__string @base = "xsd:string"; | ||
struct pattern { | ||
xsd__string @value = "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"; | ||
} xsd__pattern; | ||
} xsd__restriction; | ||
}; | ||
|
||
class sequence | ||
{ | ||
int __size; | ||
struct element | ||
{ | ||
xsd__string @sql__field; | ||
xsd__string @minOccurs; | ||
xsd__string @name; | ||
xsd__string @type; | ||
}* xsd__element; | ||
|
||
}; | ||
|
||
class datasource_complexType | ||
{ | ||
public: | ||
xsd__string @name="row"; | ||
sequence xsd__sequence; | ||
}; | ||
|
||
class schema | ||
{ | ||
public: | ||
xsd__string @elementFormDefault = "qualified"; | ||
xsd__string @targetNamespace = "urn:schemas-microsoft-com:xml-analysis:rowset"; | ||
xsd__string @xmlns="urn:schemas-microsoft-com:xml-analysis:rowset"; | ||
element_schema xsd__element; | ||
simpleType xsd__simpleType; | ||
datasource_complexType xsd__complexType; | ||
}; | ||
|
||
class root__ | ||
{ | ||
xsd__string @xmlns="urn:schemas-microsoft-com:xml-analysis:rowset"; | ||
schema xsd__schema; | ||
xmlns__rows __rows; | ||
}; | ||
|
||
class cxmla__return | ||
{ | ||
public: | ||
root__ root; | ||
}; | ||
|
||
class cxmla__DiscoverResponse | ||
{ | ||
public: | ||
cxmla__return cxmla__return__; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,189 @@ | ||
extern typedef struct UserPropStruct { | ||
const char* elementName; | ||
const char* value; | ||
} UserDataProp; | ||
|
||
class arrayUserProp { | ||
public: | ||
int __size; | ||
UserDataProp* __array; | ||
}; | ||
|
||
class xmlns__Cube { | ||
public: | ||
xsd__string CubeName; | ||
}; | ||
|
||
class xmlns__CubeInfo { | ||
public: | ||
xmlns__Cube Cube; | ||
}; | ||
|
||
class xmlns__UName { | ||
public: | ||
xsd__string @name; | ||
xsd__string UName; | ||
xmlns__UName(); | ||
}; | ||
|
||
class xmlns__Caption { | ||
public: | ||
xsd__string @name; | ||
xsd__string Caption; | ||
xmlns__Caption(); | ||
}; | ||
|
||
class xmlns__LName { | ||
public: | ||
xsd__string @name; | ||
xsd__string LName; | ||
xmlns__LName(); | ||
}; | ||
|
||
class xmlns__LNum { | ||
public: | ||
xsd__string @name; | ||
xsd__string LNum; | ||
xmlns__LNum(); | ||
}; | ||
|
||
class xmlns__DisplayInfo { | ||
public: | ||
xsd__string @name; | ||
xsd__string DisplayInfo; | ||
xmlns__DisplayInfo(); | ||
}; | ||
|
||
class xmlns__ParentUniqueName{ | ||
public: | ||
xsd__string @name; | ||
xsd__string ParentUniqueName; | ||
xmlns__ParentUniqueName(); | ||
}; | ||
|
||
class xmlns__MemberName{ | ||
public: | ||
xsd__string @name; | ||
xsd__string MEMBER_USCORENAME; | ||
}; | ||
|
||
class xmlns__MemberType{ | ||
public: | ||
xsd__string @name; | ||
xsd__string MEMBER_USCORETYPE; | ||
xmlns__MemberType(); | ||
}; | ||
|
||
class xmlns__HierarchyInfo { | ||
public: | ||
xsd__string @name; | ||
xmlns__UName UName; | ||
xmlns__Caption Caption; | ||
xmlns__LName LName; | ||
xmlns__LNum LNum; | ||
xmlns__DisplayInfo DisplayInfo; | ||
xmlns__ParentUniqueName* PARENT_USCOREUNIQUE_USCORENAME; | ||
xmlns__MemberName* MEMBER_USCORENAME; | ||
xmlns__MemberType* MEMBER_USCORETYPE; | ||
arrayUserProp __userProp; | ||
}; | ||
|
||
|
||
class xmlns__AxisInfo{ | ||
public: | ||
int __size; | ||
xmlns__HierarchyInfo* HierarchyInfo; | ||
xsd__string @name; | ||
}; | ||
|
||
class xmlns__AxesInfo { | ||
public: | ||
int __size; | ||
xmlns__AxisInfo* AxisInfo; | ||
}; | ||
|
||
class xmlns__CellInfo { | ||
public: | ||
struct xmlns__ValueCellInfo { | ||
xsd__string @name; | ||
} Value; | ||
}; | ||
|
||
|
||
class xmlns__OlapInfo { | ||
public: | ||
xmlns__CubeInfo CubeInfo; | ||
xmlns__AxesInfo AxesInfo; | ||
xmlns__CellInfo CellInfo; | ||
}; | ||
|
||
class xmlns__Member { | ||
public: | ||
xsd__string @Hierarchy; | ||
xsd__string UName; | ||
xsd__string Caption; | ||
xsd__string LName; | ||
xsd__string LNum; | ||
xsd__string DisplayInfo; | ||
xsd__string PARENT_USCOREUNIQUE_USCORENAME; | ||
xsd__string MEMBER_USCORENAME; | ||
xsd__string MEMBER_USCORETYPE; | ||
arrayUserProp __userProp; | ||
xmlns__Member(); | ||
}; | ||
|
||
class xmlns__Tuples { | ||
public: | ||
int __size; | ||
struct xmlns__Tuple{ | ||
int __size; | ||
xmlns__Member* Member; | ||
}* Tuple; | ||
}; | ||
|
||
class xmlns__Axes { | ||
public: | ||
int __size; | ||
struct xmlns__Axis { | ||
xsd__string @name; | ||
xmlns__Tuples Tuples; | ||
}* Axis; | ||
}; | ||
|
||
class xmlns__Cell { | ||
public: | ||
xsd__string @CellOrdinal; | ||
struct _Value { | ||
xsd__string @xsi__type; | ||
xsd__string __v; | ||
} Value; | ||
|
||
}; | ||
|
||
class xmlns__CellData { | ||
public: | ||
int __size; | ||
xmlns__Cell* Cell; | ||
}; | ||
|
||
class xmlns__root { | ||
public: | ||
xmlns__OlapInfo* OlapInfo; | ||
xmlns__Axes* Axes; | ||
xmlns__CellData* CellData; | ||
}; | ||
|
||
class cxmla__executeReturn { | ||
public: | ||
xmlns__root root; | ||
}; | ||
|
||
class xmlns__Command { | ||
public: | ||
char* Statement; | ||
}; | ||
|
||
class cxmla__ExecuteResponse { | ||
xsd__string @xmlns; | ||
cxmla__executeReturn cxmla__return__; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
|
||
class xmlns__PropertyList{ | ||
public: | ||
char* Authentication; | ||
int LocaleIdentifier; | ||
char* Content; | ||
char* Format; //also for Execute | ||
char* Catalog; //also for Execute | ||
char* DataSourceInfo; //for Execute | ||
char* AxisFormat; //for Execute | ||
}; | ||
|
||
class xmlns__Properties | ||
{ | ||
public: | ||
xmlns__PropertyList PropertyList; | ||
}; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
How to build | ||
|
||
In theory you can build this with Windows SDK. In practice this was never tried yet. In the repo there is a Visual Studio 2010 solution that works. | ||
You need gSOAP (https://sourceforge.net/projects/gsoap2/) in order to build this project. Once you installed gSOAP you need to adjust the solution for the gSOAP path. With the project open in Visual Sudio 2010, in the Solution Explorer go to gsoap->def and right-click on XMLAMethods.h. You must change the Custom Build Tool so that it matches your actual location of soapcpp2.exe. | ||
Please note: You must build at least once a debug version. Only debug versions generate the gSOAP files required by the build process. | ||
|
||
|
||
How to register | ||
|
||
The provider is a COM dll. You register it using regsvr32. If you build using Visual Studio it will auto-register. On systems with UAC you need to run as administrator (Visual Studio/regsvr32) in order to register. | ||
|
||
|
||
How to use | ||
|
||
Use Excel. Create a pivot table from an external data source. Enjoy. | ||
|
||
|
||
How to get help | ||
|
||
We are building a wiki for the project (https://sourceforge.net/p/xmlaconnect/wiki/Home/). Stay tuned. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
|
||
class xmlns__RestrictionList{ | ||
public: | ||
char* PropertyName; | ||
char* CATALOG_USCORENAME; | ||
char* CUBE_USCORENAME; | ||
char* HIERARCHY_USCOREUNIQUE_USCORENAME; | ||
char* MEMBER_USCOREUNIQUE_USCORENAME; | ||
char* LEVEL_USCOREUNIQUE_USCORENAME; | ||
char* TREE_USCOREOP; | ||
}; | ||
|
||
class xmlns__Restrictions | ||
{ | ||
public: | ||
xmlns__RestrictionList RestrictionList; | ||
}; |
Oops, something went wrong.