1<?xml version="1.0" encoding="UTF-8" ?> 2 3<!-- This adds some functionality onto the log4j.dtd --> 4<!-- Authors: Kevin Goess --> 5<!-- Version: 1.0 --> 6 7 8<!-- include the log4j dtd --> 9<!ENTITY % log4j.dtd SYSTEM "log4j-1.2.dtd"> 10%log4j.dtd; 11 12 13<!-- overriding log4j:configuration with log4perl:configuration 14 so that we can use a log4perl:appender --> 15<!ELEMENT log4perl:configuration (renderer*, log4perl:appender*, appender*, 16 (log4perl:filter)*,(category|logger)*,root?, PatternLayout?)> 17 18<!ATTLIST log4perl:configuration 19 xmlns:log4perl CDATA #FIXED "http://log4perl.sourceforge.net/" 20 threshold (all|debug|info|warn|error|fatal|off|null) "null" 21 debug (true|false|null) "null" 22 oneMessagePerAppender (true|false|null) "null" 23> 24 25 26<!-- overriding log4j's appender with log4perl:appender so can include 27 other kinds of param structures --> 28<!ELEMENT log4perl:appender (errorHandler?, (param|param-nested|param-text)*, 29 (layout|log4perl:layout)?, filter*, filter-ref*, appender-ref*)> 30<!ATTLIST log4perl:appender 31 xmlns:log4perl CDATA #FIXED "http://log4perl.sourceforge.net/" 32 name ID #REQUIRED 33 class CDATA #REQUIRED 34> 35 36<!-- a complex param type --> 37<!ELEMENT param-nested ((param|param-nested|param-text)+)> 38<!ATTLIST param-nested 39 name CDATA #REQUIRED 40> 41 42 43<!-- so you can put the value in the text instead of always having to 44 put it in the attribute --> 45<!ELEMENT param-text (#PCDATA)> 46<!ATTLIST param-text 47 name CDATA #REQUIRED 48> 49 50<!-- a top-level PatternLayout to handle global cspecs --> 51<!ELEMENT PatternLayout (cspec+)> 52 53<!-- custom conversion specifiers --> 54<!ELEMENT cspec (#PCDATA)> 55<!ATTLIST cspec 56 name CDATA #REQUIRED 57> 58 59 60<!ELEMENT log4perl:layout ((param|cspec)*)> 61<!ATTLIST log4perl:layout 62 class CDATA #REQUIRED 63> 64 65<!-- This is the filter at the document root, as opposed to the appender 66 children filters. This implement the log4perl-specific boolean appenders 67--> 68<!ELEMENT log4perl:filter (#PCDATA|param|param-nested|param-text)*> 69<!ATTLIST log4perl:filter 70 class CDATA #IMPLIED 71 name CDATA #IMPLIED 72 value CDATA #IMPLIED 73> 74 75<!ELEMENT filter-ref EMPTY> 76<!ATTLIST filter-ref id NMTOKEN #REQUIRED> 77 78