๐ท OIC XSLT: Validate Fields Before Executing Logic
๐น Requirement
Fields: field1, field2, field3, field4, field5
✔ Execute only when: At least one field has a value
AND no provided field is empty (including spaces)
๐น Final XSLT
XML
<xsl:if test="
(
string-length(normalize-space(field1)) > 0 or
string-length(normalize-space(field2)) > 0 or
string-length(normalize-space(field3)) > 0 or
string-length(normalize-space(field4)) > 0 or
string-length(normalize-space(field5)) > 0
)
and
(
(not(field1) or string-length(normalize-space(field1)) > 0) and
(not(field2) or string-length(normalize-space(field2)) > 0) and
(not(field3) or string-length(normalize-space(field3)) > 0) and
(not(field4) or string-length(normalize-space(field4)) > 0) and
(not(field5) or string-length(normalize-space(field5)) > 0)
)
">
<!-- Execute logic -->
</xsl:if>
๐น Key Idea (1 Line)
๐ Run only if:
At least one field has non-space value AND no field is empty/blank
๐น Why normalize-space() Matters
Converts " " → ""
Prevents false positives from whitespace
Ensures clean validation in OIC payloads
๐น Quick Examples
Input == Result
<root/>❌ Skip
<field1> </field1> ❌ Skip
<field1>ABC</field1> ✅ Execute
<field1>ABC</field1><field2> </field2> ❌ Skip
No comments:
Post a Comment