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

<!-- Authors: Chris Taylor, Ceki Gulcu. -->

<!-- A configuration element consists of optional renderer
elements,appender elements, categories and an optional root
element. -->

<!ELEMENT log4j:configuration (renderer*, appender*,category*,root?)>

<!-- The disable attribute takes a priority value such that all -->
<!-- logging statements with a prioroty equal or below this value are -->
<!-- disabled. -->

<!-- The disableOverride attribute allows the user to override any   -->
<!-- BasicConfigurator.disable invocations made from within the      -->
<!-- application.                                                    -->
     
<!-- By default, disableOverride is "null", meaning that we          -->
<!-- do not touch the disable flag.                                  -->
     
<!-- Setting the "debug" or "configDebug" attributes enable the printing --> 
<!-- of internal log4j logging statements.                               -->
<!-- The "debug" and "configDebug" attributes are equivalent altough     -->
<!-- the latter is deprecated and should no longer be used.              -->
<!-- By default, debug and configDebug attributes are "null", meaning    -->
<!-- that we not touch internal log4j logging settings.                  --> 

     
<!ATTLIST log4j:configuration
  xmlns:log4j              CDATA #FIXED "http://jakarta.apache.org/log4j/" 
  disable                  (debug|info|warn|error|fatal|null)  "null"
  disableOverride          (true|false|null)  "null"
  debug                    (true|false|null)  "null"
  configDebug              (true|false|null)  "null"
>


<!-- DEPRECATED DEPRECATED DEPRECATED DEPRECATED DEPRECATED DEPRECATED -->
<!-- WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING   -->
<!-- DEPRECATED DEPRECATED DEPRECATED DEPRECATED DEPRECATED DEPRECATED -->

<!-- Use "log4j:configuration" above instead of the "configuration" -->
<!-- element. -->

<!-- DEPRECATED DEPRECATED DEPRECATED DEPRECATED DEPRECATED DEPRECATED -->
<!-- WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING   -->
<!-- DEPRECATED DEPRECATED DEPRECATED DEPRECATED DEPRECATED DEPRECATED -->

<!ELEMENT configuration (renderer*, appender*,category*,root?)>
<!ATTLIST configuration
  disable                  (debug|info|warn|error|fatal|null)  "null"
  disableOverride          (true|false|null)  "null"
  configDebug              (true|false|null)  "null"
>


<!-- renderer elements allow the user to customize the conversion of  -->
<!-- message objects to String.                                       -->

<!ELEMENT renderer EMPTY>
<!ATTLIST renderer
  renderedClass  CDATA #REQUIRED
  renderingClass CDATA #REQUIRED
>

<!-- Appenders must have a name and a class. -->
<!-- Appenders may contain an error handler, a layout, optional parameters -->
<!-- and filters. They may also reference (or include) other appenders. -->
<!ELEMENT appender (errorHandler?, param*, layout?, filter*, appender-ref*)>
<!ATTLIST appender
  name 		ID 	#REQUIRED
  class 	CDATA	#REQUIRED
>

<!ELEMENT layout (param*)>
<!ATTLIST layout
  class		CDATA	#REQUIRED
>



<!ELEMENT filter (param*)>
<!ATTLIST filter
  class		CDATA	#REQUIRED
>


<!-- ErrorHandlers can be of any class. They can admit any number of -->
<!-- parameters. -->

<!ELEMENT errorHandler (param*)> 
<!ATTLIST errorHandler
   class        CDATA   #REQUIRED 
>



<!ELEMENT param EMPTY>
<!ATTLIST param
  name		CDATA   #REQUIRED
  value		CDATA	#REQUIRED
>

<!-- The priority class is org.apache.log4j.Priority by default -->
<!ELEMENT priority (param*)>
<!ATTLIST priority
  class   CDATA	#IMPLIED
  value	  CDATA #REQUIRED
>

<!-- If no priority element is specified, then the configurator MUST not -->
<!-- touch the priority of the named category. -->
<!ELEMENT category (param*, priority?, appender-ref*)>
<!ATTLIST category
  class         CDATA   #IMPLIED
  name		CDATA	#REQUIRED
  additivity	(true|false) "true"  
>

<!ELEMENT appender-ref EMPTY>
<!ATTLIST appender-ref
  ref IDREF #REQUIRED
>

<!-- If no priority element is specified, then the configurator MUST not -->
<!-- touch the priority of root. -->
<!-- The root category always exists and cannot be subclassed. -->
<!ELEMENT root (param*, priority?, appender-ref*)>



<!-- ==================================================================== -->
<!--                       A logging event                                -->
<!-- ==================================================================== -->
<!ELEMENT log4j:eventSet (log4j:event*)>
<!ATTLIST log4j:eventSet
  includesLocationInfo   (true|false) "true"
>



<!ELEMENT log4j:event (log4j:message, log4j:NDC?, log4j:throwable?, 
                       log4j:locationInfo?) >

<!-- The timestamp format is application dependent. -->
<!ATTLIST log4j:event
    category   CDATA #REQUIRED
    priority   CDATA #REQUIRED
    thread     CDATA #REQUIRED
    timestamp  CDATA #REQUIRED
>

<!ELEMENT log4j:message (#PCDATA)>
<!ELEMENT log4j:NDC (#PCDATA)>

<!ELEMENT log4j:throwable (#PCDATA)>

<!ELEMENT log4j:locationInfo EMPTY>
<!ATTLIST log4j:locationInfo
  class  CDATA	#REQUIRED
  method CDATA	#REQUIRED
  file   CDATA	#REQUIRED
  line   CDATA	#REQUIRED
>