If there is no XML response returned, signal an emptyResponse
error. If the XML response does not follow the format as outlined
in Appendix A of the spec prose document linked in the
overview summary signal a malformedError error. Refer to
section "Signaling Errors" in Chapter 13 of the spec prose document linked in the
overview summary.
If the response was successfully processed, send a success
event as outlined in Chapter 13 "Sending Events" section of the spec prose
document linked in the
overview summary.
Update Element Processing
The update element is used to update a single DOM element. The
"id" attribute of the update element refers to the DOM element that
will be updated. The contents of the CDATA section is the data that
will be used when updating the contents of the DOM element as specified by the
element identifier.
If an element is found in the response
with the identifier javax.faces.ViewRoot:
Update the entire DOM replacing the appropriate head and/or
body sections with the content from the response.
If an
element is found in the
response with an identifier containing
javax.faces.ViewState:
locate and update the submitting form's
javax.faces.ViewState value with the
CDATA contents from the response.
UINamingContainer.getSeparatorChar().
is the return from
UIViewRoot.getContainerClientId() on the
view from whence this state originated.
is a number that must be
unique within this view, but must not be included in the
view state. This requirement is simply to satisfy XML
correctness in parity with what is done in the
corresponding non-partial JSF view. Locate and update
the javax.faces.ViewState value for all
forms specified in the render target
list.
If an
update element is found in the response with
an identifier containing
javax.faces.ClientWindow:
locate and update the submitting form's
javax.faces.ClientWindow value with the
CDATA contents from the response.
UINamingContainer.getSeparatorChar().
is the return from
UIViewRoot.getContainerClientId() on the
view from whence this state originated.
is a number that must be
unique within this view, but must not be included in the
view state. This requirement is simply to satisfy XML
correctness in parity with what is done in the
corresponding non-partial JSF view. Locate and update
the javax.faces.ClientWindow value for all
forms specified in the render target
list.
If an update element is found in the response with the identifier
javax.faces.ViewHead:
update the document's head section with the CDATA
contents from the response.
If an update element is found in the response with the identifier
javax.faces.ViewBody:
update the document's body section with the CDATA
contents from the response.
For any other element:
Find the DOM element with the identifier that matches the
element identifier, and replace its contents with
the element's CDATA contents.
Insert Element Processing
If an element is found in
the response with a nested
element:
Extract this element's CDATA contents
from the response.
Find the DOM element whose identifier matches before id and insert
the element's CDATA content before
the DOM element in the document.
If an element is found in
the response with a nested
element:
Extract this element's CDATA contents
from the response.
Find the DOM element whose identifier matches after id and insert
the element's CDATA content after
the DOM element in the document.
Delete Element Processing
If a element is found in the response:
Find the DOM element whose identifier matches delete id and remove it
from the DOM.
Element Attribute Update Processing
If an element is found in the response:
...
</attributes>
Find the DOM element that matches the identifier.
For each nested element in ,
update the DOM element attribute value (whose name matches attribute name),
with attribute value.
JavaScript Processing
If an element is found in the response:
Extract this element's CDATA contents
from the response and execute it as if it were JavaScript code.
Redirect Processing
If a element is found in the response:
Cause a redirect to the url redirect url.
Error Processing
If an element is found in the response:
..fully qualified class name string...
Extract this element's error-name contents
and the error-message contents. Signal a serverError passing
the errorName and errorMessage. Refer to
section "Signaling Errors" in Chapter 13 of the spec prose document linked in the
overview summary.
Extensions
The element provides a way for framework
implementations to provide their own information.
The implementation must check if elements in the response can
be automatically run, as some browsers support this feature and some do not.
If they can not be run, then scripts should be extracted from the response and
run separately.