***************************************************************************/
#include "spectrumparser.h"
#include "spectrum.h"
+#include "element.h"
-#include <QList>
-#include <qbytearray.h>
#include <qdom.h>
-#include <qfile.h>
-#include <qregexp.h>
-#include <qtextstream.h>
+#include <QList>
+#include <QFile>
+#include <QTextStream>
#include <QString>
#include <kdebug.h>
QDomDocument doc( "SpectrumDocument" );
QFile docfile( "/home/carsten/test.xml" );
-// QTextStream stream( m_file );
QList<Spectrum::band*> blist = spectrum->bandlist();
- QDomElement docelem = doc.createElement( "spectrum" );
- doc.appendChild( docelem );
+ QDomElement cmlElement = doc.createElement( "cml" );
+ QDomElement spectrumListElement = doc.createElement( "spectrumList" );
+ QDomElement spectrumElement = doc.createElement( "spectrum" );
+ QDomElement metadataListElement = doc.createElement( "metadataList" );
+
+ //metadata
+//X QDomElement metadataElement = doc.createElement( "metadata" );
+//X if ( spectrum )
+//X {
+//X metadataElement.setAttribute("content",spectrum->parentElement()->elname() );
+//X metadataElement.setAttribute("name","ElementName");
+//X }
+
+ QDomElement metadataElement2 = doc.createElement( "metadata" );
+ metadataElement2.setAttribute("content", "National Institute of Standards and Technology" );
+ metadataElement2.setAttribute("name","OWNER");
+
+ QDomElement peakListElement = doc.createElement( "peakList" );
+
+ doc.appendChild( cmlElement );
+ cmlElement.appendChild( spectrumListElement );
+ spectrumListElement.appendChild( spectrumElement );
+ spectrumElement.appendChild( metadataListElement );
+//X if ( spectrum )
+//X metadataListElement.appendChild( metadataElement );
+ metadataListElement.appendChild( metadataElement2 );
+ spectrumElement.appendChild( peakListElement );
foreach( Spectrum::band* band, blist )
{
- QDomElement bandelem = doc.createElement( "band" );
- bandelem.setAttribute( "wavelength", band->wavelength );
- bandelem.setAttribute( "intensity", band->intensity );
- bandelem.setAttribute( "aki", band->aki );
- bandelem.setAttribute( "energy1", band->energy1 );
- bandelem.setAttribute( "energy2", band->energy2 );
- bandelem.setAttribute( "term1", band->term1 );
- bandelem.setAttribute( "term2", band->term2 );
- bandelem.setAttribute( "electronconfig1", band->electronconfig1 );
- bandelem.setAttribute( "electronconfig2", band->electronconfig2 );
- bandelem.setAttribute( "J1", band->J1 );
- bandelem.setAttribute( "J2", band->J2 );
- docelem.appendChild( bandelem );
- }
+ QDomElement peakElement = doc.createElement( "peak" );
+ peakElement.setAttribute( "id" , "" );
+ peakElement.setAttribute( "xUnits", "nm" );
+ peakElement.setAttribute( "xValue", band->wavelength );
+ peakElement.setAttribute( "yUnits", "Intensity relative to 1000" );
+ peakElement.setAttribute( "yValue", band->intensity );
+ //now the scalar values
+ QDomElement scalar = doc.createElement( "scalar" );
+ QDomElement scalar2 = doc.createElement( "scalar" );
+ QDomElement scalar3 = doc.createElement( "scalar" );
+ QDomElement scalar4 = doc.createElement( "scalar" );
+ QDomElement scalar5 = doc.createElement( "scalar" );
+ QDomElement scalar6 = doc.createElement( "scalar" );
+ QDomElement scalar7 = doc.createElement( "scalar" );
+ QDomElement scalar8 = doc.createElement( "scalar" );
+ QDomElement scalar9 = doc.createElement( "scalar" );
+ scalar.setAttribute( "title","aki" );
+ scalar2.setAttribute( "title","energy1" );
+ scalar3.setAttribute( "title","energy2" );
+ scalar4.setAttribute( "title","term1" );
+ scalar5.setAttribute( "title","term2" );
+ scalar6.setAttribute( "title","electronconfig1" );
+ scalar7.setAttribute( "title","electronconfig2" );
+ scalar8.setAttribute( "title","J1" );
+ scalar9.setAttribute( "title","J2" );
+
+ scalar.setNodeValue( "test123" );//QString::number( band->aki ) );
+
+//X peakElement.setAttribute( "aki", band->aki );
+//X peakElement.setAttribute( "energy1", band->energy1 );
+//X peakElement.setAttribute( "energy2", band->energy2 );
+//X peakElement.setAttribute( "term1", band->term1 );
+//X peakElement.setAttribute( "term2", band->term2 );
+//X peakElement.setAttribute( "electronconfig1", band->electronconfig1 );
+//X peakElement.setAttribute( "electronconfig2", band->electronconfig2 );
+//X peakElement.setAttribute( "J1", band->J1 );
+//X peakElement.setAttribute( "J2", band->J2 );
+
+
+ peakElement.appendChild( scalar );
+ peakElement.appendChild( scalar2 );
+ peakElement.appendChild( scalar3 );
+ peakElement.appendChild( scalar4 );
+ peakElement.appendChild( scalar5 );
+ peakElement.appendChild( scalar6 );
+ peakElement.appendChild( scalar7 );
+ peakElement.appendChild( scalar8 );
+ peakElement.appendChild( scalar9 );
+
+ peakListElement.appendChild( peakElement );
+ }
kdDebug() << "Text: " << doc.toString() << endl;
}