Home > Class Reference > %SYS namespace > %CSP.XMLSQL

%CSP.XMLSQL

class %CSP.XMLSQL extends %CSP.Page

The %CSP.XMLSQL accepts an SQL statement in the incoming URL and executes it as a Dynamic SQL query. The results are returned in an XML format that corresponds to the MS XML-SQL Server format. See:

http://msdn.microsoft.com/msdnmag/issues/0300/sql/default.aspx

There are 3 formats that can be specified using the FOR XML command:

The DTD can also be requested using the FOR XML format, DTD. For example:
<!DOCTYPE root [
<!ELEMENT root (row)*>
<!ELEMENT row (#PCDATA)>
<!ATTLIST row
CustomerID CDATA #IMPLIED
OrderID CDATA #IMPLIED
OrderDate CDATA #IMPLIED>
]>

Method Inventory (Including Private)

Parameters

parameter ENCODED = 2;
Override ENCODED from %CSP.Page
parameter PRIVATE = 1;
Override PRIVATE from %CSP.Page

Methods (Including Private)

classmethod OnPage() as %Status [ Language = objectscript ]
The OnPage() is called by the CSP dispatcher to generate the page content. For XMLSQL, we loop across the ResultSet and output the contents as XML.
classmethod OnPostHTTP() [ Language = objectscript ]
The OnPostHTTP() is called by the CSP dispatcher after the page content has been sent. We use it here to clean up the ResultSet
classmethod OnPreHTTP() as %Boolean [ Language = objectscript ]
The OnPreHTTP() is called by the CSP dispatcher before the HTTP headers have been sent. Here, we prepare the Dynamic SQL query and set the content type to text/xml.
classmethod PreProcessSQL(sql As %String, ByRef args As %String, mode As %Integer, ByRef xmlmode As %String) as %String [ Language = objectscript ]
Process the XML SQL extras from the SQL statement. The mode is as follows:

  • 0 - Default XML-SQL mode
  • 1 - Oracle XML-SQL mode

classmethod ResolveElementName(expr As %String, element, AssumeName) as %String [ Language = objectscript ]

Inherited Members

Inherited Methods (Including Private)

Feedback