Explains the retionale behind Content-type-based editor lookup.
Here is a paper with the details.
To have project specific content matcher, 3.1 added IProject.getContentTypeMatcher()
Here is a document that describes the BinarySignatureDescriber (for binary content types) and XMLRootElementContentDescriber. They can be used in the org.eclipse.core.runtime.contentTypes extension point to define a content type.