diff --git a/spring-faces/src/main/resources/META-INF/spring.schemas b/spring-faces/src/main/resources/META-INF/spring.schemas
index a87f14d6..c0e8326d 100644
--- a/spring-faces/src/main/resources/META-INF/spring.schemas
+++ b/spring-faces/src/main/resources/META-INF/spring.schemas
@@ -1,4 +1,4 @@
-http\://www.springframework.org/schema/faces/spring-faces-2.0.xsd=org/springframework/faces/config/spring-faces-2.0.xsd
-http\://www.springframework.org/schema/faces/spring-faces-2.2.xsd=org/springframework/faces/config/spring-faces-2.2.xsd
-http\://www.springframework.org/schema/faces/spring-faces-2.4.xsd=org/springframework/faces/config/spring-faces-2.4.xsd
-http\://www.springframework.org/schema/faces/spring-faces.xsd=org/springframework/faces/config/spring-faces-2.4.xsd
\ No newline at end of file
+http\://www.springframework.org/schema/faces/spring-faces-2.0.xsd=org/springframework/faces/config/spring-faces.xsd
+http\://www.springframework.org/schema/faces/spring-faces-2.2.xsd=org/springframework/faces/config/spring-faces.xsd
+http\://www.springframework.org/schema/faces/spring-faces-2.4.xsd=org/springframework/faces/config/spring-faces.xsd
+http\://www.springframework.org/schema/faces/spring-faces.xsd=org/springframework/faces/config/spring-faces.xsd
\ No newline at end of file
diff --git a/spring-faces/src/main/resources/org/springframework/faces/config/spring-faces-2.0.xsd b/spring-faces/src/main/resources/org/springframework/faces/config/spring-faces-2.0.xsd
deleted file mode 100644
index 445d1b06..00000000
--- a/spring-faces/src/main/resources/org/springframework/faces/config/spring-faces-2.0.xsd
+++ /dev/null
@@ -1,76 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/spring-faces/src/main/resources/org/springframework/faces/config/spring-faces-2.2.xsd b/spring-faces/src/main/resources/org/springframework/faces/config/spring-faces-2.2.xsd
deleted file mode 100644
index 7955a2be..00000000
--- a/spring-faces/src/main/resources/org/springframework/faces/config/spring-faces-2.2.xsd
+++ /dev/null
@@ -1,97 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/spring-faces/src/main/resources/org/springframework/faces/config/spring-faces-2.4.xsd b/spring-faces/src/main/resources/org/springframework/faces/config/spring-faces.xsd
similarity index 98%
rename from spring-faces/src/main/resources/org/springframework/faces/config/spring-faces-2.4.xsd
rename to spring-faces/src/main/resources/org/springframework/faces/config/spring-faces.xsd
index 02261301..e6572fa6 100644
--- a/spring-faces/src/main/resources/org/springframework/faces/config/spring-faces-2.4.xsd
+++ b/spring-faces/src/main/resources/org/springframework/faces/config/spring-faces.xsd
@@ -4,10 +4,9 @@
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:beans="http://www.springframework.org/schema/beans"
targetNamespace="http://www.springframework.org/schema/faces"
- elementFormDefault="qualified" attributeFormDefault="unqualified"
- version="2.4">
+ elementFormDefault="qualified" attributeFormDefault="unqualified">
-
+
diff --git a/spring-faces/src/test/java/org/springframework/faces/config/flow-builder-services.xml b/spring-faces/src/test/java/org/springframework/faces/config/flow-builder-services.xml
index 1f85ccf0..be22671d 100644
--- a/spring-faces/src/test/java/org/springframework/faces/config/flow-builder-services.xml
+++ b/spring-faces/src/test/java/org/springframework/faces/config/flow-builder-services.xml
@@ -6,7 +6,7 @@
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/faces
- http://www.springframework.org/schema/faces/spring-faces-2.4.xsd">
+ http://www.springframework.org/schema/faces/spring-faces.xsd">
diff --git a/spring-faces/src/test/java/org/springframework/faces/config/resources.xml b/spring-faces/src/test/java/org/springframework/faces/config/resources.xml
index f76088f9..df387639 100644
--- a/spring-faces/src/test/java/org/springframework/faces/config/resources.xml
+++ b/spring-faces/src/test/java/org/springframework/faces/config/resources.xml
@@ -4,7 +4,7 @@
xmlns:faces="http://www.springframework.org/schema/faces"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
- http://www.springframework.org/schema/faces http://www.springframework.org/schema/faces/spring-faces-2.2.xsd">
+ http://www.springframework.org/schema/faces http://www.springframework.org/schema/faces/spring-faces.xsd">
diff --git a/spring-faces/src/test/java/org/springframework/faces/webflow/jsf-flow-beans.xml b/spring-faces/src/test/java/org/springframework/faces/webflow/jsf-flow-beans.xml
index ef9de169..8246ff20 100644
--- a/spring-faces/src/test/java/org/springframework/faces/webflow/jsf-flow-beans.xml
+++ b/spring-faces/src/test/java/org/springframework/faces/webflow/jsf-flow-beans.xml
@@ -4,9 +4,9 @@
xmlns:flow="http://www.springframework.org/schema/webflow-config"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
+ http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/webflow-config
- http://www.springframework.org/schema/webflow-config/spring-webflow-config-2.0.xsd">
+ http://www.springframework.org/schema/webflow-config/spring-webflow-config.xsd">
diff --git a/spring-webflow/src/main/java/org/springframework/webflow/engine/model/builder/xml/WebFlowEntityResolver.java b/spring-webflow/src/main/java/org/springframework/webflow/engine/model/builder/xml/WebFlowEntityResolver.java
index 1dddd44b..607e3639 100644
--- a/spring-webflow/src/main/java/org/springframework/webflow/engine/model/builder/xml/WebFlowEntityResolver.java
+++ b/spring-webflow/src/main/java/org/springframework/webflow/engine/model/builder/xml/WebFlowEntityResolver.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2004-2012 the original author or authors.
+ * Copyright 2004-2018 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -41,16 +41,18 @@ import org.xml.sax.SAXException;
*/
class WebFlowEntityResolver implements EntityResolver {
+ private static final String SPRING_WEBFLOW_XSD = "spring-webflow.xsd";
+
private static final String[] WEBFLOW_VERSIONS = new String[] { "spring-webflow-2.4", "spring-webflow-2.0" };
- public InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException {
- if (systemId != null && systemId.indexOf("spring-webflow.xsd") > -1) {
- return createInputSource(publicId, systemId, WEBFLOW_VERSIONS[0] + ".xsd");
+
+ public InputSource resolveEntity(String publicId, String systemId) {
+ if (systemId != null && systemId.contains(SPRING_WEBFLOW_XSD)) {
+ return createInputSource(publicId, systemId, SPRING_WEBFLOW_XSD);
}
for (String element : WEBFLOW_VERSIONS) {
if (systemId != null && systemId.indexOf(element) > systemId.lastIndexOf("/")) {
- String fileName = systemId.substring(systemId.indexOf(element));
- return createInputSource(publicId, systemId, fileName);
+ return createInputSource(publicId, systemId, SPRING_WEBFLOW_XSD);
}
}
// let the parser handle it
diff --git a/spring-webflow/src/main/java/org/springframework/webflow/engine/model/builder/xml/package-info.java b/spring-webflow/src/main/java/org/springframework/webflow/engine/model/builder/xml/package-info.java
index ca930cde..01c12ad8 100644
--- a/spring-webflow/src/main/java/org/springframework/webflow/engine/model/builder/xml/package-info.java
+++ b/spring-webflow/src/main/java/org/springframework/webflow/engine/model/builder/xml/package-info.java
@@ -18,7 +18,7 @@
* Defines the XmlFlowModelBuilder, for building FlowModels from XML-based resources.
*
*
This package also contains the definition of the XML-based flow definition language, defined within
- * {@code spring-webflow-2.4.xsd}. See this schema for a detailed description of language elements.
+ * {@code spring-webflow.xsd}. See this schema for a detailed description of language elements.
*/
package org.springframework.webflow.engine.model.builder.xml;
diff --git a/spring-webflow/src/main/resources/META-INF/spring.schemas b/spring-webflow/src/main/resources/META-INF/spring.schemas
index dae657a7..11e3d341 100644
--- a/spring-webflow/src/main/resources/META-INF/spring.schemas
+++ b/spring-webflow/src/main/resources/META-INF/spring.schemas
@@ -1,4 +1,4 @@
-http\://www.springframework.org/schema/webflow-config/spring-webflow-config-2.0.xsd=org/springframework/webflow/config/spring-webflow-config-2.0.xsd
-http\://www.springframework.org/schema/webflow-config/spring-webflow-config-2.3.xsd=org/springframework/webflow/config/spring-webflow-config-2.3.xsd
-http\://www.springframework.org/schema/webflow-config/spring-webflow-config-2.4.xsd=org/springframework/webflow/config/spring-webflow-config-2.4.xsd
-http\://www.springframework.org/schema/webflow-config/spring-webflow-config.xsd=org/springframework/webflow/config/spring-webflow-config-2.4.xsd
\ No newline at end of file
+http\://www.springframework.org/schema/webflow-config/spring-webflow-config-2.0.xsd=org/springframework/webflow/config/spring-webflow-config.xsd
+http\://www.springframework.org/schema/webflow-config/spring-webflow-config-2.3.xsd=org/springframework/webflow/config/spring-webflow-config.xsd
+http\://www.springframework.org/schema/webflow-config/spring-webflow-config-2.4.xsd=org/springframework/webflow/config/spring-webflow-config.xsd
+http\://www.springframework.org/schema/webflow-config/spring-webflow-config.xsd=org/springframework/webflow/config/spring-webflow-config.xsd
\ No newline at end of file
diff --git a/spring-webflow/src/main/resources/org/springframework/webflow/config/spring-webflow-config-2.0.xsd b/spring-webflow/src/main/resources/org/springframework/webflow/config/spring-webflow-config-2.0.xsd
deleted file mode 100644
index 1fac1a1c..00000000
--- a/spring-webflow/src/main/resources/org/springframework/webflow/config/spring-webflow-config-2.0.xsd
+++ /dev/null
@@ -1,438 +0,0 @@
-
-
-
-
-
-
-A XML-based DSL for configuring the Spring Web Flow 2.0 system.
-]]>
-
-
-
-
-
-
-
-
-
-Each flow definition registered in this registry is assigned a unique identifier. By default,
-this identifier is the name of the externalized resource minus its file extension. For example,
-a registry containing flow definitions built from the files "orderitem-flow.xml" and "shipping-flow.xml"
-would index those definitions by "orderitem-flow" and "shipping-flow" by default.
-]]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/spring-webflow/src/main/resources/org/springframework/webflow/config/spring-webflow-config-2.3.xsd b/spring-webflow/src/main/resources/org/springframework/webflow/config/spring-webflow-config-2.3.xsd
deleted file mode 100644
index a9640aed..00000000
--- a/spring-webflow/src/main/resources/org/springframework/webflow/config/spring-webflow-config-2.3.xsd
+++ /dev/null
@@ -1,490 +0,0 @@
-
-
-
-
-
-
-A XML-based DSL for configuring the Spring Web Flow 2.0 system.
-]]>
-
-
-
-
-
-
-
-
-
-
-Each flow definition registered in this registry is assigned a unique identifier. By default,
-this identifier is the name of the externalized resource minus its file extension. For example,
-a registry containing flow definitions built from the files "orderitem-flow.xml" and "shipping-flow.xml"
-would index those definitions by "orderitem-flow" and "shipping-flow" by default.
-]]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/spring-webflow/src/main/resources/org/springframework/webflow/config/spring-webflow-config-2.4.xsd b/spring-webflow/src/main/resources/org/springframework/webflow/config/spring-webflow-config.xsd
similarity index 99%
rename from spring-webflow/src/main/resources/org/springframework/webflow/config/spring-webflow-config-2.4.xsd
rename to spring-webflow/src/main/resources/org/springframework/webflow/config/spring-webflow-config.xsd
index d307a2d6..44b9e513 100644
--- a/spring-webflow/src/main/resources/org/springframework/webflow/config/spring-webflow-config-2.4.xsd
+++ b/spring-webflow/src/main/resources/org/springframework/webflow/config/spring-webflow-config.xsd
@@ -5,8 +5,7 @@
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:tool="http://www.springframework.org/schema/tool"
targetNamespace="http://www.springframework.org/schema/webflow-config"
- elementFormDefault="qualified" attributeFormDefault="unqualified"
- version="2.4">
+ elementFormDefault="qualified" attributeFormDefault="unqualified">
@@ -19,7 +18,7 @@ A XML-based DSL for configuring the Spring Web Flow 2.0 system.
-
+
diff --git a/spring-webflow/src/main/resources/org/springframework/webflow/engine/model/builder/xml/spring-webflow-2.0.xsd b/spring-webflow/src/main/resources/org/springframework/webflow/engine/model/builder/xml/spring-webflow-2.0.xsd
deleted file mode 100644
index 130caeca..00000000
--- a/spring-webflow/src/main/resources/org/springframework/webflow/engine/model/builder/xml/spring-webflow-2.0.xsd
+++ /dev/null
@@ -1,1584 +0,0 @@
-
-
-
-
-
-
-This schema defines Spring Web Flow's XML-based flow definition language.
-
-The root "flow" element in this document defines exactly one flow definition.
-A flow definition is a blueprint for a carrying out a conversation with a single user.
-
-A flow is composed of one or more states that form the steps of the flow.
-Each state executes a behavior when entered. What behavior is executed is a
-function of the state's type. Core state types include view states,
-action states, subflow states, decision states, and end states.
-
-A flow definition has exactly one start state.
-Events that occur within states drive state transitions.
-]]>
-
-
-
-
-
-
-
-
-
-
-A flow may also exhibit the following characteristics:
-
-
Be annotated with attributes that define descriptive properties that may affect flow execution.
-(See the <attribute/> element)
-
-
Be secured
-(See the <secured/> element)
-
-
Be a persistence context for managing persistent objects during the course of flow execution.
-(See the <persistence-context/> element)
-
-
Instantiate a set of instance variables when started.
-(See the <var/> element)
-
-
Map input provided by callers that start it
-(See the <input/> element)
-
-
Return output to callers that end it.
-(See the <output/> element)
-
-
Execute actions at start time and end time.
-(See the <on-start/> and <on-end/> elements)
-
-
Define transitions shared by all states.
-(See the <global-transitions/> element)
-
-
Handle exceptions thrown by during flow execution.
-(See the <exception-handler/> element)
-
-
Import one or more local bean definition files defining custom flow artifacts
-(such as actions, exception handlers, view factories, transition criteria, etc).
-(See the <bean-import/> element)
-
-]]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-The persistence context can be referenced from within this flow by the "entityManager" variable.
-]]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- .
-If inheriting from a state defined in another flow, the flowId prefix is required.
-If inheriting from a state defined in this flow, the flowId should not be specified.
-For example,
-]]>
-
-
-
-
-
-
-
-
-
-Once paused, a view-state may be 'refreshed' by the user.
-A refresh causes the response to be reissued and then returns control back to the user.
-
-A view state may be configured with one or more render-actions using the 'on-render' element.
-Render actions are executed immediately before the view is rendered.
-
-A view state is a transitionable state.
-A view state transition is triggered by a user event.
-]]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- .
-If inheriting from a state defined in another flow, the flowId prefix is required.
-If inheriting from a state defined in this flow, the flowId should not be specified.
-For example,
-]]>
-
-
-
-
-
-
-
- priceForm.jsp
-
-Can also be an evaluatable expression:
-
- #{flowScope.myViewExpression}
-
-The externalRedirect: prefix may be used to redirect to an external location, typically to interface with an external system or controller.
-External redirect query parameters may be specified using #{expressions} that evaluate against the request context.
-The supported formats for an encoded externalRedirect expression are:
-
-For exotic usages, you may plug in a custom ViewFactory bean you define:
-
- #{myCustomViewFactory}
-
-When this attribute is not specified, the view to render will be determined by convention.
-The default convention is to treat the id of this view state as the view identifier.
-]]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-A decision state is a transitionable state.
-A decision state transition can be triggered by evaluating a boolean expression against the flow execution request context.
-To define transition expressions, use the 'if' element.
-
-Examples:
-
-A simple boolean expression test, using the convenient 'if' element:
-
-]]>
-
-
-
-
-
-
-
- <if test="sale.requiresShipping" then="enterShippingDetails"/>
-
-]]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- .
-If inheriting from a state defined in another flow, the flowId prefix is required.
-If inheriting from a state defined in this flow, the flowId should not be specified.
-For example,
-]]>
-
-
-
-
-
-
-
-
-
-A subflow state is a transitionable state.
-A transition is triggered by the subflow outcome that was reached.
-]]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- .
-If inheriting from a state defined in another flow, the flowId prefix is required.
-If inheriting from a state defined in this flow, the flowId should not be specified.
-For example,
-]]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-An end state is not transitionable; there are never transitions out of an end state.
-When an end-state is entered, an instance of this flow is terminated.
-
-When this flow terminates, if it was the "root" flow the entire execution is terminated.
-If this flow was a subflow, its parent flow resumes.
-]]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- .
-If inheriting from a state defined in another flow, the flowId prefix is required.
-If inheriting from a state defined in this flow, the flowId should not be specified.
-For example,
-]]>
-
-
-
-
-
-
-
- priceForm.jsp
-
-It can also be an evaluatable expression:
-
- #{flowScope.myViewExpression}
-
-The externalRedirect: prefix may be used to request a redirect to an external location, typically to interface with an external system or controller.
-External redirect query parameters may be specified using #{expressions} that evaluate against the request context.
-The supported formats for an encoded externalRedirect expression are:
-