...
DataTable $Database.ExportToXml(query: QueryWithMappings)
Arguments
...
Code Block | ||
---|---|---|
| ||
$Database.ExportToXml({ Parameters : { TargetSchema : 'HR', TargetTable : 'OrganizationUnitPositionMembers', IncludeAllColumns : 'True' }, Columns : [ { Name : 'Employee', Properties : { XPath : 'Id' } }, { Name : 'Employee.Person.DisplayName', Properties : { XPath : 'Name' } }, { Name : 'OrganizationUnitPosition.Organization', Properties : { XPath : 'Department' } }, { Name : 'OrganizationUnitPosition.Organization.Name', Properties : { XPath : 'Department/@Name' } } ], Where : { Criteria : [ { Name : 'OrganizationUnitPosition.Manager', Value : 'D7B70176-C44D-44BB-A8C0-7900BC5DAF2A', Condition : 'And' }, {Name : 'Employee.User.Disabled', Value : true, Comparison : 'Different', Condition : 'And'} ] }, XPath : 'EmployeeList/Employee' }); |
Types
QueryWithMappings
{ // Array of columns Columns : Array<QueryColumn> Map : (node: XmlNode) => void // Maximum number of rows. If not set all rows are returns. MaxLength : number // Root node of mapping. If not specified $Xml instance is used. Node : XmlNode // Array of order columns Order : Array<QueryOrder> // Additional parameters Parameters : object // Start index of rows. Start : number // Array of sub queries. SubQueries : Array<SubQuery> // Name of schema to execute query on. TargetSchema : string // Name of table to execute query on. TargetTable : string // Criteria of query Where : QueryBlock // Root xpath to be mapped. XPath : string }
QueryColumn
...
{ // Expression of column. Expression : string // Name of column to use in results. If not specified expression is used. Name : string // XPath to be mapped. XPath : string }
QueryOrder
...
{ // Expression to order. Expression : string // Type of ordering. If not specified Ascending is used. Type : ( "Ascending" | "Descending" ) }
SubQuery
{ // Array of columns Columns : Array<QueryColumn> // Maximum number of rows. If not set all rows are returns. MaxLength : number // Name of sub query. Relation name can be used as name. Name : string // Array of order columns Order : Array<QueryOrder> // Additional parameters Parameters : object // Name of relation Relation : string // Start index of rows. Start : number // Array of sub queries. SubQueries : Array<SubQuery> // Name of schema to execute query on. TargetSchema : string // Name of table to execute query on. TargetTable : string // Criteria of query Where : QueryBlock // Specifies the target xpath to export data on. XPath : string }
QueryBlock
{ // Array of criteria blocks Blocks : Array<QueryBlock> // Condition with next block. If not specified And value is used. Condition : ( "And" | "Or" ) // Array of criteria Criteria : Array<QueryCriteria> }
QueryCriteria
...
{ // Comparison operator. Default value is Equals. Comparison : ( "Equals" | "Different" | "LessThan" | "GreaterThan" | "LessThanOrEqualTo" | "GreaterThanOrEqualTo" | "Like" ) // Condition with next criteria. If not specified And value is used. Condition : ( "And" | "Or" ) // Criteria expression. Expression : string // Array of ignored values. IgnoredValues : any // Value or Expression to compare Value : any // Type of value. If not specified Direct value is used. ValueType : ( "Direct" | "Expression" ) }
Examples
Code Block | ||
---|---|---|
| ||
$Database.ExportToXml({ TargetSchema : 'MySchema', TargetTable : 'Accounts', XPath : 'Accounts/Account', Map : function (accountXml) { this.Password = 'Enc:' + this.Password; // mark as encrypted this.AccountType = accountXml.Evaluate('Type/Code'); // map values whose names are not identical to SQL column names } }); |
...