org.apache.tapestry.parse.SpecificationParser implements the method EntityResolver.resolveEntity() in a way that prohibits resolving any entities but the Tapestry specification DTD (it throws if the public-id does not equal either the 3.0 or the 4.0 spec).
It would be useful to be able to refer to custom entities. That would allow one to include e.g. specs for base-class properties in all derived page-classes without having to repeat them (and without using annotations).
in EntityResolver.resolveEntity() return null instead of throwing.