For a class lecture on XML I searched for a free text editing tool supporting syntax highlighting for XML, check if XML is well-formed an perform validation (e.g. with DTD). After some research I found out that a plugin for Notepad++ called XMLTools. I was very lucky because I already use Notepad++ for years. The installation of the plugin was no problem and had all the functions I needed for the class. In the first lecture everything worked fine. We checked for well-formed XML, developed some CSS for viewing in the browser and finally started writing a first DTD for a XML file.
Suddenly the students had files which couldn’t be found by the plugin, when they tried to validate their XML. A popup appeared telling us that it was “Unable to load the DTD xyz.dtd”. I examined the files but couln’t find any errors. I searched the net, but although I found some (elder) questions on that error, I didn’t find an answer.
So I took the files home and did some further research (trial and error). First thought was that the coding of the files was wrong, but that didn’t make any change – same error message.
Finally, it was more than one source of error. This told me once again, that error messages often don’t describe what really was the error (and that there should be different error messages for different errors!).
- Every syntax error in the DTD causes the “Unable to load” error. This means, if only one bracket is missing, a wrong character or similar small errors is contained in the DTD, the popup is displayed and no validation is possible.
- The second source of error actually was the coding: UTF-8 coded DTD-files can’t be loaded by the plugin. We were only able to validate XML files with ANSI coded DTDs (without error!)