Hi Lionel, I think that 'xs:any' causes the parser to not report errors for XML elements that are NOT in apollo's XML namespace. And yes you would added your own elements with a custom 'xmlns' to have those elements validated against a different .xsd. The tricky part is going to be getting Apollo to associate your custom namespace to a where the .xsd file is which validates it. We may need to provide a way for plugins to register those associations so that the XML parser can be setup with a proper resolver for those xsd files.
On Fri, Apr 20, 2012 at 3:38 AM, Lionel Cons <[email protected]> wrote: > Apollo can validate its XML configuration using XSD [1]. This is very > good and allows for instance the detection of typos in the file before > the broker even starts. > > Apollo supports plugins [2] that may need to be configured. AFAIK, > configuration bits can appear in many places and apollo.xsd will > somehow ignore them thanks to lines like: > > <xs:any processContents="lax" namespace="##other" minOccurs="0" > maxOccurs="unbounded"/> > > It is however not clear to me how the two work together. Imagine that > I have a plugin that needs some XML configuration, how can I plug its > own XSD so that Apollo will be happy with it? > > FWIW, in ActiveMQ, we use namespaces for this. We add our namespace > with its schema in <beans xsi:schemaLocation> and we can further down > configure our plugin with: > > <plugins> > <ourPlugin xmlns="ourNameSpace" ourOption="whatever"> > </plugins> > > Cheers, > > Lionel Cons > > [1] > http://activemq.apache.org/apollo/versions/99-trunk-SNAPSHOT/website/documentation/user-manual.html#Understanding_the__code_apollo_xml__code__File > [2] > http://activemq.apache.org/apollo/versions/99-trunk-SNAPSHOT/website/documentation/extending-guide.html > -- ** *Hiram Chirino* *Software Fellow | FuseSource Corp.* *[email protected] | fusesource.com* *skype: hiramchirino | twitter: @hiramchirino<http://twitter.com/hiramchirino> * *blog: Hiram Chirino's Bit Mojo <http://hiramchirino.com/blog/>* * * * *
