This seems to sum it up: http://norman.walsh.name/2005/04/01/xinclude
My conclusion is that our XML Schema should allow xml:base everywhere and be done with it. However, this would not help with the current warnings. If we generated beans from our XMLSchema, it would be a different story of course. Gary On Sat, Aug 10, 2013 at 12:52 AM, Ralph Goers <[email protected]>wrote: > I should also point out that the result of allowing XIncludes my end up > not being very satisfying as it isn't great to have a file that looks like > below. For one, the file below won't even work because the definitions in > the xinclude files can't be wrapped in a parent element. Second, the files > have to exist even if they are empty. Third, it is just very disjointed to > have to have 3 files to include the pieces. > > > <configuration status="warn" xmlns:xi="http://www.w3.org/2001/XInclude"> > <properties> > <property name="filename">target/rolling1/rollingtest.log</property> > <xi:include href="conf/log4j-xinclude-properties.xml"/> > </properties> > <ThresholdFilter level="debug"/> > > <appenders> > <Console name="STDOUT"> > <PatternLayout pattern="%m%n"/> > </Console> > <RollingFile name="RollingFile" fileName="${filename}" > > filePattern="target/rolling1/test1-$${date:MM-dd-yyyy}-%i.log.gz"> > <PatternLayout> > <pattern>%d %p %C{1.} [%t] %m%n</pattern> > </PatternLayout> > <SizeBasedTriggeringPolicy size="500" /> > </RollingFile> > <xi:include href="conf/log4j-xinclude-appenders.xml"/> > </appenders> > > <loggers> > <xi:incldue href="conf/log4j-xinclude-loggers.xml"/> > <logger name="org.apache.logging.log4j.test1" level="debug" > additivity="false"> > <ThreadContextMapFilter> > <KeyValuePair key="test" value="123"/> > </ThreadContextMapFilter> > <appender-ref ref="STDOUT"/> > </logger>> > > <logger name="org.apache.logging.log4j.core.appender.rolling" > level="debug" additivity="false"> > <appender-ref ref="RollingFile"/> > </logger>> > > <root level="error"> > <appender-ref ref="STDOUT"/> > </root> > </loggers> > > </configuration> > > > On Aug 9, 2013, at 9:44 PM, Ralph Goers wrote: > > Perform a search on XInclude and xml:base and you will find that this > problem is not unique to what we are doing. XML Schema processing also > fails. Xerces provides a way to disable xml:base but I'm not sure about the > native XML parser. > > I will probably just need to modify XMLConfiguration to ignore xml:base or > anything that starts with xml:. > > Ralph > > > On Aug 9, 2013, at 8:37 PM, Gary Gregory wrote: > > Hello All: > > I've enabled XInclude for XML configurations. > > See https://issues.apache.org/jira/browse/LOG4J2-341 > > The side effect is that the XML configuration incorrectly complains: > > 2013-08-09 23:33:16,085 ERROR appenders contains an invalid element or > attribute "xml:base" > 2013-08-09 23:33:16,090 ERROR loggers contains an invalid element or > attribute "xml:base" > > The "xml:base" attribute is part of the XML standards used by XInclude. > > This seems to be due to the deeply custom XML processing (as opposed to > using JAXB for example) we implement. > > Any ideas on fixing this issue and others of the same type this might > exemplify? > > I wonder of Simone's alternate configuration model would suffer from this > issue? > > Thank you, > Gary > > > > -- E-Mail: [email protected] | [email protected] Java Persistence with Hibernate, Second Edition<http://www.manning.com/bauer3/> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/> Spring Batch in Action <http://www.manning.com/templier/> Blog: http://garygregory.wordpress.com Home: http://garygregory.com/ Tweet! http://twitter.com/GaryGregory
