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