conditions: complex expression language with "&&" do not compile

Description

Using && in complex expression language conditions do not work anymore.

Using the example from https://izpack.atlassian.net/wiki/display/IZPACK/Conditions

gives

ERROR: 'The entity name must immediately follow the '&' in the entity reference.'
ERROR: 'com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: The entity name must immediately follow the '&' in the entity reference.'

The problem is caused by xml parsing in com.izforge.izpack.api.adaptator.impl.XMLParser.parseLineNrFromInputSource(InputSource)

Expressions without and-Condition && do work.

Environment

None

Activity

Show:
Zdeněk Vaník
June 27, 2016, 3:49 PM
Edited

At the moment due to the XML parser it has to be escaped -

because parser expects predefined or manually defined entity name after & character. It works then.
The double ampersand is very unfortunate choice So maybe it would be better to suggest a better operator for "and" just for the sake of XML readability.

René Krell
January 27, 2017, 9:55 AM

This works as designed, or has been forgotten when designing the extended condition expression language.
There is no way around it without changing the syntax of the condition expression language.

Not A Bug

Assignee

Unassigned

Reporter

Tom Helpstone

Impact

None

Components

Affects versions

Priority

Medium
Configure