XML schema or DTD for logback.xml?

JavaXsdLogbackDtdXml

Java Problem Overview


I've seen several discussions on the net about how great it would be to have an XML schema or DTD for logback.xml file to have at least the very basic validation and auto-completion in IDEs like IDEA or Eclipse, but I never saw any solution.

Did you?

Java Solutions


Solution 1 - Java

As of June 2011, the official documentation states > As shall become clear, the syntax of logback configuration files is extremely flexible. As such, it is not possible specify the allowed syntax with a DTD file or an XML Schema.

There was a brief thread on the topic, but didn't seem to go anywhere.

Solution 2 - Java

Just to get rid of the annoying warning in Eclipse add <!DOCTYPE xml> after <?xml version="1.0" encoding="UTF-8"?>.

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

To get rid of the exclamation point icon after you fix it, you might need to trigger the validation again by right-clicking the file and choosing Validate.

Solution 3 - Java

It is not supported officially according to the documentation, but there is an independent project to provide Schema for Logback

However, due to extreme flexibility of the Logback configuration, Schema cannot support all possible configuration options.

Solution 4 - Java

The independent project mentioned by Sergey covered most of my requirements.

However, some elements were missing, I added them on my own fork on on https://github.com/nkatsar/logback-XSD. Hope they will get merged in the main project.

Solution 5 - Java

<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.padual.com/java/logback.xsd">

from GitHub "An XML Schema Definition for logback" https://github.com/nkatsar/logback-XSD

Solution 6 - Java

Thanks to https://github.com/enricopulatzo/logback-XSD

This will allow eclipse to autocomplete and validate if xml is not using plugins or other extensions mechanisms:

<?xml version="1.0" encoding="UTF-8"?>
<configuration
    xmlns="http://ch.qos.logback/xml/ns/logback"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
http://ch.qos.logback/xml/ns/logback 
https://raw.githubusercontent.com/enricopulatzo/logback-XSD/master/src/main/xsd/logback.xsd
">

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionVladislav RastrusnyView Question on Stackoverflow
Solution 1 - JavaEugene YokotaView Answer on Stackoverflow
Solution 2 - JavaAdrian BerView Answer on Stackoverflow
Solution 3 - JavaSergeyView Answer on Stackoverflow
Solution 4 - JavankatsarView Answer on Stackoverflow
Solution 5 - JavaRicardo Padua SoaresView Answer on Stackoverflow
Solution 6 - JavaraisercostinView Answer on Stackoverflow