Community
Participate
Working Groups
When I use the PDE in 2.1M4 to create an update site it creates a site.xml file that starts like this: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE site SYSTEM "dtd/site.dtd"> <site> When I try to reference this in 2.0.2 I get an error from the update manager: Unable to access "http://myserver/Updates" Error parsing site stream. [org.xml.sax.SAXException: The XML stream is not a valid default site.xml file. The root tag is not site.] Error accessing site stream. [java.io.FileNotFoundException: C:\Program Files\Eclipse2.0.2\dtd\site.dtd (The system cannot find the path specified)] I thought the update sites were supposed to be compatible between releases, are they not?
This is a valid concern. We updated our parsers to ignore the DTD information (it is only used during development to validate files) but you are right that this breaks backward compatibility. We will stop adding the DTDs. In the mean time, just remove the DOCTYPE line manually before connecting to the site.
I tried taking it out of my site.xml but then ran into the same problem in all feature.xml's. Interestingly, the plugin.xml doesn't seem to have the DOCTYPE.
Both feature.xml and site.xml are affected - these are XML files with a fixed (closed) DTD that can be validated 'for free' using the validating XML parser. In contrast, plugin.xml is open-ended - it has a fixed portion (libraries, imports, extension points) and a variable portion (extensions) and cannot be validated automatically. To validate plugin.xml while using PDE, you need to turn the various options in 'Compilers' PDE preference page from 'Ignore' to 'Warning' or 'Error'.
Fixed. We will not add DOCTYPE line when generating feature.xml and site.xml