apache > cocoon

- Home

# Notifying Generator

The notifying generator creates XML content describing an error condition. When an error occurs in a pipeline with a defined an error handler, the sitemap manager activates the error generator, feeding it the cause of the error.

- Name : <notifier>
- Class: org.apache.cocoon.sitemap.NotifyingGenerator
- Cacheable: No.
- Mode: Sitemap internal

## DTD

XML generated by notifying generator uses the namespace `http://apache.org/cocoon/error/2.0` and the `error` prefix.

Usually the error condition is described by a throwable object. The information of this throwable object is used by the error generator to produce the xml content. The various elements of the xml content include the following.

- The element `notify` is the root element, having attributes `type` and `sender`. The attribute `type` has fixed value `error`. The attribute `sender` describes the sender of the error notification object. In the current implementation, it has fixed value `org.apache.cocoon.sitemap.ErrorNotifier`.
- The element `title` stores the title of the eror notification. In the current implementation, it has fixed value `Cocoon error`.
- The `source` element stores the class name of the throwable object of the error notification.
- The `message` element stores the `getMessage()` result of the throwable object of the error notification, and may be empty.
- The `description` element stores the `toString()` result of the throwable object of the error notification.
- Optional `extra` elements stores nested exceptions of the throwable object of the error notification.

    <!ELEMENT notify (title, source, message, description, extra*)>
    <!ATTLIST notiy
      type CDATA #REQUIRED
      sender CDATA #REQUIRED
    >
    <!ELEMENT title #PCDATA>
    <!ELEMENT source #PCDATA>
    <!ELEMENT message #PCDATA>
    <!ELEMENT description #PCDATA>
    <!ELEMENT extra #PCDATA>
    <!ATTLIST extra description #CDATA>
    <!ELEMENT statusinfo (group|value)*>

## Example

The following example outputs the xml content of an error generator:

    <?xml version="1.0"
     encoding="UTF-8"?>

    <error:notify
     error:type="error"
     error:sender="org.apache.cocoon.sitemap.ErrorNotifier"
     xmlns:error="http://apache.org/cocoon/error/2.0">

     <error:title>Cocoon error</error:title>
     <error:source>java.lang.NullPointerException</error:source>
     <error:message></error:message>
     <error:description></error:description>
     <error:extra description=""></error:extra>
    </error:notify>

Errors and Improvements? If you see any errors or potential improvements in this document please help us: View, Edit or comment on the latest development version (registration required).