XML Convention for JSpecView

JSpecView was developed as a viewer for JCAMP-DX files and released via Sourceforge.net Logo under the GNU Lesser General Public License. It was then extended to cover XML files such as AnIML and CML. The essential features though remain, in that the input data needs to contain a spectrum that can be displayed either as a continuous XY plot or as a set of peaks. Any output document will again contain a spectrum or peak table. Since JSpecView has no molecular graphics capability the validation related to anything other than the spectrum portion of a CML document is essentially ignored!

This document gives some guidelines for reading and writing XML files with JSpecView

Reading and writing CML documents

A CML file as produced by JSpecView follows these rules:

1) The root element will look like the following:

<cml xmlns="http://www.xml-cml.org/schema"
   xsi:schemaLocation="http://www.xml-cml.org/schema ../../schema.xsd"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:siUnits="http://www.xml-cml.org/units/siUnits"
   xmlns:units="http://www.xml-cml.org/units/units"
   xmlns:jspecview="http://jspecview.sf.net/convention.html"
   xmlns:jcamp="http://www.iupac.org/jcamp/dict"
   xmlns:jcampUnits="http://www.iupac.org/jcamp/dict/units"
   xmlns:cml="http://www.xml-cml.org/dict/cmlDict">
  <spectrum id="$ident" title="$title" convention="JSpecView" type="$specinits">

2) All attribute namespaces refer to dictionaries in the dict10 module of the CML subversion repository on sourceforge (sf.net) except the JCAMP-DX namespace that is on the IUPAC site.

3) The spectrum type will be identified by a set of initials such as IR, NMR, EMR, GC, UV/Vis etc.

4) A metadata list will define the origin and owner if defined in the original file that is being exported.

    <metadataList>
        <metadata name="jcamp:origin" content="$origin"/>
        <metadata name="jcamp:owner" content="$owner"/>
    </metadataList>

5) as with JCAMP-DX, all NMR spectra will be exported in Hz although peak lists may be in ppm

6) A parameter list will be used to store information such as the NMR field strength and Nucleus.

    <parameterList>
      <parameter dictRef="jcamp:SpectrometerDataSystem" title="SpectrometerDataSystem">$model</parameter>
      <parameter dictRef="jcamp:OBSERVEFREQUENCY" title=".OBSERVEFREQUENCY">
          <scalar units="jcampUnits:hz">$ObFreq</scalar>
      </parameter>
      <parameter dictRef="jcamp:OBSERVENUCLEUS" title=".OBSERVENUCLEUS">$ObNucleus</parameter>
    </parameterList>
and for FTIR, things like the resolution.
      <parameter dictRef="jcamp:resolution" title="resolution">
          <scalar units="jcampUnits:$xUnits">$resolution</scalar>
      </parameter>

7) All fixed increment/decrement continuous spectra will be given with the first, last and number of xValues.

      <xaxis>
          <array units="jcampUnits:$xUnits" start="$firstX" end="$lastX" size="$npoints" dataType="xsd:double" />
                x values ......
            </array>
      </xaxis>

8) All peak tables will be exported as follows:

     <peakList size="$npoints" >
       <peak id="$velocityCount" xUnits="jcampUnits:$xUnits" xValue="X" yUnits="jcampUnits:$yUnits" yValue="Y">
       </peak>
      </peakList>

9) In addition to the "title" given in the spectrum element, the sample may be identified as follows:

    <sample>
        <molecule>
            <formula inline="$molform"/>
            <name convention="jcamp:casregistryno">$CASrn</name>
        </molecule>
    </sample>

Reading and writing AnIML documents

An AnIML file as produced by JSpecView follows these rules:

1) The root element will look like the following:

<?xml version="1.0" encoding="UTF-8"?>
<AnIML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:ds="http://www.w3.org/2000/09/xmldsig#" 
    xsi:noNamespaceSchemaLocation="http://animl.sourceforge.net/schema/animl-core.xsd" 
    version="1.0">
etc.

Copyright © 2006 by Robert John Lancashire, all rights reserved.

Created and maintained by Prof. Robert J. Lancashire,
The Department of Chemistry, University of the West Indies,
Mona Campus, Kingston 7, Jamaica.
Last modified 7th October 2006.