All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.codehaus.enunciate.modules.docs.docs.fmt Maven / Gradle / Ivy

Go to download

The Enunciate docs module generates the Web service interface documentation.

There is a newer version: 1.31
Show newest version
[#ftl]
[#assign soapAvailable=docsxml.soap.wsdls.wsdl.endpointInterface?size > 0/]
[#assign restAvailable=docsxml.rest.resources.resource?size > 0/]
[#function scrubPathToFilename path]
  [#return "path_" + path?string?replace("/", "_")?replace(":","-")?replace("{", "-")?replace("}", "-") + ".html"/]
[/#function]
[#function tocNeeded(nodelist)]
  [#return nodelist?size > 2/]
[/#function]
[#function attributeExists(node)]
  [#if node?size??]
    [#--if there is a 'size' property, then it's not an attribute--]
    [#return node?size > 0/]
  [#else]
    [#return node?node_type = "attribute"/]
  [/#if]
[/#function]
[#function facetApplicable element facetName]
  [#list element.facets.facet as facet]
    [#if facet.name = facetName]
      [#return true/]
    [/#if]
  [/#list]
  [#return false/]
[/#function]
[#function isDeprecated element]
  [#return (getTagValues(element, "deprecated")?size > 0)/]
[/#function]
[#function getTagValues element tagName]
  [#assign tagvalues = [] /]
  [#list element.tag as tag]
    [#if tag.@name=tagName]
      [#assign tagvalues = tagvalues + [ tag ] /]
    [/#if]
  [/#list]
  [#if element?node_name = "resource"]
    [#assign operationtags = [] /]
    [#list element.operation as operation]
      [#list operation.tag as tag]
        [#if tag.@name=tagName]
          [#assign operationtags = operationtags + [ tag ] /]
        [/#if]
      [/#list]
    [/#list]
    [#if operationtags?size = element.operation?size]
      [#assign tagvalues = tagvalues + [ operationtags[0] ]/]
    [/#if]
  [/#if]
  [#return tagvalues/]
[/#function]

[#--set up the subnavigation menus--]
[#assign nav_sections = { "Data Model" : "model.html"} /]
[#if soapAvailable]
  [#assign nav_sections = nav_sections + { "SOAP" : "soap.html" }/]
[/#if]
[#if restAvailable]
  [#assign nav_sections = nav_sections + { "REST" : "rest.html" }/]
[/#if]
[#if ((downloadsxml??) && (downloadsxml.download?size > 0))]
  [#assign nav_sections = nav_sections + { "Files and Libraries" : "downloads.html"} /]
[/#if]

[#assign nav_resource_facets = {}/]
[#if groupRestResources??]
  [#list docsxml.rest.facets.facet?sort_by("value") as facet]
    [#if facet.name = groupRestResources]
      [#assign nav_resource_facets = nav_resource_facets + { facet.value : "resource_" + facet.value + ".html"}/]
    [/#if]
  [/#list]
[/#if]

[#assign nav_paths = {}/]
[#list docsxml.rest.resources.resource?sort_by("@name") as resource]
  [#assign nav_paths = nav_paths + {resource.@name?string : scrubPathToFilename(resource.@name)}/]
[/#list]

[#assign nav_wsdls = {}/]
[#assign nav_eis_by_ns = {}/]
[#list docsxml.soap.wsdls.wsdl as wsdl]
  [#assign nav_wsdls = nav_wsdls + {wsdl.@namespaceId?string : "soap_" + wsdl.@namespaceId?string + ".html"}/]
  [#assign nav_eis_by_ns = nav_eis_by_ns + {wsdl.@namespaceId?string : {}}/]
  [#list wsdl.endpointInterface?sort_by("@name") as endpointInterface]
    [#assign tmp = nav_eis_by_ns[wsdl.@namespaceId?string] + {endpointInterface.@name?string : "soap_" + wsdl.@namespaceId?string + "_" + endpointInterface.@name?string + ".html"}/]
    [#assign nav_eis_by_ns = nav_eis_by_ns + {wsdl.@namespaceId?string : tmp}/]
  [/#list]
[/#list]

[#assign nav_models = {}/]
[#assign nav_typedefs_by_ns = {}/]
[#assign nav_elements_by_ns = {}/]
[#list docsxml.data.schema as schema]
  [#assign nav_models = nav_models + {schema.@namespaceId?string : schema.@namespaceId?string + ".html"}/]
  [#assign nav_elements_by_ns = nav_elements_by_ns + {schema.@namespaceId?string : {}}/]
  [#list schema.elements.element?sort_by("@name") as element]
    [#assign tmp = nav_elements_by_ns[schema.@namespaceId?string] + { element.@name?string + " element" : "el_" + schema.@namespaceId?string + "_" + element.@name?string + ".html"}/]
    [#assign nav_elements_by_ns = nav_elements_by_ns + {schema.@namespaceId?string : tmp}/]
  [/#list]
  [#assign nav_typedefs_by_ns = nav_typedefs_by_ns + {schema.@namespaceId?string : {}}/]
  [#list schema.types.type?sort_by("@name") as type]
    [#assign tmp = nav_typedefs_by_ns[schema.@namespaceId?string] + {type.@name?string : schema.@namespaceId?string + "_" + type.@name?string + ".html"}/]
    [#assign nav_typedefs_by_ns = nav_typedefs_by_ns + {schema.@namespaceId?string : tmp}/]
  [/#list]
[/#list]

[#macro boilerplate title=docsxml.@title!"Web API" subnav=[{"title" : "Home", "href" : indexPageName}] codeblocks=true]





  

  

  
  

  ${title}

  
  

  
  
  
  [#list additionalCssFiles as additionalCssFile]
  
  [/#list]

  
  





  
[#nested/]
[#if codeblocks] [/#if] [#-- todo: uncomment to support google analytics measurements... --] [/#macro] [@file name=indexPageName charset="utf-8"] [@boilerplate] [#if docsxml.documentation?size > 0]

Introduction

${docsxml.documentation}

[/#if] [#if restAvailable]

REST Resources

This API supports a Representational State Transfer (REST) model for accessing a set of resources through a fixed set of operations. The following resources are accessible through the RESTful model:

    [#if groupRestResources?? && facetApplicable(docsxml.rest, groupRestResources)] [#list docsxml.rest.facets.facet?sort_by("value") as facet] [#if facet.name = groupRestResources] [@processResourceFacet facet=facet/]
  • ${facet.value}
  • [/#if] [/#list] [#else] [#list docsxml.rest.resources.resource?sort_by("@name") as resource] [@processResource resource=resource/] ${resource.@name} [/#list] [/#if]
[#if ((downloadsxml??) && (downloadsxml.download?size > 0))]

The REST resources expose a data model that is supported by a set of client-side libraries that are made available on the files and libraries page.

[/#if] [#if attributeExists(docsxml.rest.@wadl)]

There is also a WADL document describing the REST API.

[/#if] [#if swaggerDir??]

Swagger

You may also enjoy the Swagger UI provided for this API.

[/#if] [/#if] [#if soapAvailable]

SOAP Endpoints

This API is exposed through a set of WSI Basic Profile -compliant SOAP v1.1 endpoints. The API supports XML-binary Optimized Pacakging (XOP) and SOAP Message Transmission Optimization Mechanism (MTOM) for transmission of binary data. The SOAP API is described by the following endpoints:

[#list docsxml.soap.wsdls.wsdl as wsdl] [@processWsdl wsdl=wsdl/]

Namespace "${wsdl.@namespaceId}"

[#if attributeExists(wsdl.@file)] [/#if]
Namespace URI: [#if wsdl.@namespace?length > 0]${wsdl.@namespace}[#else](default namespace)[/#if]
WSDL: ${wsdl.@file}

Endpoints

    [#list wsdl.endpointInterface?sort_by("@name") as endpointInterface] [@processEndpointInterface endpointInterface=endpointInterface/] ${endpointInterface.@name} [/#list]
[/#list] [#if ((downloadsxml??) && (downloadsxml.download?size > 0))]

The SOAP API is also accessible by a set of client-side libraries that can be downloaded from the files and libraries page.

[/#if] [/#if]

Data Model

All endpoints act on a common set of data. The data can be represented with difference media (i.e. "MIME") types, depending on the endpoint that consumes and/or produces the data. The data can described by XML Schema, which definitively describes the XML representation of the data[#if includeExampleJson!true], but is also useful for describing the other formats of the data, such as JSON[/#if].

This document will describe the data using terms based on XML Schema. Data can be grouped by namespace, with a schema document describing the elements and types of the namespace. Generally speaking, types define the structure of the data and elements are instances of a type. For example, elements are usually produced by (or consumed by) a REST endpoint, and the structure of each element is described by its type.

[#list docsxml.data.schema as schema] [@processSchema schema=schema/]

Namespace "${schema.@namespaceId}"

[#if attributeExists(schema.@file)] [/#if]
Namespace URI: [#if schema.@namespace?length > 0]${schema.@namespace}[#else](default namespace)[/#if]
XSD: ${schema.@file}
[#if schema.elements.element?size > 0]

Data Elements

    [#list schema.elements.element?sort_by("@name") as element] ${element.@name} [/#list]
[/#if] [#if schema.types.type?size > 0]

Data Types

    [#list schema.types.type?sort_by("@name") as type] ${type.@name} [/#list]
[/#if] [/#list] [#if docsxml.data.jsonSchema.type?size > 0]

JSON Data Types

    [#list docsxml.data.jsonSchema.type as type] [@processJsonType type=type/] ${type.@name} [/#list]
[/#if] [/@boilerplate] [/@file] [@file name="model.html" charset="utf-8"] [@boilerplate title="Data Model" subnav=[{"title" : "Home", "href" : indexPageName}, {"title" : "Data Model" , "href" : "model.html", "subnav" : nav_sections}]]

Data Model

All endpoints act on a common set of data. The data can be represented with difference media (i.e. "MIME") types, depending on the endpoint that consumes and/or produces the data. The data can described by XML Schema, which definitively describes the XML representation of the data[#if includeExampleJson!true], but is also useful for describing the other formats of the data, such as JSON[/#if].

This document will describe the data using terms based on XML Schema. Data can be grouped by namespace, with a schema document describing the elements and types of the namespace. Generally speaking, types define the structure of the data and elements are instances of a type. For example, elements are usually produced by (or consumed by) a REST endpoint, and the structure of each element is described by its type.

[#list docsxml.data.schema as schema]

Namespace "${schema.@namespaceId}"

[#if attributeExists(schema.@file)] [/#if]
Namespace URI: [#if schema.@namespace?length > 0]${schema.@namespace}[#else](default namespace)[/#if]
XSD: ${schema.@file}
[#if schema.elements.element?size > 0]

Data Elements

    [#list schema.elements.element?sort_by("@name") as element] ${element.@name} [/#list]
[/#if] [#if schema.types.type?size > 0]

Data Types

    [#list schema.types.type?sort_by("@name") as type] ${type.@name} [/#list]
[/#if] [/#list] [/@boilerplate] [/@file] [#if ((downloadsxml??) && (downloadsxml.download?size > 0))] [@file name="downloads.html" charset="utf-8"] [@boilerplate title="Files and Libraries" subnav=[{"title" : "Home", "href" : indexPageName}, { "title" : "Files and Libraries" , "href" : "downloads.html" , "subnav" : nav_sections}] codeblocks=true]

Files and Libraries

The following files and libraries are available:

[#list downloadsxml.download as download]

${download.@name}

[#list download.created as created]

Created ${created}

[/#list] [#list download.description as description]

${description}

[/#list]

Files

[#if download.files.file?size > 1] [/#if] [#list download.files.file as file] [#if file_index > 0 || file_has_next] [/#if] [/#list]
name sizedescription
${file.@name} ${file.@size}${file}
[/#list] [/@boilerplate] [/@file] [/#if] [#if restAvailable] [@file name="rest.html" charset="utf-8"] [@boilerplate title="REST" subnav=[{"title" : "Home", "href" : indexPageName}, {"title" : "REST" , "href" : "rest.html", "subnav" : nav_sections}]]

REST Resources

This API supports a Representational State Transfer (REST) model for accessing a set of resources through a fixed set of operations. The following resources are accessible through the RESTful model:

    [#if groupRestResources?? && facetApplicable(docsxml.rest, groupRestResources)] [#list docsxml.rest.facets.facet?sort_by("value") as facet] [#if facet.name = groupRestResources]
  • ${facet.value}
  • [/#if] [/#list] [#else] [#list docsxml.rest.resources.resource?sort_by("@name") as resource] ${resource.@name} [/#list] [/#if]
[#if ((downloadsxml??) && (downloadsxml.download?size > 0))]

The REST resources expose a data model that is supported by a set of client-side libraries that are made available on the files and libraries page.

[/#if] [#if attributeExists(docsxml.rest.@wadl)]

There is also a WADL document describing the REST API.

[/#if] [#if swaggerDir??]

Swagger

You may also enjoy the Swagger UI provided for this API.

[/#if] [/@boilerplate] [/@file] [/#if] [#if soapAvailable] [@file name="soap.html" charset="utf-8"] [@boilerplate title="SOAP" subnav=[{"title" : "Home", "href" : indexPageName}, {"title" : "SOAP" , "href" : "soap.html", "subnav" : nav_sections}]]

SOAP Endpoints

This API is exposed through a set of WSI Basic Profile -compliant SOAP v1.1 endpoints. The API supports XML-binary Optimized Pacakging (XOP) and SOAP Message Transmission Optimization Mechanism (MTOM) for transmission of binary data. The SOAP API is fully described by the following endpoints:

[#list docsxml.soap.wsdls.wsdl as wsdl]

Namespace "${wsdl.@namespaceId}"

[#if attributeExists(wsdl.@file)] [/#if]
Namespace URI: [#if wsdl.@namespace?length > 0]${wsdl.@namespace}[#else](default namespace)[/#if]
WSDL: ${wsdl.@file}

Endpoints

[/#list] [#if ((downloadsxml??) && (downloadsxml.download?size > 0))]

The SOAP API is also accessible by a set of client-side libraries that can be downloaded from the files and libraries page.

[/#if] [/@boilerplate] [/@file] [/#if] [#macro processWsdl wsdl] [@file name="soap_" + wsdl.@namespaceId + ".html" charset="utf-8"] [@boilerplate title="SOAP: " + wsdl.@namespaceId subnav=[{"title" : "Home", "href" : indexPageName}, {"title" : "SOAP" , "href" : "soap.html", "subnav" : nav_sections }, { "title" : wsdl.@namespaceId?string , "href" : "soap_" + wsdl.@namespaceId + ".html" }]]

${wsdl.@namespaceId}

[#if attributeExists(wsdl.@file)] [/#if]
Namespace URI: [#if wsdl.@namespace?length > 0]${wsdl.@namespace}[#else](default namespace)[/#if]
WSDL: ${wsdl.@file}

Endpoints

[/@boilerplate] [/@file] [/#macro] [#macro processResourceFacet facet] [@file name="resource_" + facet.value + ".html" charset="utf-8"] [@boilerplate title=facet.value subnav=[{"title" : "Home", "href" : indexPageName}, {"title" : "REST" , "href" : "rest.html", "subnav" : nav_sections}, {"title" : facet.value , "href" : "resource_" + facet.value + ".html", "subnav" : nav_resource_facets}]]

${facet.value}

[#list facet.documentation as documentation]

${documentation}

[/#list] [#assign resources=[] /] [#list docsxml.rest.resources.resource?sort_by("@name") as resource] [#list resource.facets.facet as rg] [#if ((rg.name = facet.name) && (rg.value == facet.value))] [#assign resources=resources + resource /] [#break/] [/#if] [/#list] [/#list]

The following resources are applicable:

[#list resources as resource] [#if resource.label?has_content] [#else] [/#if] [@processRawResource resource=resource/] [/#list] [/@boilerplate] [/@file] [/#macro] [#macro processResource resource] [#assign resource_filename=scrubPathToFilename(resource.@name)/] [@file name=resource_filename charset="utf-8"] [@boilerplate title=facet subnav=[{"title" : "Home", "href" : indexPageName}, { "title" : "REST" , "href" : "rest.html", "subnav" : nav_sections }, {"title" : resource.@name , "href" : resource_filename, "subnav" : nav_paths}]] [@processRawResource resource=resource/] [/@boilerplate] [/@file] [/#macro] [#macro processRawResource resource] [#if resource.label?has_content]

${resource.label}

[#else]

${resource.@name}

[/#if] [#if isDeprecated(resource)]

This resource has been deprecated.

[/#if] [#if attributeExists(resource.@subcontext) && !disableRestMountpoint!false]

Mount Point: ${resource.@subcontext}${resource.@name}

[/#if] [#assign sinceTags = getTagValues(resource, "since") /] [#if sinceTags?size > 0]

Available Since: ${sinceTags[0]}

[/#if] [#assign versionTags = getTagValues(resource, "version") /] [#if versionTags?size > 0]

Version: ${versionTags[0]}

[/#if] [#if tocNeeded(resource.operation)]

The following operations are supported on this resource:

[/#if] [#list resource.operation as operation]

${operation.@name}

[#list operation.alias as alias]

Alias: ${alias}

[/#list] [#assign sinceTags = getTagValues(operation, "since") /] [#if sinceTags?size > 0]

Available Since: ${sinceTags[0]}

[/#if] [#assign versionTags = getTagValues(operation, "version") /] [#if versionTags?size > 0]

Version: ${versionTags[0]}

[/#if] [#if isDeprecated(operation)]

This operation has been deprecated. [#list operation.tag as tag][#if tag.@name="deprecated"] ${tag}[/#if][/#list]

[/#if] [#list operation.documentation as documentation]

${documentation}

[/#list] [#list operation.parameter as parameter] [#if parameter_index = 0]

Parameters

[/#if] [#if !parameter_has_next]
name description type default
[#if attributeExists(parameter.@name)]${parameter.@name}[/#if] ${parameter} [#if attributeExists(parameter.@type)]${parameter.@type}[/#if] [#if attributeExists(parameter.@defaultValue)]${parameter.@defaultValue}[/#if]
[/#if] [/#list] [#list operation.inValue as inValue]

Request Body

[#assign custom=true] [#list inValue.xmlElement as xmlElement] [#if attributeExists(xmlElement.@elementName)] [#assign custom=false/] [#if attributeExists(xmlElement.@elementSchemaId)] [#else] [/#if] [/#if] [/#list] [#list inValue.jsonElementRef as jsonElement] [#if attributeExists(jsonElement.@elementName)] [#assign custom=false/] [#if attributeExists(jsonElement.@elementSchemaId)] [#else] [/#if] [/#if] [/#list] [#if custom] [#if operation.customParameterName?has_content] [#else] [/#if] [/#if]
element:${xmlElement.@elementName}${xmlElement.@elementName}
element:${jsonElement.@elementName}${jsonElement.@elementName}
element:${operation.customParameterName}(custom)
media types: [#list operation.contentType as contentType][#if contentType.@consumable = "true"]${contentType.@type}[#if contentType_has_next]
[/#if][/#if][/#list]
[#list inValue.documentation as documentation]

${documentation}

[/#list] [#if operation.showSampleRequest?has_content] ${operation.@name} ...${resource.@subcontext}${resource.@name} Accept: [#assign first = true/][#list operation.contentType as contentType][#if contentType.@produceable = "true"][#if !first];[/#if][#assign first=false/]${contentType.@type}[/#if][/#list] [#if custom] Content-Type: [#assign first = true/][#list operation.contentType as contentType][#if contentType.@consumable = "true"][#if !first];[/#if][#assign first=false/]${contentType.@type}[/#if][/#list] [#else] [#if operation.showSampleRequest == "JSON"] Content-Type: application/json [#elseif operation.showSampleRequest == "XML"] Content-Type: application/xml [#else] Content-Type: [#assign first = true/][#list operation.contentType as contentType][#if contentType.@consumable = "true"][#if !first];[/#if][#assign first=false/]${contentType.@type}[/#if][/#list] [/#if] [/#if] --- Body --- [#if custom] [#if operation.customParameterName?has_content] [${operation.customParameterName}] [#else] (custom) [/#if] [#else] [#list inValue.xmlElement as xmlElement] [#if attributeExists(xmlElement.@elementName)] [#list docsxml.data.schema as schema] [#list schema.elements.element?sort_by("@name") as element] [#if xmlElement.@elementName == element.@name] [#if operation.showSampleRequest == "JSON"] [#list element.examplejson as examplejson] ${examplejson?string?xhtml} [/#list] [#else] [#list element.examplexml as examplexml] ${examplexml?string?xhtml} [/#list] [/#if] [/#if] [/#list] [/#list] [/#if] [/#list] [/#if] [/#if] [/#list] [#list operation.outValue as outValue]

Response Body

[#assign custom=true] [#list outValue.xmlElement as xmlElement] [#if attributeExists(xmlElement.@elementName)] [#assign custom=false/] [#if attributeExists(xmlElement.@elementSchemaId)] [#else] [/#if] [/#if] [/#list] [#list outValue.jsonElementRef as jsonElement] [#if attributeExists(jsonElement.@elementName)] [#assign custom=false/] [#if attributeExists(jsonElement.@elementSchemaId)] [#else] [/#if] [/#if] [/#list] [#if custom] [/#if]
element:${xmlElement.@elementName}${xmlElement.@elementName}
element:${jsonElement.@elementName}${jsonElement.@elementName}
element: (custom)
media types: [#list operation.contentType as contentType][#if contentType.@produceable = "true"]${contentType.@type}[#if contentType_has_next]
[/#if][/#if][/#list]
[#list outValue.documentation as documentation]

${documentation}

[/#list] [#if operation.showSampleResponse?has_content] HTTP/1.1 ${operation.showSampleResponse.@code} [#if operation.showSampleResponse == "JSON"] Content-Type: application/json [#elseif operation.showSampleResponse == "XML"] Content-Type: application/xml [#else] Content-Type: [#assign first = true/][#list operation.contentType as contentType][#if contentType.@produceable = "true"][#if !first];[/#if][#assign first=false/]${contentType.@type}[/#if][/#list] [/#if] --- Body --- [#if custom] (custom) [#else] [#list outValue.xmlElement as xmlElement] [#if attributeExists(xmlElement.@elementName)] [#list docsxml.data.schema as schema] [#list schema.elements.element?sort_by("@name") as element] [#if xmlElement.@elementName == element.@name] [#if operation.showSampleRequest == "JSON"] [#list element.examplejson as examplejson] ${examplejson?string?xhtml} [/#list] [#else] [#list element.examplexml as examplexml] ${examplexml?string?xhtml} [/#list] [/#if] [/#if] [/#list] [/#list] [/#if] [/#list] [/#if] [/#if] [/#list] [#list operation.statusCode as statusCode] [#if statusCode_index = 0]

Status Codes

[#list resource.additionalHeaderLabels.label as label] [/#list] [/#if] [#list statusCode.additionalHeaders.additionalHeader as header] [/#list] [#if !statusCode_has_next]
HTTP Status Code Description${label}
${statusCode.@code} ${statusCode.condition}${header}
[/#if] [/#list] [#list operation.warning as warning] [#if warning_index = 0]

Warnings

[/#if] [#if !warning_has_next]
HTTP Status Code Description
${warning.@code} ${warning}
[/#if] [/#list] [#list operation.responseHeader as responseHeader] [#if responseHeader_index = 0]

Response Headers

[/#if] [#if !responseHeader_has_next]
name description
${responseHeader.name} ${responseHeader.documentation}
[/#if] [/#list] [/#list] [/#macro] [#macro processEndpointInterface endpointInterface] [@file name="soap_" + endpointInterface?parent.@namespaceId + "_" + endpointInterface.@name + ".html" charset="utf-8"] [@boilerplate title=endpointInterface.@name subnav=[{"title" : "Home", "href" : indexPageName}, {"title" : "SOAP" , "href" : "soap.html", "subnav" : nav_sections }, {"title" : endpointInterface?parent.@namespaceId , "href" : "soap_" + endpointInterface?parent.@namespaceId + ".html", "subnav" : nav_wsdls }, {"title" : endpointInterface.@name , "href" : "soap_" + endpointInterface.@name + ".html", "subnav" : nav_eis_by_ns[endpointInterface?parent.@namespaceId?string]}]]

${endpointInterface.@name}

[#if isDeprecated(endpointInterface)]

This endpoint has been deprecated.[#list endpointInterface.tag as tag][#if tag.@name="deprecated"] ${tag}[/#if][/#list]

[/#if] [#if attributeExists((endpointInterface?parent).@file)] [/#if] [#if attributeExists(endpointInterface.@path)] [/#if] [#assign sinceTags = getTagValues(endpointInterface, "since") /] [#if sinceTags?size > 0] [/#if] [#assign versionTags = getTagValues(endpointInterface, "version") /] [#if versionTags?size > 0] [/#if]
Namespace: [#if (endpointInterface?parent).@namespace?length > 0]${(endpointInterface?parent).@namespace}[#else](default namespace)[/#if]
WSDL: ${(endpointInterface?parent).@file}
Path: ${endpointInterface.@path}
Available Since: ${sinceTags[0]}
Version: ${versionTags[0]}
[#if endpointInterface.documentation?size > 0] [#list endpointInterface.documentation as documentation]

${documentation}

[/#list] [/#if] [#if tocNeeded(endpointInterface.method)]

The following methods are available on this endpoint:

[/#if] [#list endpointInterface.method as method]

${method.@name}

[#if isDeprecated(method)]

This method has been deprecated.[#list method.tag as tag][#if tag.@name="deprecated"] ${tag}[/#if][/#list]

[/#if] [#assign sinceTags = getTagValues(method, "since") /] [#if sinceTags?size > 0]

Available Since: ${sinceTags[0]}

[/#if] [#assign versionTags = getTagValues(method, "version") /] [#if versionTags?size > 0]

Version: ${versionTags[0]}

[/#if] [#list method.documentation as documentation]

${documentation}

[/#list] [#list method["parameter[@input='true']"] as parameter] [#if parameter_index = 0]

Input Parameters

[/#if] [#if !parameter_has_next]
name type description
${parameter.@name} [#if attributeExists(parameter.@xmlTypeName)][#if attributeExists(parameter.@xmlTypeSchemaId)]${parameter.@xmlTypeName}[#else]${parameter.@xmlTypeName}[/#if][#else](unknown)[/#if] ${parameter}
[/#if] [/#list] [#list method["parameter[@output='true']"] as parameter] [#if parameter_index = 0]

Output Parameters

[/#if] [#if !parameter_has_next]
name type description
${parameter.@name} [#if attributeExists(parameter.@xmlTypeName)][#if attributeExists(parameter.@xmlTypeSchemaId)]${parameter.@xmlTypeName}[#else]${parameter.@xmlTypeName}[/#if][#else](unknown)[/#if] ${parameter}
[/#if] [/#list] [#list method.result as result]

Return Value

[#if attributeExists(result.@xmlTypeName)]
Type: [#if attributeExists(result.@xmlTypeSchemaId)]${result.@xmlTypeName}[#else]${result.@xmlTypeName}[/#if]
[/#if]

${result}

[/#list] [#list method.fault as fault] [#if fault_index = 0]

Faults

[/#if] [#if !fault_has_next]
name description
${fault.@name} ${fault}
[/#if] [/#list] [/#list] [/@boilerplate] [/@file] [/#macro] [#macro processSchema schema] [@file name=schema.@namespaceId + ".html" charset="utf-8"] [@boilerplate title="Namespace: " + schema.@namespaceId subnav=[{"title" : "Home", "href" : indexPageName}, {"title" : "Data Model" , "href" : "model.html", "subnav" : nav_sections}, {"title" : schema.@namespaceId , "href" : schema.@namespaceId + ".html", "subnav" : nav_models}]]

Namespace ${schema.@namespaceId}

[#if attributeExists(schema.@file)] [/#if]
Namespace: [#if schema.@namespace?length > 0]${schema.@namespace}[#else](default namespace)[/#if]
XML Schema: ${schema.@file}
[#if schema.elements.element?size > 0]

Elements

    [#list schema.elements.element?sort_by("@name") as element] [@processElement element=element/] ${element.@name} [/#list]
[/#if] [#if schema.types.type?size > 0]

Types

    [#list schema.types.type?sort_by("@name") as type] [@processType type=type/] ${type.@name} [/#list]
[/#if] [/@boilerplate] [/@file] [/#macro] [#macro processElement element] [#assign schema=element?parent?parent/] [@file name="el_" + schema.@namespaceId + "_" + element.@name + ".html" charset="utf-8"] [@boilerplate title=element.@name subnav=[{"title" : "Home", "href" : indexPageName}, {"title" : "Data Model" , "href" : "model.html", "subnav" : nav_sections}, {"title" : schema.@namespaceId , "href" : schema.@namespaceId + ".html", "subnav" : nav_models}, {"title" : element.@name + " element" , "href" : "el_" + schema.@namespaceId + "_" + element.@name + ".html", "subnav" : nav_elements_by_ns[schema.@namespaceId?string]}] codeblocks=true]

${element.@name} element

[#if isDeprecated(element)]

This element has been deprecated.[#list element.tag as tag][#if tag.@name="deprecated"] ${tag}[/#if][/#list]

[/#if] [#if attributeExists(element.@typeName) && attributeExists(element.@typeSchemaId)] [/#if] [#if attributeExists(schema.@file)] [/#if] [#assign sinceTags = getTagValues(element, "since") /] [#if sinceTags?size > 0] [/#if] [#assign versionTags = getTagValues(element, "version") /] [#if versionTags?size > 0] [/#if]
Type: ${element.@typeName}
Namespace: [#if schema.@namespace?length > 0]${schema.@namespace}[#else](default namespace)[/#if]
XML Schema: ${schema.@file}
Available Since: ${sinceTags[0]}
Available Version: ${versionTags[0]}
[#list element.documentation as documentation]

${documentation}

[/#list] [#list element.examplexml as examplexml]

Example XML

${examplexml?string?xhtml} [/#list] [#list element.examplejson as examplejson]

Example JSON

${examplejson?string?xhtml} [/#list] [/@boilerplate] [/@file] [/#macro] [#macro processType type] [#assign schema=type?parent?parent/] [@file name=schema.@namespaceId + "_" + type.@name + ".html" charset="utf-8"] [@boilerplate title=type.@name subnav=[{"title" : "Home", "href" : indexPageName}, {"title" : "Data Model" , "href" : "model.html", "subnav" : nav_sections}, {"title" : schema.@namespaceId , "href" : schema.@namespaceId + ".html", "subnav" : nav_models} , {"title" : type.@name , "href" : schema.@namespaceId + "_" + type.@name + ".html", "subnav" : nav_typedefs_by_ns[schema.@namespaceId?string]}] codeblocks=true]

${type.@name}

[#if isDeprecated(type)]

This type has been deprecated.[#list type.tag as tag][#if tag.@name="deprecated"] ${tag}[/#if][/#list]

[/#if] [#if attributeExists(type.@extendsType)] [#list docsxml.data.schema.types.type as candidate] [#if attributeExists(candidate.@id) && (candidate.@id?string = type.@extendsType?string)] [#break/] [/#if] [/#list] [/#if] [#if attributeExists(schema.@file)] [/#if] [#assign sinceTags = getTagValues(type, "since") /] [#if sinceTags?size > 0] [/#if] [#assign versionTags = getTagValues(type, "version") /] [#if versionTags?size > 0] [/#if]
Extends: ${candidate.@name}
Namespace: [#if schema.@namespace?length > 0]${schema.@namespace}[#else](default namespace)[/#if]
XML Schema: ${schema.@file}
Available Since: ${sinceTags[0]}
Version: ${versionTags[0]}
[#list type.documentation as documentation]

${documentation}

[/#list] [#if type.values.item?size > 0] [#list type.values.item as value] [#if value_index = 0]

Possible Values

[/#if] ${value.@value} [#if !value_has_next]
value description
[#list value.documentation as documentation] ${documentation} [/#list]
[/#if] [/#list] [#else]

XML

[#list type.attributes.attribute as attribute] [#if attribute_index = 0]

Attributes

[/#if] [#if !attribute_has_next]
name type description
[#if attributeExists(attribute.@name)]${attribute.@name}[/#if] [#if attributeExists(attribute.@typeSchemaId)][#if attributeExists(attribute.@typeName)][#assign typename=attribute.@typeName/][#else][#assign typename="(anonymous)"/][/#if]${typename}[#elseif attributeExists(attribute.@typeName)]${attribute.@typeName}[/#if] ${attribute}
[/#if] [/#list] [#list type.elements.element as element] [#if element_index = 0]

Elements

[/#if] [#if !element_has_next]
name (type) min/max
occurs
description
[#list element.choice as choice] [#if choice_index > 0]
or [/#if][#if attributeExists(choice.@schemaId)]${choice.@name}[#else]${choice.@name}[/#if][#if attributeExists(choice.@typeSchemaId)][#if attributeExists(choice.@typeName)][#assign typename=choice.@typeName/][#else][#assign typename="(anonymous)"/][/#if] (${typename})[#elseif attributeExists(choice.@typeName)] (${choice.@typeName})[/#if] [/#list]
[#if attributeExists(element.@minOccurs)]${element.@minOccurs}[/#if]/[#if attributeExists(element.@maxOccurs)]${element.@maxOccurs}[/#if] [#list element.documentation as documentation] ${documentation} [/#list]
[/#if] [/#list] [#list type.value as value]

Value

Type: [#if attributeExists(value.@typeSchemaId)][#if attributeExists(value.@typeName)][#assign typename=value.@typeName/][#else][#assign typename="(anonymous)"/][/#if]${typename}[#elseif attributeExists(value.@typeName)]${value.@typeName}[/#if]

${value}

[/#list] [#if includeExampleJson!true]

JSON

[#list type.attributes.attribute as attribute] [/#list] [#list type.elements.element as element] [/#list] [#list type.value as value] [/#list]
property type description
[#if attributeExists(attribute.@jsonName)]${attribute.@jsonName}[/#if] [#if attributeExists(attribute.@typeSchemaId)][#if attributeExists(attribute.@typeName)][#assign typename=attribute.@typeName/][#else][#assign typename="(anonymous)"/][/#if]${typename}[#elseif attributeExists(attribute.@typeName)]${attribute.@typeName}[/#if] ${attribute}
[#if attributeExists(element.@jsonName)]${element.@jsonName}[/#if] [#list element.choice as choice] [#if element.@maxOccurs = "unbounded"]array of [/#if][#if choice_index > 0]
or [/#if][#if attributeExists(choice.@schemaId)]${choice.@name}[#else]${choice.@name}[/#if][#if attributeExists(choice.@typeSchemaId)][#if attributeExists(choice.@typeName)][#assign typename=choice.@typeName/][#else][#assign typename="(anonymous)"/][/#if] (${typename})[#elseif attributeExists(choice.@typeName)] (${choice.@typeName})[/#if] [/#list]
[#list element.documentation as documentation] ${documentation} [/#list]
[#if attributeExists(value.@jsonName)]${value.@jsonName}[/#if] [#if attributeExists(value.@typeSchemaId)][#if attributeExists(value.@typeName)][#assign typename=value.@typeName/][#else][#assign typename="(anonymous)"/][/#if]${typename}[#elseif attributeExists(value.@typeName)]${value.@typeName}[/#if] ${value}
[/#if] [/#if] [/@boilerplate] [/@file] [/#macro] [#macro processJsonType type] [@file name="json_" + type?parent.@schemaId + "_" + type.@name + ".html" charset="utf-8"] [@boilerplate title=type.@name subnav=[{"title" : "Home", "href" : indexPageName}, {"title" : "JSON" , "href" : "#"}, {"title" : type.@name , "href" : "json_" + type?parent.@schemaId + "_" + type.@name + ".html"}] codeblocks=true]

${type.@name}

[#if attributeExists(type?parent.@schemaId)] [/#if] [#if attributeExists(type?parent.@file)] [/#if] [#assign sinceTags = getTagValues(type, "since") /] [#if sinceTags?size > 0] [/#if] [#assign versionTags = getTagValues(type, "version") /] [#if versionTags?size > 0] [/#if]
JSON Schema ID: ${type?parent.@schemaId}
JSON Schema File: ${type?parent.@file}
Available Since: ${sinceTags[0]}
Available Version: ${versionTags[0]}
[#list type.documentation as documentation]

${documentation}

[/#list] [#list type.property as property] [#if property_index = 0]

Properties

[/#if] [#if !property_has_next]
name type description
[#if attributeExists(property.@name)]${property.@name}[/#if] [#if property.@isList = "true"]List of [/#if][#if attributeExists(property.@typeSchemaId)][#if attributeExists(property.@typeName)][#assign typename=property.@typeName/][#else][#assign typename="(anonymous)"/][/#if]${typename}[#elseif attributeExists(property.@typeName)]${property.@typeName}[/#if] [#if attributeExists(property.@documentation)]${property.@documentation}[/#if]
[/#if] [/#list] [#list type.enumValue as enumValue] [#if enumValue_index = 0]

Possible Values

[/#if] [#if !enumValue_has_next]
value description
[#list enumValue.value as value]${value} [/#list] [#list enumValue.documentation as documentation]${documentation} [/#list]
[/#if] [/#list] [/@boilerplate] [/@file] [/#macro]




© 2015 - 2025 Weber Informatics LLC | Privacy Policy