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>