{"record":{"id":"bfa4293da3943246","repo":"pentaho/pentaho-kettle","slug":"regexevalmeta-exception-unabletoloadstepinfofromxml","errorCode":null,"errorMessage":"RegexEvalMeta.Exception.UnableToLoadStepInfoFromXML","messagePattern":"RegexEvalMeta\\.Exception\\.UnableToLoadStepInfoFromXML","errorType":"exception","errorClass":"KettleXMLException","httpStatus":null,"severity":"error","filePath":"engine/src/main/java/org/pentaho/di/trans/steps/regexeval/RegexEvalMeta.java","lineNumber":378,"sourceCode":"\n        fieldName[i] = XMLHandler.getTagValue( fnode, \"name\" );\n        final String stype = XMLHandler.getTagValue( fnode, \"type\" );\n        fieldFormat[i] = XMLHandler.getTagValue( fnode, \"format\" );\n        fieldGroup[i] = XMLHandler.getTagValue( fnode, \"group\" );\n        fieldDecimal[i] = XMLHandler.getTagValue( fnode, \"decimal\" );\n        fieldCurrency[i] = XMLHandler.getTagValue( fnode, \"currency\" );\n        final String slen = XMLHandler.getTagValue( fnode, \"length\" );\n        final String sprc = XMLHandler.getTagValue( fnode, \"precision\" );\n        fieldNullIf[i] = XMLHandler.getTagValue( fnode, \"nullif\" );\n        fieldIfNull[i] = XMLHandler.getTagValue( fnode, \"ifnull\" );\n        final String trim = XMLHandler.getTagValue( fnode, \"trimtype\" );\n        fieldType[i] = ValueMetaFactory.getIdForValueMeta( stype );\n        fieldLength[i] = Const.toInt( slen, -1 );\n        fieldPrecision[i] = Const.toInt( sprc, -1 );\n        fieldTrimType[i] = ValueMetaString.getTrimTypeByCode( trim );\n      }\n    } catch ( Exception e ) {\n      throw new KettleXMLException( BaseMessages.getString(\n        PKG, \"RegexEvalMeta.Exception.UnableToLoadStepInfoFromXML\" ), e );\n    }\n  }\n\n  public void setDefault() {\n    script = \"\";\n    matcher = \"\";\n    resultfieldname = \"result\";\n    usevar = false;\n    allowcapturegroups = false;\n    replacefields = true;\n    canoneq = false;\n    caseinsensitive = false;\n    comment = false;\n    dotall = false;\n    multiline = false;\n    unicode = false;\n    unix = false;","sourceCodeStart":360,"sourceCodeEnd":396,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/engine/src/main/java/org/pentaho/di/trans/steps/regexeval/RegexEvalMeta.java#L360-L396","documentation":"RegexEvalMeta.loadXML calls readData to parse the step's <fields> XML nodes; if any XML parsing/access throws, it rethrows as a KettleXMLException with message 'RegexEvalMeta.Exception.UnableToLoadStepInfoFromXML'. It means the step definition in the .ktr file could not be deserialized.","triggerScenarios":"loadXML -> readData encounters missing/corrupt XML tags (field_name, field_code, field_type, length, precision, trim_type) or ValueMetaFactory.getIdForValueMeta receives an unknown type code.","commonSituations":"Hand-edited .ktr files; .ktr produced by a newer Pentaho version with new attributes opened in an older version; truncated/corrupted transformation files.","solutions":["Open the .ktr in a text editor and check the RegexEval step's <fields> XML block for missing or malformed tags.","Correct any invalid field_type value so ValueMetaFactory can resolve it.","Recreate the step in Spoon and re-enter the regex fields.","Upgrade to a matching Pentaho version if the file came from a newer release."],"exampleFix":"<!-- before: invalid type code -->\n<field_type>strng</field_type>\n<!-- after: valid type code -->\n<field_type>String</field_type>","handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":["xml","deserialization","metadata"],"backgroundTag":"xml-parse-error","analyzedSha":"f3058517a153da500bf4551f46d79b91bf8ec552","analyzedAt":"2026-09-13T14:04:16.340Z","contentChangedAt":"2026-09-13T14:04:16.340Z","schemaVersion":2},"datasetVersion":"2026-09-20T23:17:15.980Z"}