throws IOException
{
final XmlWriter writer = getXmlWriter();
if (expression instanceof FormulaExpression)
{
final FormulaExpression fe = (FormulaExpression) expression;
final AttributeList properties = new AttributeList();
if (expression.getName() != null)
{
properties.setAttribute(ExtParserModule.NAMESPACE, "name", expression.getName());
}
properties.setAttribute(ExtParserModule.NAMESPACE, "formula", fe.getFormula());
if (expression.getDependencyLevel() > 0)
{
properties.setAttribute(ExtParserModule.NAMESPACE, "deplevel", String.valueOf(
expression.getDependencyLevel()));
}
writer.writeTag(ExtParserModule.NAMESPACE, FunctionsWriter.EXPRESSION_TAG, properties, XmlWriterSupport.CLOSE);
return;
}
if (expression instanceof FormulaFunction)
{
final FormulaFunction fe = (FormulaFunction) expression;
final AttributeList properties = new AttributeList();
if (expression.getName() != null)
{
properties.setAttribute(ExtParserModule.NAMESPACE, "name", expression.getName());
}
properties.setAttribute(ExtParserModule.NAMESPACE, "formula", fe.getFormula());
properties.setAttribute(ExtParserModule.NAMESPACE, "initial", fe.getInitial());
if (expression.getDependencyLevel() > 0)
{
properties.setAttribute(ExtParserModule.NAMESPACE, "deplevel", String.valueOf(
expression.getDependencyLevel()));
}