<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://wiki.commander4j.com/index.php?action=history&amp;feed=atom&amp;title=XML_Viewer</id>
	<title>XML Viewer - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.commander4j.com/index.php?action=history&amp;feed=atom&amp;title=XML_Viewer"/>
	<link rel="alternate" type="text/html" href="https://wiki.commander4j.com/index.php?title=XML_Viewer&amp;action=history"/>
	<updated>2026-04-26T17:33:02Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wiki.commander4j.com/index.php?title=XML_Viewer&amp;diff=1808&amp;oldid=prev</id>
		<title>Dgarratt: Updated by push_wiki.py</title>
		<link rel="alternate" type="text/html" href="https://wiki.commander4j.com/index.php?title=XML_Viewer&amp;diff=1808&amp;oldid=prev"/>
		<updated>2026-04-01T15:28:44Z</updated>

		<summary type="html">&lt;p&gt;Updated by push_wiki.py&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 17:28, 1 April 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l7&quot;&gt;Line 7:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 7:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Running XML Viewer ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Running XML Viewer ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;XML Viewer is a Java 21 desktop (Swing) application:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Native install packages for Windows, macOS, and Linux are available from the [[Downloads]] page and are the preferred installation method.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Alternatively, &lt;/ins&gt;XML Viewer &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;can be run directly from the distribution archive. It &lt;/ins&gt;is a Java 21 desktop (Swing) application:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  java -jar xmlviewer.jar [optional path to XML file]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  java -jar xmlviewer.jar [optional path to XML file]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Dgarratt</name></author>
	</entry>
	<entry>
		<id>https://wiki.commander4j.com/index.php?title=XML_Viewer&amp;diff=1793&amp;oldid=prev</id>
		<title>Dgarratt: Updated by push_wiki.py</title>
		<link rel="alternate" type="text/html" href="https://wiki.commander4j.com/index.php?title=XML_Viewer&amp;diff=1793&amp;oldid=prev"/>
		<updated>2026-04-01T11:29:26Z</updated>

		<summary type="html">&lt;p&gt;Updated by push_wiki.py&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;XML Viewer is a desktop application for exploring XML documents as an interactive, expandable tree. It supports configurable display modes, multi-language element name translation, and adjustable tree expansion depth. It is designed for viewing structured XML files such as SAP IDoc messages, Commander4j configuration files, and production schedule exports.&lt;br /&gt;
&lt;br /&gt;
== Purpose ==&lt;br /&gt;
&lt;br /&gt;
XML Viewer makes it practical to inspect complex XML files that are difficult to read as raw text. Element names can be translated into plain-language descriptions (for example, the SAP field code &amp;lt;code&amp;gt;ABWKZ&amp;lt;/code&amp;gt; becomes &amp;quot;Deviation indicator&amp;quot; in the English translation), and the tree can be expanded to a specific depth to give a high-level overview without showing every leaf value.&lt;br /&gt;
&lt;br /&gt;
== Running XML Viewer ==&lt;br /&gt;
&lt;br /&gt;
XML Viewer is a Java 21 desktop (Swing) application:&lt;br /&gt;
&lt;br /&gt;
 java -jar xmlviewer.jar [optional path to XML file]&lt;br /&gt;
