public XMLInputSaxField(Node fnode) throws KettleValueException { setName(XMLHandler.getTagValue(fnode, "name")); setType(ValueMeta.getType(XMLHandler.getTagValue(fnode, "type"))); setFormat(XMLHandler.getTagValue(fnode, "format")); setCurrencySymbol(XMLHandler.getTagValue(fnode, "currency")); setDecimalSymbol(XMLHandler.getTagValue(fnode, "decimal")); setGroupSymbol(XMLHandler.getTagValue(fnode, "group")); setLength(Const.toInt(XMLHandler.getTagValue(fnode, "length"), -1)); setPrecision(Const.toInt(XMLHandler.getTagValue(fnode, "precision"), -1)); setTrimType(getTrimType(XMLHandler.getTagValue(fnode, "trim_type"))); setRepeated(!"N".equalsIgnoreCase(XMLHandler.getTagValue(fnode, "repeat"))); Node positions = XMLHandler.getSubNode(fnode, "positions"); int nrPositions = XMLHandler.countNodes(positions, "position"); fieldPosition = new XMLInputSaxFieldPosition[nrPositions]; for (int i = 0; i < nrPositions; i++) { Node positionnode = XMLHandler.getSubNodeByNr(positions, "position", i); String encoded = XMLHandler.getNodeValue(positionnode); fieldPosition[i] = new XMLInputSaxFieldPosition(encoded); } }