BPM::XPDL - XPDL access
BPM::XPDL is a XML::Compile::Cache is a XML::Compile::Schema is a XML::Compile
my $xpdl = BPM::XPDL->new(version => '2.1'); $xpdl->importDefinitions(...); my $xml = $xpdl->writer($sometype)->($doc, $perldata); my ($type, $data) = $xpdl->from('data.xml'); my ($type, $data) = BPM::XPDL->from('data.xml'); print "Root type: $type\n"; print Dumper $data; # from Data::Dumper $xpdl->addKeyRewrite('PREFIXED'); my $xml = $xpdl->create($data); print $xml->toString(1);
This module provides access to the Process Description Language, as defined by the WfMC, the Workflow Management Coalition (wfmc.org) You can read and create() these XPDL files with one simpe method.
All versions of the specification are supported. It will convert older versions into newer versions if you want to. See from().
Extends "DESCRIPTION" in XML::Compile::Cache.
The XPDL files may contain additional external type definitions, which are not imported/included in the specification. You need to import those explictly by hand. See t/20sample.t
TypeDeclarations are part of the interpretation of the messages which are exchanged between the Applications, and therefore not interpreted by this module.
Extends "METHODS" in XML::Compile::Cache.
Extends "Constructors" in XML::Compile::Cache.
Read an XML message, in any format supported by XML::Compile method dataToXML(): string, file, filehandle, and more. Returned is a list of two: the type of the top-level element plus the data-structure.
dataToXML()
When called as instance method, the data will automatically get converted to the version of required by the object. When called as class method, the version of the top-level element will determine the returned version automatically (which may give unpredictable versions as result).
When the method is called as class method, then a temporary instance is created. Creating an instance is (very) slow.
example:
my $xpdl = BPM::XPDL->new(version => '2.1'); my ($type, $data) = $xpdl->from('data.xml');
or
my ($type, $data) = BPM::XPDL->from('data.xml');
-Option --Defined in --Default allow_undeclared XML::Compile::Cache <false> any_element XML::Compile::Cache 'ATTEMPT' block_namespace XML::Compile::Schema [] hook XML::Compile::Schema undef hooks XML::Compile::Schema [] ignore_unused_tags XML::Compile::Schema <false> key_rewrite XML::Compile::Schema [] opts_readers XML::Compile::Cache [] opts_rw XML::Compile::Cache [] opts_writers XML::Compile::Cache [] parser_options XML::Compile <many> prefix_keys <true> prefixes XML::Compile::Cache <smart> schema_dirs XML::Compile undef typemap XML::Compile::Cache {} xsi_type XML::Compile::Cache {}
Enables the visibility of the various XPDL namespaces which can be merged within one document.
Extends "Accessors" in XML::Compile::Cache.
Inherited, see "Accessors" in XML::Compile::Schema
Inherited, see "Accessors" in XML::Compile
Inherited, see "Accessors" in XML::Compile::Cache
Extends "Prefix management" in XML::Compile::Cache.
Inherited, see "Prefix management" in XML::Compile::Cache
Extends "Compilers" in XML::Compile::Cache.
Inherited, see "Compilers" in XML::Compile::Cache
Inherited, see "Compilers" in XML::Compile::Schema
Inherited, see "Compilers" in XML::Compile
Extends "Administration" in XML::Compile::Cache.
Inherited, see "Administration" in XML::Compile::Cache
Inherited, see "Administration" in XML::Compile::Schema
Inherited, see "Administration" in XML::Compile
Pass a correctly constructed Perl data-structure, which maps to a xpdl:Package type, and it will produce XML for it (returns an XML::LibXML::Document object).
Be warned that the output may contain deprecated constructs. Accidentally, the non-deprecated versions usually match better on the provided data.
my $xml = $xpdl->create($data); print $xml->toString(1);
Extends "DETAILS" in XML::Compile::Cache.
Extends "DESCRIPTIONS" in XML::Compile::Cache.
This module is part of BPM-XPDL distribution version 0.92, built on September 02, 2014. Website: http://perl.overmeer.net
Interapy http://www.interapy.nl sponsored the development of this software.
Copyright (c) 2009-2014 by [Mark Overmeer]. For other contributors see ChangeLog.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://www.perl.com/perl/misc/Artistic.html
To install BPM::XPDL, copy and paste the appropriate command in to your terminal.
cpanm
cpanm BPM::XPDL
CPAN shell
perl -MCPAN -e shell install BPM::XPDL
For more information on module installation, please visit the detailed CPAN module installation guide.