Hi
I intend to use extra (optional) XML attributes with the Metatype Service. For
this purpose I examined the
Felix metatype service implementation and found the class
org.apache.felix.metatype.OptionalAttributes,
which is extended by AD, OCD, ... . But unluckily this class is neither
inherited by LocalizedObjectClassDefinition
nor by LocalizedAttributeDefinition, which makes it quite useless for the
moment.
Another Problem is that OptionalAttributes does not support XML namespaces for
the attribute names.
The underlying Map should use something like javax.xml.namespace.QName as key
and not just the name
of the attribute (String). Note, XML namespace support is crucial as extra XML
attribute have to be in a different (##other) namespace
(see "Metatype Service Specifiaction" (Version 1.2), section 105.9 "XML
Schema").
The above observations lead me to the following question:
1. Is it still a requirement for Felix subprojects to avoid dependencies
on packages like java.xml.** and rely on kxml2 instead?
a. If so, then I could try create a patch for metatype service which will
add support for extra XML attributes (including XML namespace support but not
using javax.xml.namespace.QName),
so that extra XML attributes could be retrieved from AD, OCD, ...,
LocalizedObjectClassDefinition and LocalizedAttributeDefinition instances.
b. If not, then I could try to create a similar patch as described above
(a) but using javax.xml.namespace.QName instead.
Note, the class javax.xml.namespace.QName is part of JavaSE since version 1.5
older versions as well as JavaME do not contain that class.
Alex