XData Blocks
Introduction
An XData block is a named unit of data that you include in a class definition, typically for use by a method in the class. Most frequently, it is a well-formed XML document, but it could consist of other forms of data, such as JSON or YAML.
Details
An XData block has the following structure:
/// description XData name [ keyword_list ] { data }
Where:
-
description (optional) is intended for display in the Class Reference. The description is blank by default. See “Creating Class Documentation” in Defining and Using Classes.
-
name (required) is the name of the XData block. This must be a valid class member name, and must not conflict with any other class member names.
-
data (optional) contains the payload of the XData block. If XML, it must be a well-formed document (with a single root element), without the XML declaration at its start.
-
keyword_list (optional) is a comma-separated list of keywords that further define the XData block.
See the section “XData Keywords.”
If this list is omitted, also omit the square brackets.
Example
Class Demo.CoffeeMakerRESTServer Extends %CSP.REST { Parameter HandleCorsRequest = 1 XData UrlMap [ XMLNamespace = "http://www.intersystems.com/urlmap" ] { <Routes> <Route Url="/test" Method="GET" Call="test"/> <Route Url="/coffeemakers" Method="GET" Call="GetAll" /> <Route Url="/coffeemaker/:id" Method="GET" Call="GetCoffeeMakerInfo" /> <Route Url="/newcoffeemaker" Method="POST" Call="NewMaker" /> <Route Url="/coffeemaker/:id" Method="PUT" Call="EditMaker" /> <Route Url="/coffeemaker/:id" Method="DELETE" Call="RemoveCoffeemaker"/> </Routes> }
See Also
-
“Defining and Using XData Blocks” in Defining and Using Classes
-
“XData Keywords” in this book
-
“Class Limits” in “General System Limits” in the Orientation Guide for Server-Side Programming