Skip to content

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>