Skip to main content

Syntax of XData Blocks in Class Definitions

Describes the structure of an XData block.

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

FeedbackOpens in a new tab