&lt;br /&gt;
If a file path is provided on the command line, that file is opened immediately on launch. Otherwise, the last-opened file from the configuration is loaded.&lt;br /&gt;
&lt;br /&gt;
== Loading a Document ==&lt;br /&gt;
&lt;br /&gt;
Click the &amp;#039;&amp;#039;&amp;#039;Open XML Document&amp;#039;&amp;#039;&amp;#039; button in the right sidebar, or pass a file path on the command line. Only well-formed XML files are supported. Click &amp;#039;&amp;#039;&amp;#039;Reload XML Document&amp;#039;&amp;#039;&amp;#039; to re-read the current file after it has been changed externally.&lt;br /&gt;
&lt;br /&gt;
== Display Modes ==&lt;br /&gt;
&lt;br /&gt;
=== Standard Mode ===&lt;br /&gt;
&lt;br /&gt;
The XML hierarchy is displayed exactly as it appears in the file — elements nest within their parent elements, forming a tree that mirrors the XML structure.&lt;br /&gt;
&lt;br /&gt;
=== Flat Mode ===&lt;br /&gt;
&lt;br /&gt;
Leaf elements (those containing only text, no child elements) are collapsed into their parent&amp;#039;s row rather than appearing as separate tree nodes. Only elements that contain child elements appear as tree nodes. This produces a more compact view of documents with many small leaf values.&lt;br /&gt;
&lt;br /&gt;
Toggle between modes using the &amp;#039;&amp;#039;&amp;#039;View Mode&amp;#039;&amp;#039;&amp;#039; button in the right sidebar.&lt;br /&gt;
&lt;br /&gt;
== Tree Expansion Control ==&lt;br /&gt;
&lt;br /&gt;
The top toolbar provides four buttons:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Expand All&amp;#039;&amp;#039;&amp;#039; — expand every node in the tree&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Expand Selected&amp;#039;&amp;#039;&amp;#039; — expand only the selected subtree&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Collapse Selected&amp;#039;&amp;#039;&amp;#039; — collapse the selected subtree&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Collapse All&amp;#039;&amp;#039;&amp;#039; — collapse everything to root level&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;−&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;+&amp;#039;&amp;#039;&amp;#039; buttons in the toolbar adjust the current expansion level (shown as a number between the buttons). Clicking &amp;#039;&amp;#039;&amp;#039;Refresh&amp;#039;&amp;#039;&amp;#039; after changing the level re-expands the tree to that depth.&lt;br /&gt;
&lt;br /&gt;
The expansion level is saved in the configuration and restored on next launch.&lt;br /&gt;
&lt;br /&gt;
== Translation ==&lt;br /&gt;
&lt;br /&gt;
XML Viewer can replace technical XML element names and values with plain-language descriptions from a translation file.&lt;br /&gt;
&lt;br /&gt;
=== Enabling Translation ===&lt;br /&gt;
&lt;br /&gt;
Toggle translations using the &amp;#039;&amp;#039;&amp;#039;View Translations&amp;#039;&amp;#039;&amp;#039; button. The &amp;#039;&amp;#039;&amp;#039;Translation&amp;#039;&amp;#039;&amp;#039; dropdown at the bottom of the window selects which translation file to use. The &amp;#039;&amp;#039;&amp;#039;Language&amp;#039;&amp;#039;&amp;#039; dropdown selects the language within that file.&lt;br /&gt;
&lt;br /&gt;
=== Built-in Translation Files ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! File !! Contents&lt;br /&gt;
|-&lt;br /&gt;
| matmas05.xml || SAP MATMAS05 IDoc field translations&lt;br /&gt;
|-&lt;br /&gt;
| zmatmas03.xml || SAP ZMATMAS03 IDoc field translations&lt;br /&gt;
|-&lt;br /&gt;
| productionschedule.xml || Production schedule export field translations&lt;br /&gt;
|-&lt;br /&gt;
| config.xml || Commander4j configuration element translations&lt;br /&gt;
|-&lt;br /&gt;
| default.xml || Generic fallback translations&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Languages ===&lt;br /&gt;
&lt;br /&gt;
The default installation includes English, French, German, and Italian. The active language can be changed at any time from the Language dropdown.&lt;br /&gt;
&lt;br /&gt;
=== Adding Translations ===&lt;br /&gt;
&lt;br /&gt;
Translation files are XML documents located in &amp;lt;code&amp;gt;xml/translations/&amp;lt;/code&amp;gt;. Each file maps element names, attribute names, element values, and attribute values to their translated equivalents for each language. Elements without a translation entry are shown using their original name from the XML file.&lt;br /&gt;
&lt;br /&gt;
== Other Display Options ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Button !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| View Icons || Show or hide the icon column next to each tree node&lt;br /&gt;
|-&lt;br /&gt;
| View Brackets || Wrap element values in &amp;lt;code&amp;gt;[ ]&amp;lt;/code&amp;gt; brackets to distinguish them from element names&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
=== config.xml ===&lt;br /&gt;
&lt;br /&gt;
Located at &amp;lt;code&amp;gt;xml/config/config.xml&amp;lt;/code&amp;gt;. Stores the last-opened file path, selected translation file, selected language, current expansion level, and the state of all four display toggles (mode, translations, brackets, icons). Updated automatically on exit.&lt;br /&gt;
&lt;br /&gt;
=== log4j2.xml ===&lt;br /&gt;
&lt;br /&gt;
Located at &amp;lt;code&amp;gt;xml/log/log4j2.xml&amp;lt;/code&amp;gt;. Controls logging to &amp;lt;code&amp;gt;logs/XML_View.log&amp;lt;/code&amp;gt;. Log files rotate at 10 MB and are retained for 14 days.&lt;br /&gt;
&lt;br /&gt;
=== fonts.xml / icons ===&lt;br /&gt;
&lt;br /&gt;
Icons are loaded from &amp;lt;code&amp;gt;images/xmlIcons/&amp;lt;/code&amp;gt;. If an icon file referenced by a translation is not found, the icon column is left blank for that element without an error.&lt;br /&gt;
&lt;br /&gt;
See also: [[TreeDoc]], [[Middleware4j]], [[Label Template Syntax]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Commander4j]]&lt;/div&gt;</summary>
		<author><name>Dgarratt</name></author>
	</entry>
</feed>