+ bool isAux = atts.value("auxiliary") == "true";
+
+ QString aDimStr = atts.value("dim");
+ aDimStr = aDimStr.remove( ' ' );
+ QStringList aDimList = QStringList::split( ',', aDimStr );
+ QStringList::iterator anIter;
+ bool isOk;
+ QValueList<int> aDim;
+ for ( anIter = aDimList.begin(); anIter != aDimList.end(); ++anIter )
+ {
+ int aVal = (*anIter).toInt( &isOk );
+ if ( isOk )
+ aDim.append( aVal - 1 );
+ }
+
+ // for algo
+ enum { HYPOS = 0, OPT_HYPOS, INPUT, OUTPUT, NB_ATTRIBUTES };
+ const char* name [NB_ATTRIBUTES] = { "hypos", "opt-hypos", "input", "output" };
+ QStringList attr [NB_ATTRIBUTES];
+ for ( int i = 0; i < NB_ATTRIBUTES; ++i ) {
+ QString aStr = atts.value( name[i] );
+ if ( !aStr.isEmpty() ) {
+ aStr.remove( ' ' );
+ attr[ i ] = QStringList::split( ',', aStr );
+ }
+ }
+