The xsd file for the jpdl has created validation errors in 4.0, 4.1, 4.2 and now also 4.3, but the difference is that the parsing of the jpdl has become more efficient in 4.3 and now throws an exception when defining an argument on a constructor element.
The main problem here is that the declaration of arg elements does not allow for any child, which means that you can define the type of the argument, but not its value, making it pretty useless.
Here are the extracts of the various problematic files:
jpdl-4.3.xsd (from line 921):
<annotation><documentation>The method arguments.
Each 'arg' element should have exactly one child element
that represents the value of the argument.
<attribute name="type" type="string">
<annotation><documentation>The java class name representing
the type of the method. This is optional and can be used to
indicate the appropriate method in case of method overloading.
An example jpdl which would trigger the error (as the string element in the arg does is not valid based on the xsd):
<?xml version="1.0" encoding="UTF-8"?>
<arg type="java.lang.String"><string value="hello world"/></arg>
And finally, the problems, obtained with org.jbpm.pvm.internal.xml.Parser.getProblems() when this error occurs:
xml validation error: cvc-complex-type.2.1: Element 'arg' must have no character or element information item [children], because the type's content type is empty. [line=48 column=35 ]: org.xml.sax.SAXParseException: cvc-complex-type.2.1: Element 'arg' must have no character or element information item [children], because the type's content type is empty.