Configuration of Services

    The location of the service configuration file is provided by the servicesConfigURL User Setting, and defaults to servicesconfig.xml in the users' ChemAxon folder - located in the user home as .chemaxon or ChemAxon, depending on the operating system.

    The file should be valid for the following XSD schema:

    
        <?xml version="1.0" encoding="utf-8"?>
        <xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
     
        <!--  definition of attributes -->
        <xs:attribute name="alias"   type="xs:string" />
        <xs:attribute name="name"   type="xs:string" />
        <xs:attribute name="class"  type="xs:string" />
        <xs:attribute name="url"    type="xs:string" />
        <xs:attribute name="method" type="xs:string" />
        <xs:attribute name="descriptor" type="xs:string" default="chemaxon.marvin.services.descriptors.LocalServiceDescriptor"/>
        <xs:attribute name="value" type="xs:string" />
        <xs:attribute name="expression" type="xs:string" />
     
        <!-- definition of complex types -->
        <xs:complexType name="evaluationType">
          <xs:simpleContent>
            <xs:extension base="xs:string">
              <xs:attribute ref="class" use="optional" default="chemaxon.marvin.services.ChemicalTermsArgument" />
              <xs:attribute ref="expression" use="optional" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
     
        <xs:complexType name="argumentType">
          <xs:all>
            <xs:element name="Evaluate" type="evaluationType" minOccurs="0" maxOccurs="1" />
          </xs:all>
          <xs:attribute name="class" use="optional" default="java.lang.String">
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:enumeration value="java.lang.Integer" />
                <xs:enumeration value="java.lang.Float" />
                <xs:enumeration value="java.lang.Double" />
                <xs:enumeration value="java.lang.String" />
                <xs:enumeration value="java.lang.Long" />
                <xs:enumeration value="java.lang.Boolean" />
                <xs:enumeration value="chemaxon.struc.Molecule" />
                <xs:enumeration value="chemaxon.struc.MDocument" />
              </xs:restriction>
            </xs:simpleType>
          </xs:attribute>
          <xs:attribute ref="value" use="optional" />
          <xs:attribute ref="name" use="optional" default="Unnamed" />
          <xs:attribute ref="alias" use="optional" />   
        </xs:complexType>
     
        <xs:complexType name="serviceType">
          <xs:all>
            <xs:element name="Arguments" minOccurs="0">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Argument" type="argumentType" maxOccurs="unbounded" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:all>
          <xs:attribute ref="name" use="required" />
          <xs:attribute ref="url" use="required" />
          <xs:attribute ref="method" use="required" />
          <xs:attribute ref="class" use="optional" />
          <xs:attribute ref="descriptor" use="optional" />
          <xs:attribute ref="alias" use="optional" />
          <xs:anyAttribute processContents="skip" />
        </xs:complexType>
     
        <xs:element name="Services">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Service" type="serviceType" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
     
        </xs:schema>