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

wmts.1.0.0.ctl.wmtsMain.xml Maven / Gradle / Ivy

<?xml version="1.0" encoding="UTF-8"?>
<ctl:package 
	xmlns:ctl="http://www.occamlab.com/ctl" 
	xmlns:gml="http://www.opengis.net/gml" 
	xmlns:html="http://www.w3.org/1999/xhtml" 	
	xmlns:ogc="http://www.opengis.net/ogc"
	xmlns:ows="http://www.opengis.net/ows/1.1" 
	xmlns:parsers="http://www.occamlab.com/te/parsers"
	xmlns:saxon="http://saxon.sf.net/" 
	xmlns:te="http://www.occamlab.com/te"
	xmlns:tep="http://teamengine.sourceforge.net/parsers" 
	xmlns:xi="http://www.w3.org/2001/XInclude" 
	xmlns:xlink="http://www.w3.org/1999/xlink"
	xmlns:xml="http://www.w3.org/XML/1998/namespace"
	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:wmts="http://www.opengis.net/wmts/1.0"
	xmlns:ctlFunctions="https://cite.opengeospatial.org/wmts-1.0.0/src/ctl/ctlFunctions.xml"	
	xmlns:owsFunctions="https://cite.opengeospatial.org/wmts-1.0.0/src/ctl/owsFunctions.xml"	
	xmlns:wwwFunctions="https://cite.opengeospatial.org/wmts-1.0.0/src/ctl/wwwFunctions.xml"	
	xmlns:wmtsFunctions="https://cite.opengeospatial.org/wmts-1.0.0/src/ctl/wmtsFunctions.xml"	
	xmlns:wmtsBootstrap="https://cite.opengeospatial.org/wmts-1.0.0/src/ctl/bootstrap.xml">

  <ctl:test name="wmts:main" type="Mandatory">
    <ctl:param name="capabilities-url" />
    <ctl:param name="fail-early" />
	<ctl:param name="include-CommonOperations-tests" />
	<ctl:param name="include-GetCapabilities-tests" />
	<ctl:param name="include-GetTile-tests" />
	<ctl:param name="include-GetFeatureInfo-tests" />
	<ctl:param name="include-kvp-get-encoding" />
	<ctl:param name="include-restful-encoding" />
    <ctl:assertion>The server returns a valid Capabilities document from a KVP GET or RESTful request, to support further tests in one or more profiles.</ctl:assertion>
    <ctl:code>
      <ctl:call-function name="ctl:startStopwatch">
        <ctl:with-param name="watchName">wmts.main</ctl:with-param>
      </ctl:call-function>
          <!-- global wmts schema settings -->
		  <xsl:variable name="schemaRoot">xsd/ogc/</xsl:variable>
          <xsl:variable name="wmtsSchemaType" select="string('resource')"/>
          <!-- change schemaRoot and wmtsSchemaType once TileMatrixLimits schema errors are fixed
				   <xsl:variable name="schemaRoot">http://schemas.opengis.net/</xsl:variable>
				   <xsl:variable name="wmtsSchemaType" select="string('url')"/> -->
          <xsl:variable name="schemaEncoding">wmts</xsl:variable>
          <xsl:variable name="schemaVersion">1.0</xsl:variable>
          <xsl:variable name="schemaFilename">wmts.xsd</xsl:variable>
          <xsl:variable name="wmtsSchemaPath" select="ctlFunctions:schemaPath($schemaRoot, $schemaEncoding, $schemaVersion, $schemaFilename)"/>
		  
		  <xsl:variable name="wmts.capabilities.url">
		    <xsl:choose>
			  <xsl:when test="string-length($capabilities-url)=0">
			    <xsl:variable name="form-values">
				  <ctl:form method="POST" width="800" height="600" xmlns="http://www.w3.org/1999/xhtml">
				    <p>
					  <label for="capabilities-doc">
					    <h4 style="margin-bottom: 0.5em">Upload WMTS capabilities document</h4>
					  </label>
					  <input id="capabilities-doc" name="capabilities-doc" size="128" type="file" />
				    </p>
				    <input class="form-button" type="submit" value="Submit"/>
				  </ctl:form>
				</xsl:variable>
				<xsl:variable name="capabilities-file" select="$form-values//value[@key='capabilities-doc']/ctl:file-entry/@full-path" />
				<xsl:value-of select="concat('file:///', $capabilities-file)" />
			  </xsl:when>
			  <xsl:otherwise>
				<xsl:value-of select="$capabilities-url"/>
			  </xsl:otherwise>
			</xsl:choose>
          </xsl:variable>

          <xsl:variable name="wmts.capabilities.doc.response">
			<ctl:request>
			  <ctl:url>
				<xsl:value-of select="$wmts.capabilities.url"/>
			  </ctl:url>
			  <ctl:method>get</ctl:method>
			  <parsers:HTTPParser/>
			</ctl:request>
          </xsl:variable>

          <xsl:variable name="validation-errors">
		    <xsl:if test="$fail-early = 'on'">
			  <ctl:message>Validating Capabilities Document against its XML Schema...</ctl:message>

			  <ctl:call-function name="ctl:startStopwatch">
				<ctl:with-param name="watchName">capabilities.validation</ctl:with-param>
			  </ctl:call-function>

			  <ctl:call-function name="ctlFunctions:XMLschemaValidate">
				<ctl:with-param name="doc"><xsl:copy-of select="$wmts.capabilities.doc.response/response/content/*"/></ctl:with-param>
				<ctl:with-param name="schemaPath" select="$wmtsSchemaPath"/>
			  </ctl:call-function>

			  <xsl:variable name="capabilities.validation.elapsed" select="ctl:elapsedTime('capabilities.validation')"/>
			  <ctl:message>capabilities.validation.elapsed [<xsl:value-of select="$capabilities.validation.elapsed"/>] milliseconds</ctl:message>											
            </xsl:if>
          </xsl:variable>
				  
          <xsl:choose>
            <xsl:when test="not(contains($wmts.capabilities.doc.response//header[matches(@name,'^Content-Type$','i')],'/xml'))">
              <ctl:message>FAILURE: Not an XML content type: '<xsl:value-of select="$wmts.capabilities.doc.response//header[@name='Content-Type']"/>'</ctl:message>
              <ctl:fail/>
            </xsl:when>
            <xsl:when test="not($wmts.capabilities.doc.response/response/content//wmts:Capabilities)">
              <ctl:message>FAILURE: Did not receive a wmts:Capabilities document! Skipping remaining tests.</ctl:message>	
              <ctl:fail/>
            </xsl:when>
            <xsl:when test="count($validation-errors/*) &gt; 0">
              <ctl:message>Capabilities document failed schema validation</ctl:message>
              <ctl:message>[FAILURE] results: <xsl:copy-of select="$validation-errors"/></ctl:message>
              <ctl:fail/> 
            </xsl:when>
            <xsl:otherwise>
              <xsl:variable name="responseTime" select="$wmts.capabilities.doc.response/response/comment()"/>
              <ctl:message>Capabilities Document <xsl:value-of select="$responseTime"/></ctl:message>
              <xsl:variable name="lastModified" select="$wmts.capabilities.doc.response/response/headers/header[@name='Last-Modified']"/>
              <ctl:message>lastModified <xsl:value-of select="$lastModified"/></ctl:message>
              <xsl:variable name="wmts.capabilities.doc" select="$wmts.capabilities.doc.response/response/content"/>

			  <xsl:variable name="bootstrap.kvp.get">
			    <xsl:if test="$include-kvp-get-encoding = 'on'">
                        <ctl:call-function name="wmtsBootstrap:bootstrap.kvp.get">
                          <ctl:with-param name="wmts.capabilities.doc" select="$wmts.capabilities.doc/*"/>
                          <ctl:with-param name="wmtsSchemaPath" select="$wmtsSchemaPath"/>
                          <ctl:with-param name="wmtsSchemaType" select="$wmtsSchemaType"/>
                        </ctl:call-function>
                </xsl:if>
              </xsl:variable>

              <xsl:variable name="bootstrap.kvp.post">
			    <!--
                        <ctl:call-function name="wmtsBootstrap:bootstrap.kvp.post">
                          <ctl:with-param name="wmts.capabilities.doc" select="$wmts.capabilities.doc/*"/>
                          <ctl:with-param name="wmtsSchemaPath" select="$wmtsSchemaPath"/>
                          <ctl:with-param name="wmtsSchemaType" select="$wmtsSchemaType"/>
                        </ctl:call-function>
				-->
              </xsl:variable>

              <xsl:variable name="bootstrap.xml.post">
			    <!--
                        <ctl:call-function name="wmtsBootstrap:bootstrap.xml.post">
                          <ctl:with-param name="wmts.capabilities.doc" select="$wmts.capabilities.doc/*"/>
                          <ctl:with-param name="wmtsSchemaPath" select="$wmtsSchemaPath"/>
                          <ctl:with-param name="wmtsSchemaType" select="$wmtsSchemaType"/>
                        </ctl:call-function>
				-->
              </xsl:variable>

              <xsl:variable name="bootstrap.soap.post">
			    <!--
                        <ctl:call-function name="wmtsBootstrap:bootstrap.soap.post">
                          <ctl:with-param name="wmts.capabilities.doc" select="$wmts.capabilities.doc/*"/>
                          <ctl:with-param name="wmtsSchemaPath" select="$wmtsSchemaPath"/>
                          <ctl:with-param name="wmtsSchemaType" select="$wmtsSchemaType"/>
                        </ctl:call-function>
				-->
              </xsl:variable>

              <xsl:variable name="bootstrap.restful">
			    <xsl:if test="$include-restful-encoding = 'on'">
                        <ctl:call-function name="wmtsBootstrap:bootstrap.restful">
                          <ctl:with-param name="wmts.capabilities.doc" select="$wmts.capabilities.doc/*"/>
                          <ctl:with-param name="wmtsSchemaPath" select="$wmtsSchemaPath"/>
                          <ctl:with-param name="wmtsSchemaType" select="$wmtsSchemaType"/>
                        </ctl:call-function>
                </xsl:if>
              </xsl:variable>

			  <xsl:if test="$include-CommonOperations-tests = 'on'">
                      <ctl:call-test name="wmts:CommonOperations.main">
                        <ctl:with-param name="wmts.capabilities.doc" select="$wmts.capabilities.doc" />
                        <ctl:with-param name="bootstrap.kvp.get" select="$bootstrap.kvp.get" />
                        <ctl:with-param name="bootstrap.kvp.post" select="$bootstrap.kvp.post" />
                        <ctl:with-param name="bootstrap.xml.post" select="$bootstrap.xml.post" />
                        <ctl:with-param name="bootstrap.soap.post" select="$bootstrap.soap.post" />
                        <ctl:with-param name="bootstrap.restful" select="$bootstrap.restful" />
                      </ctl:call-test>
              </xsl:if>

			  <xsl:if test="$include-GetCapabilities-tests = 'on'">
                      <ctl:call-test name="wmts:GetCapabilities.main">
                        <ctl:with-param name="wmts.capabilities.doc" select="$wmts.capabilities.doc" />
                        <ctl:with-param name="bootstrap.kvp.get" select="$bootstrap.kvp.get" />
                        <ctl:with-param name="bootstrap.kvp.post" select="$bootstrap.kvp.post" />
                        <ctl:with-param name="bootstrap.xml.post" select="$bootstrap.xml.post" />
                        <ctl:with-param name="bootstrap.soap.post" select="$bootstrap.soap.post" />
                        <ctl:with-param name="bootstrap.restful" select="$bootstrap.restful" />
                      </ctl:call-test>
              </xsl:if>

			  <xsl:if test="$include-GetTile-tests = 'on'">
                      <ctl:call-test name="wmts:GetTile.main">
                        <ctl:with-param name="wmts.capabilities.doc" select="$wmts.capabilities.doc" />
                        <ctl:with-param name="bootstrap.kvp.get" select="$bootstrap.kvp.get" />
                        <ctl:with-param name="bootstrap.kvp.post" select="$bootstrap.kvp.post" />
                        <ctl:with-param name="bootstrap.xml.post" select="$bootstrap.xml.post" />
                        <ctl:with-param name="bootstrap.soap.post" select="$bootstrap.soap.post" />
                        <ctl:with-param name="bootstrap.restful" select="$bootstrap.restful" />
                      </ctl:call-test>
              </xsl:if>

			  <xsl:if test="$include-GetFeatureInfo-tests = 'on'">
                      <ctl:call-test name="wmts:GetFeatureInfo.main">
                        <ctl:with-param name="wmts.capabilities.doc" select="$wmts.capabilities.doc" />
                        <ctl:with-param name="bootstrap.kvp.get" select="$bootstrap.kvp.get" />
                        <ctl:with-param name="bootstrap.kvp.post" select="$bootstrap.kvp.post" />
                        <ctl:with-param name="bootstrap.xml.post" select="$bootstrap.xml.post" />
                        <ctl:with-param name="bootstrap.soap.post" select="$bootstrap.soap.post" />
                        <ctl:with-param name="bootstrap.restful" select="$bootstrap.restful" />
                      </ctl:call-test>
              </xsl:if>

        </xsl:otherwise>
      </xsl:choose>

      <xsl:variable name="wmts.main.elapsed" select="ctl:elapsedTime('wmts.main')"/>
      <ctl:message>wmts.main.elapsed [<xsl:value-of select="$wmts.main.elapsed"/>] milliseconds</ctl:message>
    </ctl:code>
  </ctl:test>

  <ctl:test name="wmts:CommonOperations.main" isConformanceClass="true" isBasic="true">
    <ctl:param name="wmts.capabilities.doc">WMTS capabilities document</ctl:param>
    <ctl:param name="bootstrap.kvp.get" />
    <ctl:param name="bootstrap.kvp.post" />
    <ctl:param name="bootstrap.xml.post" />
    <ctl:param name="bootstrap.soap.post" />
    <ctl:param name="bootstrap.restful" />

    <ctl:assertion>The server satisfies all CommonOperations requirements for all supported bindings.</ctl:assertion>
    <ctl:code>
      <xsl:variable name="selected">UNUSED</xsl:variable>

      <xsl:if test="$bootstrap.kvp.get/*">
        <ctl:call-test name="wmts:CommonOperations.Mandatory.KVP.GET">
          <ctl:with-param name="wmts.capabilities.doc" select="$wmts.capabilities.doc" />
          <ctl:with-param name="bootstrap" select="$bootstrap.kvp.get" />
          <ctl:with-param name="selected" select="$selected" />
        </ctl:call-test>
	  </xsl:if>

      <!-- Other encodings than KVP.GET are deactivated -->
      <!--<ctl:call-test name="wmts:CommonOperations.Mandatory.KVP.POST">
        <ctl:with-param name="wmts.capabilities.doc" select="$wmts.capabilities.doc" />
        <ctl:with-param name="bootstrap" select="$bootstrap.kvp.post" />
        <ctl:with-param name="selected" select="$selected" />
      </ctl:call-test>

      <ctl:call-test name="wmts:CommonOperations.Mandatory.XML.POST">
        <ctl:with-param name="wmts.capabilities.doc" select="$wmts.capabilities.doc" />
        <ctl:with-param name="bootstrap" select="$bootstrap.xml.post" />
        <ctl:with-param name="selected" select="$selected" />
      </ctl:call-test>

      <ctl:call-test name="wmts:CommonOperations.Mandatory.SOAP.POST">
        <ctl:with-param name="wmts.capabilities.doc" select="$wmts.capabilities.doc" />
        <ctl:with-param name="bootstrap" select="$bootstrap.soap.post" />
        <ctl:with-param name="selected" select="$selected" />
      </ctl:call-test>-->

      <xsl:if test="$bootstrap.restful/*">
        <ctl:call-test name="wmts:CommonOperations.Mandatory.RESTful">
          <ctl:with-param name="wmts.capabilities.doc" select="$wmts.capabilities.doc" />
          <ctl:with-param name="bootstrap" select="$bootstrap.restful" />
          <ctl:with-param name="selected" select="$selected" />
        </ctl:call-test>
	  </xsl:if>

    </ctl:code>
  </ctl:test>

  <ctl:test name="wmts:GetCapabilities.main" isConformanceClass="true" isBasic="true">
    <ctl:param name="wmts.capabilities.doc">WMTS capabilities document</ctl:param>
    <ctl:param name="bootstrap.kvp.get" />
    <ctl:param name="bootstrap.kvp.post" />
    <ctl:param name="bootstrap.xml.post" />
    <ctl:param name="bootstrap.soap.post" />
    <ctl:param name="bootstrap.restful" />

    <ctl:assertion>The server satisfies all GetCapabilities requirements for all supported bindings.</ctl:assertion>
    <ctl:code>
      <xsl:variable name="selected">UNUSED</xsl:variable>

      <xsl:if test="$bootstrap.kvp.get/*">
        <ctl:call-test name="wmts:GetCapabilities.Mandatory.KVP.GET">
          <ctl:with-param name="wmts.capabilities.doc" select="$wmts.capabilities.doc" />
          <ctl:with-param name="bootstrap" select="$bootstrap.kvp.get" />
          <ctl:with-param name="selected" select="$selected" />
        </ctl:call-test>
        <ctl:call-test name="wmts:GetCapabilities.Implemented.KVP.GET">
          <ctl:with-param name="wmts.capabilities.doc" select="$wmts.capabilities.doc"/>
          <ctl:with-param name="bootstrap" select="$bootstrap.kvp.get"/>
          <ctl:with-param name="selected" select="$selected"/>
        </ctl:call-test>
	  </xsl:if>

      <!-- Encodings other than KVP.GET and RESTful are deactivated -->
      <!--<ctl:call-test name="wmts:GetCapabilities.Mandatory.KVP.POST">
        <ctl:with-param name="wmts.capabilities.doc" select="$wmts.capabilities.doc" />
        <ctl:with-param name="bootstrap" select="$bootstrap.kvp.post" />
        <ctl:with-param name="selected" select="$selected" />
      </ctl:call-test>
      <ctl:call-test name="wmts:GetCapabilities.Implemented.KVP.POST">
        <ctl:with-param name="wmts.capabilities.doc" select="$wmts.capabilities.doc" />
        <ctl:with-param name="bootstrap" select="$bootstrap.kvp.post" />
        <ctl:with-param name="selected" select="$selected" />
      </ctl:call-test>

      <ctl:call-test name="wmts:GetCapabilities.Mandatory.XML.POST">
        <ctl:with-param name="wmts.capabilities.doc" select="$wmts.capabilities.doc" />
        <ctl:with-param name="bootstrap" select="$bootstrap.xml.post" />
        <ctl:with-param name="selected" select="$selected" />
      </ctl:call-test>
      <ctl:call-test name="wmts:GetCapabilities.Implemented.XML.POST">
        <ctl:with-param name="wmts.capabilities.doc" select="$wmts.capabilities.doc" />
        <ctl:with-param name="bootstrap" select="$bootstrap.xml.post" />
        <ctl:with-param name="selected" select="$selected" />
      </ctl:call-test>

      <ctl:call-test name="wmts:GetCapabilities.Mandatory.SOAP.POST">
        <ctl:with-param name="wmts.capabilities.doc" select="$wmts.capabilities.doc" />
        <ctl:with-param name="bootstrap" select="$bootstrap.soap.post" />
        <ctl:with-param name="selected" select="$selected" />
      </ctl:call-test>
      <ctl:call-test name="wmts:GetCapabilities.Implemented.SOAP.POST">
        <ctl:with-param name="wmts.capabilities.doc" select="$wmts.capabilities.doc" />
        <ctl:with-param name="bootstrap" select="$bootstrap.soap.post" />
        <ctl:with-param name="selected" select="$selected" />
      </ctl:call-test>-->

      <xsl:if test="$bootstrap.restful/*">
        <ctl:call-test name="wmts:GetCapabilities.Mandatory.RESTful">
          <ctl:with-param name="wmts.capabilities.doc" select="$wmts.capabilities.doc" />
          <ctl:with-param name="bootstrap" select="$bootstrap.restful" />
          <ctl:with-param name="selected" select="$selected" />
        </ctl:call-test>
        <ctl:call-test name="wmts:GetCapabilities.Implemented.RESTful">
          <ctl:with-param name="wmts.capabilities.doc" select="$wmts.capabilities.doc" />
          <ctl:with-param name="bootstrap" select="$bootstrap.restful" />
          <ctl:with-param name="selected" select="$selected" />
        </ctl:call-test>
	  </xsl:if>
    </ctl:code>
  </ctl:test>

  <ctl:test name="wmts:GetTile.main" isConformanceClass="true" isBasic="true">
    <ctl:param name="wmts.capabilities.doc">WMTS capabilities document</ctl:param>
    <ctl:param name="bootstrap.kvp.get" />
    <ctl:param name="bootstrap.kvp.post" />
    <ctl:param name="bootstrap.xml.post" />
    <ctl:param name="bootstrap.soap.post" />
    <ctl:param name="bootstrap.restful" />

    <ctl:assertion>The server satisfies all GetTile requirements for all supported bindings.</ctl:assertion>
    <ctl:code>
      <xsl:variable name="selected">UNUSED</xsl:variable>

      <xsl:if test="$bootstrap.kvp.get/*">
        <ctl:call-test name="wmts:GetTile.Mandatory.KVP.GET">
          <ctl:with-param name="wmts.capabilities.doc" select="$wmts.capabilities.doc" />
          <ctl:with-param name="bootstrap" select="$bootstrap.kvp.get" />
          <ctl:with-param name="selected" select="$selected" />
        </ctl:call-test>
        <ctl:call-test name="wmts:GetTile.Implemented.KVP.GET">
          <ctl:with-param name="wmts.capabilities.doc" select="$wmts.capabilities.doc"/>
          <ctl:with-param name="bootstrap" select="$bootstrap.kvp.get"/>
          <ctl:with-param name="selected" select="$selected"/>
        </ctl:call-test>
	  </xsl:if>

      <!-- Encodings other than KVP.GET and RESTful are deactivated -->
      <!--<ctl:call-test name="wmts:GetTile.Mandatory.KVP.POST">
        <ctl:with-param name="wmts.capabilities.doc" select="$wmts.capabilities.doc" />
        <ctl:with-param name="bootstrap" select="$bootstrap.kvp.post" />
        <ctl:with-param name="selected" select="$selected" />
      </ctl:call-test>
      <ctl:call-test name="wmts:GetTile.Implemented.KVP.POST">
        <ctl:with-param name="wmts.capabilities.doc" select="$wmts.capabilities.doc" />
        <ctl:with-param name="bootstrap" select="$bootstrap.kvp.post" />
        <ctl:with-param name="selected" select="$selected" />
      </ctl:call-test>

      <ctl:call-test name="wmts:GetTile.Mandatory.XML.POST">
        <ctl:with-param name="wmts.capabilities.doc" select="$wmts.capabilities.doc" />
        <ctl:with-param name="bootstrap" select="$bootstrap.xml.post" />
        <ctl:with-param name="selected" select="$selected" />
      </ctl:call-test>
      <ctl:call-test name="wmts:GetTile.Implemented.XML.POST">
        <ctl:with-param name="wmts.capabilities.doc" select="$wmts.capabilities.doc" />
        <ctl:with-param name="bootstrap" select="$bootstrap.xml.post" />
        <ctl:with-param name="selected" select="$selected" />
      </ctl:call-test>

      <ctl:call-test name="wmts:GetTile.Mandatory.SOAP.POST">
        <ctl:with-param name="wmts.capabilities.doc" select="$wmts.capabilities.doc" />
        <ctl:with-param name="bootstrap" select="$bootstrap.soap.post" />
        <ctl:with-param name="selected" select="$selected" />
      </ctl:call-test>
      <ctl:call-test name="wmts:GetTile.Implemented.SOAP.POST">
        <ctl:with-param name="wmts.capabilities.doc" select="$wmts.capabilities.doc" />
        <ctl:with-param name="bootstrap" select="$bootstrap.soap.post" />
        <ctl:with-param name="selected" select="$selected" />
      </ctl:call-test>-->

      <xsl:if test="$bootstrap.restful/*">
        <ctl:call-test name="wmts:GetTile.Mandatory.RESTful">
          <ctl:with-param name="wmts.capabilities.doc" select="$wmts.capabilities.doc" />
          <ctl:with-param name="bootstrap" select="$bootstrap.restful" />
          <ctl:with-param name="selected" select="$selected" />
        </ctl:call-test>
        <ctl:call-test name="wmts:GetTile.Implemented.RESTful">
          <ctl:with-param name="wmts.capabilities.doc" select="$wmts.capabilities.doc" />
          <ctl:with-param name="bootstrap" select="$bootstrap.restful" />
          <ctl:with-param name="selected" select="$selected" />
        </ctl:call-test>
	  </xsl:if>
    </ctl:code>
  </ctl:test>

  <ctl:test name="wmts:GetFeatureInfo.main" isConformanceClass="true" isBasic="false">
    <ctl:param name="wmts.capabilities.doc">WMTS capabilities document</ctl:param>
    <ctl:param name="bootstrap.kvp.get" />
    <ctl:param name="bootstrap.kvp.post" />
    <ctl:param name="bootstrap.xml.post" />
    <ctl:param name="bootstrap.soap.post" />
    <ctl:param name="bootstrap.restful" />

    <ctl:assertion>The server satisfies all GetFeatureInfo requirements for all supported bindings.</ctl:assertion>
    <ctl:code>
      <xsl:variable name="selected">UNUSED</xsl:variable>

      <xsl:if test="$bootstrap.kvp.get/*">
        <ctl:call-test name="wmts:GetFeatureInfo.Implemented.KVP.GET">
          <ctl:with-param name="wmts.capabilities.doc" select="$wmts.capabilities.doc" />
          <ctl:with-param name="bootstrap" select="$bootstrap.kvp.get" />
          <ctl:with-param name="selected" select="$selected" />
        </ctl:call-test>
	  </xsl:if>

      <!-- Encodings other than KVP.GET and RESTful are deactivated -->
      <!--<ctl:call-test name="wmts:GetFeatureInfo.Implemented.KVP.POST">
        <ctl:with-param name="wmts.capabilities.doc" select="$wmts.capabilities.doc" />
        <ctl:with-param name="bootstrap" select="$bootstrap.kvp.post" />
        <ctl:with-param name="selected" select="$selected" />
      </ctl:call-test>

      <ctl:call-test name="wmts:GetFeatureInfo.Implemented.XML.POST">
        <ctl:with-param name="wmts.capabilities.doc" select="$wmts.capabilities.doc" />
        <ctl:with-param name="bootstrap" select="$bootstrap.xml.post" />
        <ctl:with-param name="selected" select="$selected" />
      </ctl:call-test>

      <ctl:call-test name="wmts:GetFeatureInfo.Implemented.SOAP.POST">
        <ctl:with-param name="wmts.capabilities.doc" select="$wmts.capabilities.doc" />
        <ctl:with-param name="bootstrap" select="$bootstrap.soap.post" />
        <ctl:with-param name="selected" select="$selected" />
      </ctl:call-test>-->

      <xsl:if test="$bootstrap.restful/*">
        <ctl:call-test name="wmts:GetFeatureInfo.Implemented.RESTful">
          <ctl:with-param name="wmts.capabilities.doc" select="$wmts.capabilities.doc" />
          <ctl:with-param name="bootstrap" select="$bootstrap.restful" />
          <ctl:with-param name="selected" select="$selected" />
        </ctl:call-test>
	  </xsl:if>
    </ctl:code>
  </ctl:test>

</ctl:package>




© 2015 - 2025 Weber Informatics LLC | Privacy Policy