Dieferson Medeiros
Dieferson Medeiros

Reputation: 59

Validate xpdl with xsd schema

I'm with following problem:

I'm needing to read some process that is in the xpdl format that is one xml specific to process. These xpdl is generated by the Bizagi.

In the official website of the xpdl I caught the xml schema, but when I try to validate the xpdl that is generated by the bizagi with the xml schema that I catch of the website it is giving one error.

I tried to understand which can have happened, but I don't get it.

You can help me to understand?

I'm sending the error:

 ["level"]=> int(2) 
 ["code"]=> int(1871)
 ["column"]=> int(0)
 ["message"]=> string(596) "Element '{http://www.wfmc.org/2009/XPDL2.2}Activities': This element is not expected. Expected is one of ( {http://www.wfmc.org/2009/XPDL2.2}DataStoreReferences, {http://www.wfmc.org/2009/XPDL2.2}Transitions, {http://www.wfmc.org/2009/XPDL2.2}DataAssociations, {http://www.wfmc.org/2009/XPDL2.2}ExtendedAttributes, {http://www.wfmc.org/2009/XPDL2.2}Assignments, {http://www.wfmc.org/2009/XPDL2.2}PartnerLinks, {http://www.wfmc.org/2009/XPDL2.2}Object, {http://www.wfmc.org/2009/XPDL2.2}Participants, {http://www.wfmc.org/2002/XPDL1.0}DataFields, {http://www.wfmc.org/2009/XPDL2.2}Applications ). "
 ["file"]=> string(66) "file:///C:/Users/dieferson.medeiros/AppData/Local/Temp/php1DBF.tmp"
 ["line"]=> int(117) 

Follows the code that I use to validate the xpdl with the xml schema:

libxml_use_internal_errors (true);
$xml = new \DOMDocument();
$xml->load($file->getPathname()); 
var_dump($xml->schemaValidate(__DIR__.'/../../../../web/uploads/xsd/xpdl.xsd')); 
var_dump(libxml_get_errors());

Follows link to the xpdl:

https://drive.google.com/file/d/0B1uwndG8_xlZSHBzZHZMTUZ0dkk/view?usp=sharing

Follows link to the xml schema:

https://drive.google.com/file/d/0B1uwndG8_xlZblpZUmY2NkxXaGc/view?usp=sharing

Thank you for your attention.

Upvotes: 0

Views: 517

Answers (1)

Mario Levrero
Mario Levrero

Reputation: 3367

What it's saying is that the element Activities is not well located.

I've validate your .xpdl against XPDL 2.2 Standard by WFMC

And I get 9 errors:

1. "Error: The required attribute 'Id' is missing."
2. "Error: The required attribute 'Id' is missing."
3. "Error: The required attribute 'Id' is missing."
4. "Error: The element 'Lane' in namespace 'http://www.wfmc.org/2009/XPDL2.2' has invalid child element 'ExtendedAttributes' in namespace 'http://www.wfmc.org/2009/XPDL2.2'. List of possible elements expected: 'Performers, NestedLane' in namespace 'http://www.wfmc.org/2009/XPDL2.2' as well as any element in namespace '##other'."
5. "Error: The element 'Lane' in namespace 'http://www.wfmc.org/2009/XPDL2.2' has invalid child element 'ExtendedAttributes' in namespace 'http://www.wfmc.org/2009/XPDL2.2'. List of possible elements expected: 'Performers, NestedLane' in namespace 'http://www.wfmc.org/2009/XPDL2.2' as well as any element in namespace '##other'."
6. "Error: The element 'Lane' in namespace 'http://www.wfmc.org/2009/XPDL2.2' has invalid child element 'ExtendedAttributes' in namespace 'http://www.wfmc.org/2009/XPDL2.2'. List of possible elements expected: 'Performers, NestedLane' in namespace 'http://www.wfmc.org/2009/XPDL2.2' as well as any element in namespace '##other'."
7. "Error: The element 'Associations' in namespace 'http://www.wfmc.org/2009/XPDL2.2' has incomplete content. List of possible elements expected: 'Association' in namespace 'http://www.wfmc.org/2009/XPDL2.2'."
8. "Error: The element 'Artifacts' in namespace 'http://www.wfmc.org/2009/XPDL2.2' has incomplete content. List of possible elements expected: 'Artifact' in namespace 'http://www.wfmc.org/2009/XPDL2.2'."
9. "Error: The element 'WorkflowProcess' in namespace 'http://www.wfmc.org/2009/XPDL2.2' has invalid child element 'Activities' in namespace 'http://www.wfmc.org/2009/XPDL2.2'. List of possible elements expected: 'DataStoreReferences, Transitions, DataAssociations, ExtendedAttributes, Assignments, PartnerLinks, Object, Extensions' in namespace 'http://www.wfmc.org/2009/XPDL2.2'."

... But not the one you shared with us. As I see in your file, Activities is well located:

<WorkflowProcess>
    ...
    <Activities>...<Activities/>
</WorkflowProcess>

Could you check is the correct file and/or verify the errors I pass you? Your schema looks ok.

Upvotes: 0

Related Questions