Express Server's catalog configuration schema is included here for developer reference.
<?xml version="1.0" encoding="utf-8"?> <xsd:schema jxb:version="2.0" targetNamespace="http://www.lizardtech.com" xmlns="http://www.lizardtech.com" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:jxb="http://java.sun.com/xml/ns/jaxb" xmlns:wms="http://www.opengis.net/wms" elementFormDefault="qualified" version="1.0.0" > <xsd:import namespace="http://www.opengis.net/wms" schemaLocation="capabilities_1_3_0.xsd"/> <xsd:element name="CatalogConfig"> <xsd:complexType> <xsd:sequence> <xsd:element name="Globals" type="Globals" minOccurs="0" maxOccurs="1" /> <xsd:element name="Catalog" type="Catalog" minOccurs="0" maxOccurs="unbounded" /> <xsd:element name="MultiCatalog" type="MultiCatalog" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:complexType name="Globals"> <xsd:sequence> <xsd:element name="BufferMergeRule" type="BufferMergeRule" minOccurs="0" /> <xsd:element name="Watermark" type="xsd:string" minOccurs="0" /> <xsd:element name="SizeConstraint" type="SizeConstraint" minOccurs="0" /> <xsd:element name="DynamicRange" type="DynamicRange" minOccurs="0" /> <xsd:element name="Gradient" type="xsd:string" minOccurs="0" /> <xsd:element name="AvgPointsPerPixel" type="xsd:float" minOccurs="0" /> <xsd:element name="VoidFillWindow" type="xsd:unsignedInt" minOccurs="0" /> <xsd:element name="ThumbSpec" type="ThumbSpec" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="CatalogProps" type="xsd:string" minOccurs="0" /> <xsd:element name="ItemProps" type="xsd:string" minOccurs="0" /> <xsd:element name="JPIPRoot" type="xsd:string" minOccurs="0" /> <xsd:element name="ResponseHostPort" type="xsd:string" minOccurs="0" /> <xsd:element name="MaxWaveletSourceMP" type="xsd:unsignedInt" minOccurs="0" /> <xsd:element name="BrowseIndexOnly" type="xsd:boolean" minOccurs="0" /> <xsd:element name="AllowItemDownload" type="xsd:boolean" minOccurs="0" /> <xsd:element name="WMSCapabilitiesMime" type="xsd:string" minOccurs="0" /> <xsd:element name="Property" type="Property" minOccurs="0" maxOccurs="unbounded" /> <xsd:element ref="wms:Layer" minOccurs="0" /> <xsd:element ref="wms:Service" minOccurs="0" /> <xsd:element name="MaxPointCloud" type="xsd:unsignedLong" maxOccurs="1" minOccurs="0"/> <xsd:element name="OutputFormats" type="Formats" minOccurs="0" maxOccurs="1"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="Catalog"> <xsd:sequence> <xsd:element name="Path" type="xsd:string" minOccurs="0" /> <xsd:element name="BufferMergeRule" type="BufferMergeRule" minOccurs="0" /> <xsd:element name="Watermark" type="xsd:string" minOccurs="0" /> <xsd:element name="SizeConstraint" type="SizeConstraint" minOccurs="0" /> <xsd:element name="DynamicRange" type="DynamicRange" minOccurs="0" /> <xsd:element name="Gradient" type="xsd:string" minOccurs="0" /> <xsd:element name="AvgPointsPerPixel" type="xsd:float" minOccurs="0" /> <xsd:element name="VoidFillWindow" type="xsd:unsignedInt" minOccurs="0" /> <xsd:element name="ElevationRange" type="ElevationRange" minOccurs="0" maxOccurs="1"/> <xsd:element name="ThumbSpec" type="ThumbSpec" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="Bands" type="xsd:string" minOccurs="0" /> <xsd:element name="MaxWaveletSourceMP" type="xsd:unsignedInt" minOccurs="0" /> <xsd:element name="BrowseIndexOnly" type="xsd:boolean" minOccurs="0" /> <xsd:element name="AllowItemDownload" type="xsd:boolean" minOccurs="0" /> <xsd:element name="SpatialIndex" minOccurs="0"> <xsd:complexType> <xsd:sequence> <xsd:element name="CRS" type="xsd:string" minOccurs="0" maxOccurs="1" /> <xsd:element name="Param" type="Param" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:attribute name="classID" type="xsd:string" use="required" /> <xsd:attribute name="fallBackToBlackNodata" type="xsd:boolean" /> </xsd:complexType> </xsd:element> <xsd:element name="Property" type="Property" minOccurs="0" maxOccurs="unbounded" /> <xsd:element ref="wms:Layer" minOccurs="0" /> </xsd:sequence> <xsd:attribute name="name" type="xsd:string" use="required" /> <xsd:attribute name="enabled" type="xsd:boolean" default="true" use="optional" /> </xsd:complexType> <xsd:complexType name="MultiCatalog"> <xsd:sequence> <xsd:element name="SubCatalog" type="xsd:string" maxOccurs="unbounded" minOccurs="0"/> <xsd:element name="BufferMergeRule" type="BufferMergeRule" minOccurs="0" /> <xsd:element name="Watermark" type="xsd:string" minOccurs="0"/> <xsd:element name="SizeConstraint" type="SizeConstraint" minOccurs="0"/> <xsd:element name="ThumbSpec" type="ThumbSpec" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="Property" type="Property" minOccurs="0" maxOccurs="unbounded" /> <xsd:element ref="wms:Layer" minOccurs="0" /> </xsd:sequence> <xsd:attribute name="name" type="xsd:string" use="required" /> <xsd:attribute name="enabled" type="xsd:boolean" default="true"/> </xsd:complexType> <xsd:complexType name="Property"> <xsd:simpleContent> <xsd:extension base="xsd:string"> <xsd:attribute name="name" type="xsd:string" use="required"/> <xsd:attribute name="lang" type="xsd:string" use="optional"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:complexType name="ThumbSpec"> <xsd:attribute name="name" type="xsd:string" use="required" /> <xsd:attribute name="height" type="xsd:unsignedInt" use="required" /> <xsd:attribute name="width" type="xsd:unsignedInt" use="required" /> <xsd:attribute name="gradient" type="xsd:string" use="optional" /> </xsd:complexType> <xsd:complexType name="BufferMergeRule"> <xsd:attribute name="fuzziness" default="3" type="xsd:unsignedInt" /> <xsd:attribute name="method" default="pixelNonTransparentFuzzy"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:enumeration value="pixelNonTransparent" /> <xsd:enumeration value="pixelNonTransparentFuzzy" /> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> <xsd:complexType name="SizeConstraint"> <xsd:attribute name="height" type="xsd:unsignedInt" use="required" /> <xsd:attribute name="width" type="xsd:unsignedInt" use="required" /> </xsd:complexType> <xsd:complexType name="DynamicRange"> <xsd:attribute name="minimum" type="xsd:float" use="required" /> <xsd:attribute name="maximum" type="xsd:float" use="required" /> </xsd:complexType> <xsd:complexType name="Param"> <xsd:simpleContent> <xsd:extension base="xsd:string"> <xsd:attribute name="name" type="xsd:string" /> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:complexType name="ElevationRange"> <xsd:attribute name="minimum" type="xsd:float" use="optional"/> <xsd:attribute name="maximum" type="xsd:float" use="optional"/> </xsd:complexType> <xsd:complexType name="Formats"> <xsd:sequence> <xsd:element name="Format" maxOccurs="unbounded"> <xsd:complexType> <xsd:attribute name="name"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:enumeration value="Unknown"/> <xsd:enumeration value="jpeg"/> <xsd:enumeration value="png"/> <xsd:enumeration value="tif"/> <xsd:enumeration value="sidlidar"/> <xsd:enumeration value="sidraster"/> <xsd:enumeration value="las"/> <xsd:enumeration value="laz"/> <xsd:enumeration value="bmp"/> <xsd:enumeration value="gif"/> <xsd:enumeration value="jp2"/> <xsd:enumeration value="nitf"/> <xsd:enumeration value="pdf"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="enabled" type="xsd:boolean" default="true"/> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:schema>