Ferdinand Soethe wrote: > > I need to install a new grammar for the plugin source files, but I'm > unclear where it should go. Also, it has to be relax-ng > (preferred) or schema to support all the features, is that a problem?
Well RNG is what we would all prefer isn't it. Without seeing the rest of it, i will make a guess at what we need. We have established ways for source documents to declare DTDs and we can detect and handle such documents and associated resources. The DTDs can be either in the core, or in plugins, or supplied by each project. There are other methods using the Content Aware Pipelines SourceTypeAction [1]. Rather than depending on the case of which DOCTYPE, we use the document element and namespace, or other methods. With DTDs, the actual DTDs are required to be be present for the actual parsing of the source. With RELAX NG, the grammars are separate. We can have validating components in our sitemap pipelines if we so choose, or have them as separate pipelines. [2] So where to store the grammars. We have core grammars at main/webapp/resources/schema/relaxng/ For plugins we have resources/schema/ Add more structure if needed. If you use validation transformers in the sitemaps then refer to these resources via the plugin's locationmap. Would that be sufficient? Later we might find ways to obtain remote grammars so that we don't need to redistribute. Not yet. Keen to see this plugin, and the use of RELAX NG. Please commit it so that we can all help. Don't try to get it all perfect beforehand. :-) [1] http://forrest.apache.org/docs/dev/cap.html [2] http://marc.theaimsgroup.com/?l=forrest-dev&m=112598308027438 -David