WADL Support

WADL

The Web Application Description Language (WADL) is an older W3C proposal for describing web services. WADL specifications are XML documents with a fairly simple grammar (compared to OpenAPI, for instance).

Importing WADL as Website

Hyperlyn has partial support for importing WADL documents as Websites. In the description below, we use a fixed-size font in red color to represent elements of WADL specification (e.g. <resource>) and bold text with a grey background for Hyperlyn elements (e.g. Resource).

<application>
  • The <doc> and <grammars> elements are ignored.
  • The <resources>, <resource_type>, <method>, <representation> and <param> child elements are processed.
<resources>
  • The base attribute value is used to create a Website and one or more nested Resources.
  • The <resource> child elements are processed.
<resource>
  • The id and queryType attributes are ignored
  • The type attribute value is used to lookup <resource_type> elements.
  • The path attribute value is used to create another group of Resources under the base resources.
  • The <doc> child elements are ignored.
  • The <param> child elements are processed.
    • Resulting parameter are attached to the last resource created above.
    • All four parameter styles are supported: template, matrix, query, header.
    • In addition, Hyperlyn recognizes the custom cookie parameter style.
    • Query, header and cookie parameters have the local scope flag set to true (not inherited by subresources).
<param>

Each param element maps to a Parameter.

  • The id and href attributes are used for cross-referencing.
  • The name, default and fixed values are processed.
    • The default and fixed values are used to provide a default value for the parameter, the latter taking precedence.
  • The type, path, required and repeating attribute values are ignored.
  • The <doc>, <option>, and <link> child elements are ignored.
<method>

The method element maps to one or more Request Templates (one per request representation).

  • The id and href attributes are used for cross-referencing.
  • The HTTP request method from the name attribute is used for the Request Template method.
  • The <doc> child elements are ignored.
  • The <request> child element is processed.
  • The <response> child elements are ignored.
<request>
  • The <doc> child elements are ignored.
  • The <representation> and <param> child elements are processed.
<representation>

Each representation under a method is mapped to a Request Template.

  • The id and href attributes are used for cross-referencing.
  • The element, and profile attributes are ignored.
  • The mediaType attribute is used when constructing the Request Template payload.
  • The <doc> child elements are ignored.
  • The <param> child elements are processed.
    • Expecting only query and plain parameters here.
    • Parameters with a query style are used to populate URL-encoded and Multipart / Form Data payloads.
    • Parameters with a plain style are expected to appear anywhere in a text payload.
<resource_type>
  • The id attribute is used for lookups – corresponds to the type attribute of the <resource> element.
  • The <doc> child elements are ignored.
  • The <param> child elements are processed.
    • Expecting only header and query parameters here.
  • The <method> and <resource> child elements are processed.

Last updated on 2023-12-05