Syntax of XData Blocks in Class Definitions
Describes the structure of an XData block. See
XData Blocks for links to general information on defining 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.
-
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 XData Syntax and Keywords for a complete keyword list.
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