On Wed, 2009-08-26 at 23:20 -0400, Brian Frutchey wrote: > I am getting validation errors when my modes.xml file has a mode with > run-handlers or run-transformers elements, because the auto-generated > xsd is not being generated with those elements allowed.
run-transformers and run-handlers haven't been added to no.sesat.mojo.modes.Builder yet. If the build output you see a text like: Lost <element-name> ? I've written a patch that should work but haven't time to test it. Are you able to apply the patch and test? if it works for you i'll commit it into 2.18 (as it doesn't break any compatibility). ~mck -- "If you are distressed by anything external, the pain is not due to the thing itself, but to your estimate of it. This you have the power to revoke." Marcus Aurelius | semb.wever.org | sesat.no | finn.no |
Index: mojo/src/main/java/no/sesat/mojo/modes/Builder.java
===================================================================
--- mojo/src/main/java/no/sesat/mojo/modes/Builder.java (revision 7271)
+++ mojo/src/main/java/no/sesat/mojo/modes/Builder.java (working copy)
@@ -120,6 +120,8 @@
final List<ConfigElement> queryBuilders = new ArrayList<ConfigElement>();
final List<ConfigElement> resultHandlers = new ArrayList<ConfigElement>();
final List<ConfigElement> queryTransformers = new ArrayList<ConfigElement>();
+ final List<ConfigElement> runHandlers = new ArrayList<ConfigElement>();
+ final List<ConfigElement> runTransformers = new ArrayList<ConfigElement>();
{
final ClassDoc[] classes = root.classes();
for (int i = 0; i < classes.length; i++) {
@@ -164,6 +166,24 @@
}
queryTransformers.add(element);
+ } else if (name.endsWith("RunTransformerConfig")) {
+ element.applyNameFilter(new NameFilter() {
+ public String filter(final String name) {
+ return toXmlName(name.substring(0, name.lastIndexOf("RunTransformerConfig")));
+ }
+ });
+ if (!element.getName().isEmpty()) {
+ runTransformers.add(element);
+ }
+ } else if (name.endsWith("RunHandlerConfig")) {
+ element.applyNameFilter(new NameFilter() {
+ public String filter(final String name) {
+ return toXmlName(name.substring(0, name.lastIndexOf("RunHandlerConfig")));
+ }
+ });
+ if (!element.getName().isEmpty()) {
+ runHandlers.add(element);
+ }
} else {
System.out.println("Lost: " + element.getName()); // (authorized)
System.out.println( // (authorized)
@@ -198,6 +218,14 @@
final ConfigElement queryTransform = new ConfigElement("query-transformers");
queryTransform.addChildren(queryTransformers);
+ final ConfigElement runHandler = new ConfigElement("run-handlers");
+ runHandler.addChildren(runHandlers);
+ mode.addChild(runHandler);
+
+ final ConfigElement runTransformer = new ConfigElement("run-transformers");
+ runTransformer.addChildren(runTransformers);
+ mode.addChild(runTransformer);
+
final ConfigElement navigators = new ConfigElement("navigators");
final ConfigElement navigator = new ConfigElement("navigator");
final ConfigElement facets = new ConfigElement("facets");
@@ -230,6 +258,7 @@
final Runnable[] jobs = {new GenerateRelaxNG(modes, outputDir + "modes.rnc", id),
new GenerateXSD(modes, outputDir + "modes.xsd", id),
new GenerateDTD(modes, outputDir + "modes.dtd", id)};
+
final int jobCount = 5;
for (int i = 0; i < (jobs.length + jobCount - 1); i++) {
signature.asc
Description: This is a digitally signed message part
_______________________________________________ Kernel-development mailing list [email protected] http://sesat.no/mailman/listinfo/kernel-development
