If I were in your case I would like to implement my own version of a declarative language, now days declarative languages (and functional languages also) are becoming the most popular, first because their usage is very simple, after because you write small code with them, and finally because the usage of XML is for now so extended. For example Microsoft XAML, XSTL, XSL-FO and my favorite JSTL:
Why you don't write some interpreter of JSTL, I don't think it could require the most complex code to be parsed, could it?
<c:choose>
<c:when test="${param.action == 'my_id_command'}">
<%int col=0;
String strElements = request.getParameter("icount");
int iElements = (int)Integer.valueOf(strElements).intValue();
%>
<c:set var="continue">yes</c:set>
<%for(col=0; col<iElements; col++){%>
<c:set var="c"><%=col%></c:set>
<sql:query var="dtcount">
SELECT family_name
FROM families
WHERE family_name = '<c:out value="${paramValues['arr_family_name'][c]}" />'
</sql:query>
<c:if test="${dtcount.rowCount>=1}">
<span class="sqlbadresult">
xxx FAIL: key value [<c:out value="${paramValues['arr_family_name'][c]}" />] already exist xxx <br/>
xxx 0 items added xxx
</span>
<c:set var="continue">no</c:set>
</c:if>
<%}%>
<c:if test="${continue=='yes'}">
<sql:transaction>
<%col=0;%>
<c:forEach items="${paramValues.arr_family_name}" var="pval">
<c:set var="c"><%=col%></c:set>
<sql:update var="updateCount">
INSERT INTO some_table(
group_name,
family_name,
description,
reg_date
)VALUES(
'<c:out value="${paramValues['arr_group_name'][c]}" />',
'<c:out value="${paramValues['arr_family_name'][c]}" />',
'<c:out value="${paramValues['arr_description'][c]}" />',
'<c:out value="${fDate}"/>'
)
</sql:update>
<%col++;%>
</c:forEach>
</sql:transaction>
<sql:query var="dtcheck">
SELECT reg_date
FROM some_table
WHERE reg_date = '<c:out value="${fDate}"/>'
</sql:query>
<c:if test="${dtcheck.rowCount == param.icount}">
<span class="sqlresult">
!! <c:out value="${dtcheck.rowCount}"/> rows inserted successfully !!
</span>
</c:if>
<c:if test="${dtcheck.rowCount != param.icount}">
<span class="sqlbadresult">xxx transaction failed xxx</span>
</c:if>
</c:if>
</c:when>
<c:choose>