Community
Participate
Working Groups
Using 0526_0800, loading the org.eclipse.jdt.ui.tests project from CVS results in lot of warnings reported against its plugin.xml file. They seem to be related to missing schema files. Severity Description Resource In Folder Location Creation Time 1 Element 'enablement' is not legal as a child of element 'quickFixProcessor'. plugin.xml org.eclipse.jdt.ui.tests line 95 21 mai 2004 19:10:10 etc. The schemas are available in the source location, not in the binary plugins location.
>The schemas are available in the source location, not in the binary plugins >location. what do you mean by that? We retrieve the schemas from the source plug-ins that come with the sdk. are you claiming otherwise?
Then why do I have so many warnings?
I get warnings saying that the element 'enablement' is not legal as a child of element 'renameParticipant'. But if I look at the schema for the renameParticipant I can find: <element name="renameParticipant"> <complexType> <all> <element ref="enablement"/> </all> ... And at the beginning of the file renameParticipants.exsd I can find: <include schemaLocation="schema://org.eclipse.core.expressions/schema/expressionLanguage.exsd"/> where the enablement is defined. Is the problem due to the schema link format?
When you have a link like this: <include schemaLocation="schema://org.eclipse.core.expressions/schema/expressionLanguage.exsd"/>, where do you look for the schema? Inside the source location of org.eclipse.core.expressions? Or directly inside the binary plugin location of org.eclipse.core.expressions?
The URL format above is processed by extracting 'org.eclipse.core.expressions' as schema id and passing it to the schema manager for return a matching schema object. The manager in turn uses the same algorithm as for locating any other schema given the ID. I think that the one in the workspace will win over external ones.
Having said that, I know there are issues with schemas because they are located in source distribution and that complicates the search.
It isn't in my workspace. In my workspace I simply have jdt.core + all jdt.core tests + jdt.ui tests + jdt.ui.refactoring tests. So I don't have jdt.ui or ltk.core.refactoring. Did you reproduce this issue?
I was able to reproduce the warnings. One of the warnings was valid. There is <quickFixProcessor> as a child of a quickAssistProcessor extension, which is false. As for the other ones, I don't think the problem has anything to do with what is in/outside the workspace. I think it's our handling of included schemas that is buggy.
Can you elaborate that claim a bit?
For instance, look at the warnings that we have in the plugin.xml for org.eclispe.pde.ui.
*** Bug 65976 has been marked as a duplicate of this bug. ***
We correctly find the external plug-in using the schema:// protocol however the schema is not there. We need to consult source location manager to check the source location of the plug-in in question when looking for schema.
Fixed and released.
Verified in I20040617-0800.
*** Bug 60508 has been marked as a duplicate of this bug. ***