Hi, The blueprint.xsd is defined by the OSGi Alliance, so this would need to be changed in the spec. The Blueprint spec doesn't mention inner classes so there's nothing AFAICT in the spec that excludes the use of them - so arguably you could open a bug at the OSGi Alliance [1]. It's worth discussing first on the developers list [2].
[1] www.osgi.org/bugzilla [2] http://www.osgi.org/MailLists/HomePage Cheers, Jeremy On 2 April 2012 20:54, Sergey Beryozkin <[email protected]> wrote: > Hi, > > The blueprint schema [1] blocks the class names containing a '$' character, > specifically, a Tclass types expects all the Java class names to match the > xsd:NCName pattern. > > Thus attempting to load a class such as "a.b.MyClass$MyNestedClass" fails > with the schema validation error which as it happens works OK in Spring. > > I'd like to propose to drop the NCName restriction and introduce and > xsd:string in Tclass instead. > IMHO that is the simplest solution - the Java runtime will effectively > validate the class name anyway so trying to enforce the Java class name > rules in the Blueprint schema may not be ideal. > > If people are OK with this proposed update then I can proceed with the > change in the next few days > > Sergey > > [1] > https://svn.apache.org/repos/asf/aries/trunk/blueprint/blueprint-api/src/main/resources/org/osgi/service/blueprint/blueprint.xsd
