From bebd213ad83a1868a67c43d6ad1b7055d97ea5b3 Mon Sep 17 00:00:00 2001 From: Matthias Steiner Date: Sat, 18 Oct 2014 23:03:54 +0200 Subject: [PATCH] Custom Freemarker template (based on Bootstrap v3) Change-Id: I0be25b8cac549b1185be615a69375309ec9be32f Signed-off-by: Matthias Steiner --- .../META-INF/enunciate/docs-base.zip | Bin 70567 -> 581 bytes .../META-INF/enunciate/docs-base.zip.org | Bin 0 -> 70567 bytes .../resources/META-INF/enunciate/docs.fmt | 746 ++++----- .../resources/META-INF/enunciate/docs.fmt.org | 1428 +++++++++++++++++ 4 files changed, 1780 insertions(+), 394 deletions(-) mode change 100644 => 100755 src/main/resources/META-INF/enunciate/docs-base.zip create mode 100644 src/main/resources/META-INF/enunciate/docs-base.zip.org create mode 100644 src/main/resources/META-INF/enunciate/docs.fmt.org diff --git a/src/main/resources/META-INF/enunciate/docs-base.zip b/src/main/resources/META-INF/enunciate/docs-base.zip old mode 100644 new mode 100755 index 998d76b5af5546debe2438f8c7cb647c0b37d33a..d5c732d7c6d62ccd73b40354c086a1451c253a30 GIT binary patch literal 581 zcmWIWW@Zs#0D(=#&t1R_D8U7!Q}UCGb(0c{Q}qL&>NptA1-G~at~$_o1SroU!N4Gl zqE62xI6k-}zbN(XjE#Iv1|qKSnc0M<_w~j8Vfep5@dxX_2Ej)uhaB$we(6+Y>QYkB z^uqS!X~oL*x;nY?3~P36tvR6V!Kp{A2&1_P>71kK8pY`b%5WoelIQ9+_13{ixwQaf$!v+mtoS znPn%J3JN4?zC-o2wA}NR%0SP$0kJ5mr{m$?&ONNi$6&z0a&Rf9;tnm7RsZXg&M&y- z$+kY>qmi%et>&}WSp&QonM9az2RhJbAP`_U;0U6TqX4E4dnABVgTRtT4Iqio2X`C7 lVu%6g9s=tI8z9SwVgSN>0p6@^AZ5%zxCclV0~Inb0090OwK)I) literal 70567 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 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--] @@ -15,6 +18,7 @@ [#return node?node_type = "attribute"/] [/#if] [/#function] + [#function facetApplicable element facetName] [#list element.facets.facet as facet] [#if facet.name = facetName] @@ -23,9 +27,11 @@ [/#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] @@ -104,97 +110,101 @@ [/#list] [#macro boilerplate title=docsxml.@title!"Web API" subnav=[{"title" : "Home", "href" : indexPageName}] codeblocks=true] - + + ${title} + + + + + - - + + + + + - ${title} + + + + + + + + + + + - - + + - - - [#list additionalCssFiles as additionalCssFile] [/#list] - + - + - - +
-
- -
-
+ + +
+ [#nested/] - -
-
- -
-
+
- - - - - + + + - + - - [/#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] + +
+
+ [#if docsxml.documentation?size > 0] + +

${docsxml.documentation}

+ + [/#if] +
+
+ [#if restAvailable] +
+
REST API
+
+
    + [#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] + +
+
[/@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] + + [#if schema.elements.element?size > 0]

Data Elements

@@ -433,8 +336,10 @@ [/#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] @@ -457,7 +362,7 @@

${description}

[/#list]

Files

- +
@@ -480,9 +385,13 @@ [/@file] [/#if] [#if restAvailable] - [@file name="rest.html" charset="utf-8"] + +[@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: @@ -517,11 +426,14 @@ You may also enjoy the Swagger UI provided for this API.

[/#if] +
[/@boilerplate] [/@file] + [/#if] [#if soapAvailable] - [@file name="soap.html" charset="utf-8"] + +[@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

@@ -532,18 +444,7 @@

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

Namespace "${wsdl.@namespaceId}"

-
name size
- - - - - [#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] @@ -559,22 +460,11 @@ [/@boilerplate] [/@file] [/#if] + [#macro processWsdl wsdl] - [@file name="soap_" + wsdl.@namespaceId + ".html" charset="utf-8"] +[@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

      [#list wsdl.endpointInterface?sort_by("@name") as endpointInterface] @@ -584,23 +474,52 @@ [/@boilerplate] [/@file] [/#macro] + [#macro processResourceFacet facet] - [@file name="resource_" + facet.value + ".html" charset="utf-8"] +[@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] + +
      +
      +

      ${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] + [#list resources as resource] + [#if resource.label?has_content] + + [#else] + + [/#if] + [@processRawResource resource=resource/] + [/#list] +
      +
      +
      +
      +
        + [#list resources as resource] + [#list resource.operation as operation] + [#assign nameTags = getTagValues(operation, "name") /] +
      • ${nameTags[0]}
      • + [/#list] + [/#list] +
      +
      +
      +
      + + [/@boilerplate] [/@file] [/#macro] + [#macro processResource resource] [#assign resource_filename=scrubPathToFilename(resource.@name)/] [@file name=resource_filename charset="utf-8"] @@ -632,18 +545,23 @@ [/@boilerplate] [/@file] [/#macro] + [#macro processRawResource resource] + [#assign sinceTags = getTagValues(resource, "since") /] [#if sinceTags?size > 0]

      Available Since: ${sinceTags[0]}

      @@ -652,6 +570,7 @@ [#if versionTags?size > 0]

      Version: ${versionTags[0]}

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

      ${operation.@name}

      + [#assign nameTags = getTagValues(operation, "name") /] +
      + + +

      +

      [${operation.@name}] /api/v1${resource.@name}
      +

      [#list operation.alias as alias]

      Alias: ${alias}

      [/#list] @@ -680,15 +607,15 @@

      Version: ${versionTags[0]}

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

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

      +

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

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

      ${documentation}

      +

      ${documentation}

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

      Parameters

      - +
      @@ -708,13 +635,13 @@ [/#list] [#list operation.inValue as inValue]

      Request Body

      -
      name description
      +
      [#assign custom=true] [#list inValue.xmlElement as xmlElement] [#if attributeExists(xmlElement.@elementName)] [#assign custom=false/] - + [#if attributeExists(xmlElement.@elementSchemaId)] [#else] @@ -727,7 +654,7 @@ [#if attributeExists(jsonElement.@elementName)] [#assign custom=false/] - + [#if attributeExists(jsonElement.@elementSchemaId)] [#else] @@ -738,7 +665,7 @@ [/#list] [#if custom] - + [#if operation.customParameterName?has_content] [#else] @@ -746,14 +673,18 @@ [/#if] [/#if] + [#list inValue.documentation as documentation] + + + + + [/#list] - +
      element:element:${xmlElement.@elementName}
      element:element:${jsonElement.@elementName}
      element:element:${operation.customParameterName}
      description:${documentation}
      media types: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] @@ -801,13 +732,13 @@ ${examplexml?string?xhtml} [/#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] @@ -820,7 +751,7 @@ ${examplexml?string?xhtml} [#if attributeExists(jsonElement.@elementName)] [#assign custom=false/] - + [#if attributeExists(jsonElement.@elementSchemaId)] [#else] @@ -831,18 +762,22 @@ ${examplexml?string?xhtml} [/#list] [#if custom] - + [/#if] + [#list outValue.documentation as documentation] + + + + + [/#list] - +
      element:element:${xmlElement.@elementName}
      element:element:${jsonElement.@elementName}
      element:element: (custom)
      description:${documentation}
      media types: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"] @@ -882,7 +817,7 @@ ${examplexml?string?xhtml} [#list operation.statusCode as statusCode] [#if statusCode_index = 0]

      Status Codes

      - +
      @@ -905,7 +840,7 @@ ${examplexml?string?xhtml} [#list operation.warning as warning] [#if warning_index = 0]

      Warnings

      -
      HTTP Status Code Description
      +
      @@ -922,7 +857,7 @@ ${examplexml?string?xhtml} [#list operation.responseHeader as responseHeader] [#if responseHeader_index = 0]

      Response Headers

      -
      HTTP Status Code Description
      +
      @@ -938,6 +873,7 @@ ${examplexml?string?xhtml} [/#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]}]] @@ -945,34 +881,34 @@ ${examplexml?string?xhtml} [#if isDeprecated(endpointInterface)]

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

      [/#if] -
      name description
      +
      - + [#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] @@ -1012,7 +948,7 @@ ${examplexml?string?xhtml} [#list method["parameter[@input='true']"] as parameter] [#if parameter_index = 0]

      Input Parameters

      -
      Namespace:Namespace: [#if (endpointInterface?parent).@namespace?length > 0]${(endpointInterface?parent).@namespace}[#else](default namespace)[/#if]
      WSDL:WSDL: ${(endpointInterface?parent).@file}
      Path:Path: ${endpointInterface.@path}
      Available Since:Available Since: ${sinceTags[0]}
      Version:Version: ${versionTags[0]}
      +
      @@ -1031,7 +967,7 @@ ${examplexml?string?xhtml} [#list method["parameter[@output='true']"] as parameter] [#if parameter_index = 0]

      Output Parameters

      -
      name type
      +
      @@ -1051,9 +987,9 @@ ${examplexml?string?xhtml}

      Return Value

      [#if attributeExists(result.@xmlTypeName)] -
      name type
      +
      - +
      Type:Type: [#if attributeExists(result.@xmlTypeSchemaId)]${result.@xmlTypeName}[#else]${result.@xmlTypeName}[/#if]
      @@ -1064,7 +1000,7 @@ ${examplexml?string?xhtml} [#list method.fault as fault] [#if fault_index = 0]

      Faults

      - +
      @@ -1083,18 +1019,19 @@ ${examplexml?string?xhtml} [/@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}

      -
      name
      +
      - + [#if attributeExists(schema.@file)] - + [/#if] @@ -1124,42 +1061,48 @@ ${examplexml?string?xhtml} [/@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] -
      Namespace:Namespace: [#if schema.@namespace?length > 0]${schema.@namespace}[#else](default namespace)[/#if]
      XML Schema:XML Schema: ${schema.@file}
      +
      [#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] @@ -1172,57 +1115,63 @@ ${examplexml?string?xhtml} ${examplexml?string?xhtml} [/#list] [#list element.examplejson as examplejson] + +
      ${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] -
      Type:Type: ${element.@typeName}
      XML Schema:XML Schema: ${schema.@file}
      Available Since:Available Since: ${sinceTags[0]}
      Available Version:Available Version: ${versionTags[0]}
      - [#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] + [#list type.documentation as documentation]

      ${documentation}

      [/#list] @@ -1231,7 +1180,7 @@ ${examplexml?string?xhtml} [#list type.values.item as value] [#if value_index = 0]

      Possible Values

      -
      Extends:${candidate.@name}
      +
      @@ -1250,11 +1199,12 @@ ${examplexml?string?xhtml} [/#if] [/#list] [#else] + [#if includeExampleJson!true] + +
      value description
      @@ -1348,38 +1300,43 @@ ${examplexml?string?xhtml}
      property type
      [/#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] @@ -1390,7 +1347,7 @@ ${examplexml?string?xhtml} [#list type.property as property] [#if property_index = 0]

Properties

-
JSON Schema ID:JSON Schema ID: ${type?parent.@schemaId}
JSON Schema File:JSON Schema File: ${type?parent.@file}
Available Since:Available Since: ${sinceTags[0]}
Available Version:Available Version: ${versionTags[0]}
+
@@ -1409,7 +1366,7 @@ ${examplexml?string?xhtml} [#list type.enumValue as enumValue] [#if enumValue_index = 0]

Possible Values

-
name type
+
@@ -1423,6 +1380,7 @@ ${examplexml?string?xhtml}
value description
[/#if] [/#list] + [/@boilerplate] [/@file] [/#macro] \ No newline at end of file diff --git a/src/main/resources/META-INF/enunciate/docs.fmt.org b/src/main/resources/META-INF/enunciate/docs.fmt.org new file mode 100644 index 0000000..06f0b33 --- /dev/null +++ b/src/main/resources/META-INF/enunciate/docs.fmt.org @@ -0,0 +1,1428 @@ +[#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] +
namesizedescription
${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: +

+
    + [#list resource.operation as operation] + ${operation.@name} + [#list operation.alias as alias] + ${alias} + [/#list] + [/#list] +
+ [/#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] +
namedescriptiontypedefault
[#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 CodeDescription${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 CodeDescription
${warning.@code}${warning}
+ [/#if] + [/#list] + [#list operation.responseHeader as responseHeader] + [#if responseHeader_index = 0] +

Response Headers

+ + + + + + [/#if] + + + + + [#if !responseHeader_has_next] +
namedescription
${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: +

+
    + [#list endpointInterface.method as method] + ${method.@name} + [/#list] +
+ [/#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] +
nametypedescription
${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] +
nametypedescription
${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] +
namedescription
${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] +
valuedescription
+ [#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] +
nametypedescription
[#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] +
propertytypedescription
[#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] +
nametypedescription
[#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] +
valuedescription
[#list enumValue.value as value]${value} [/#list][#list enumValue.documentation as documentation]${documentation} [/#list]
+ [/#if] + [/#list] + [/@boilerplate] + [/@file] +[/#macro] \ No newline at end of file