{"record":{"id":"0eba8ba4394f7a6c","repo":"flowable/flowable-engine","slug":"error-parsing-input-entry","errorCode":null,"errorMessage":"Error parsing input entry","messagePattern":"Error parsing input entry","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"modules/flowable-dmn-xml-converter/src/main/java/org/flowable/dmn/converter/child/InputEntryParser.java","lineNumber":85,"sourceCode":"                } else if (xtr.isStartElement() && ELEMENT_EXTENSIONS.equals(xtr.getLocalName())) {\n                    while (xtr.hasNext()) {\n                        xtr.next();\n                        if (xtr.isStartElement()) {\n                            DmnExtensionElement extensionElement = DmnXMLUtil.parseExtensionElement(xtr);\n                            migrateExtensionElement(extensionElement, inputClause);\n                            inputEntry.addExtensionElement(extensionElement);\n                        } else if (xtr.isEndElement()) {\n                            if (ELEMENT_EXTENSIONS.equals(xtr.getLocalName())) {\n                                break;\n                            }\n                        }\n                    }\n                } else if (xtr.isEndElement() && getElementName().equalsIgnoreCase(xtr.getLocalName())) {\n                    readyWithInputEntry = true;\n                }\n            }\n        } catch (Exception e) {\n            LOGGER.warn(\"Error parsing input entry\", e);\n        }\n\n        RuleInputClauseContainer ruleInputClauseContainer = new RuleInputClauseContainer();\n        ruleInputClauseContainer.setInputClause(inputClause);\n        ruleInputClauseContainer.setInputEntry(inputEntry);\n\n        rule.addInputEntry(ruleInputClauseContainer);\n    }\n\n    protected void migrateExtensionElement(DmnExtensionElement extensionElement, InputClause inputClause) {\n        if (extensionElement == null || extensionElement.getElementText() == null || extensionElement.getName() == null || inputClause == null\n            || inputClause.getInputExpression() == null) {\n            return;\n        }\n        if (!\"operator\".equals(extensionElement.getName())) {\n            return;\n        }\n","sourceCodeStart":67,"sourceCodeEnd":103,"githubUrl":"https://github.com/flowable/flowable-engine/blob/d6d39ce1c69ff244f2d9dc6af756a9b95e865586/modules/flowable-dmn-xml-converter/src/main/java/org/flowable/dmn/converter/child/InputEntryParser.java#L67-L103","documentation":"Warning logged by InputEntryParser.parseChildElement when an exception is thrown while streaming through the <inputEntry> element of a DMN rule (typically XMLStreamException from malformed XML or unexpected EOF). Flowable logs and continues; the resulting RuleInputClauseContainer gets a null (or partial) inputEntry, so that rule cell evaluates as missing at decision time rather than failing deployment.","triggerScenarios":"While iterating XMLStreamReader events until the </inputEntry> end element, xtr.next()/getLocalName() etc. throw because the XML is malformed, truncated, or the stream ends unexpectedly.","commonSituations":"Invalid characters or unescaped operators (e.g. raw '<', '>') inside input entry expressions in .dmn XML; truncated files; DMN XML produced by incompatible exporter versions.","solutions":["Inspect the attached stack trace for the XMLStreamException and its line/column to locate the bad element.","Escape XML special characters in expressions: use &lt; &gt; &amp; or CDATA instead of raw < and >.","Validate the .dmn file against the DMN XSD before deployment.","Re-export the table from the DMN editor to produce well-formed XML."],"exampleFix":"<!-- before -->\n<inputEntry><text>amount > 100</text></inputEntry>\n<!-- after -->\n<inputEntry><text>amount &gt; 100</text></inputEntry>","handlingStrategy":"validation","validationCode":"// ensure expressions are XML-safe before authoring/serializing\nString safe = rawExpression\n    .replace(\"<\", \"&lt;\").replace(\">\", \"&gt;\").replace(\"&\", \"&amp;\");","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Escape <, >, & in FEEL expressions or use CDATA sections","XSD-validate .dmn resources in CI","Reject/fix any deployment whose logs show 'Error parsing input entry'","Prefer the DMN modeler over manual XML edits"],"tags":["flowable","dmn","xml-parsing","escaping"],"backgroundTag":"schema-validation-failed","analyzedSha":"d6d39ce1c69ff244f2d9dc6af756a9b95e865586","analyzedAt":"2026-09-11T06:41:19.413Z","contentChangedAt":"2026-09-11T06:41:19.413Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}