Package

 

Notes (Note)

 

XXX Public Links - Package


Public Description - Package

External Packages

The ExternalPackages element allows XPDL modelers to isolate common objects in packages that can be included in multiple models. The element holds a list of ExternalPackage elements each of which refer to another XPDL document, an external package. External packages are indistinguishable from any other package and can contain any well formed XPDL model. However, when they are included into another document as an external package, only some of the information in the external package will be examined and used. In particular, the package level and process level Applications and Participants and the processes in external package can be used within the containing document.

The schema describing XPDL states that the ExternalPackages element appear within the Package element and that it may contain zero or more ExternalPackage elements. The ExternalPackage elements have three attributes: an id, a name, and a reference to the document to be included.

The relevant part of the schema is reproduced here:

{{{ <xsd:element name="ExternalPackages"> <xsd:complexType> <xsd:sequence>

<xsd:element ref="xpdl:ExternalPackage" minOccurs="0" maxOccurs="unbounded"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:anyAttribute namespace="##other" processContents="lax"/> </xsd:complexType> </xsd:element>}}}

Here is an example extracted from a document generated by Gobal360?s Sketchpad application:

{{{<ExternalPackages> <ExternalPackage Id="11" Name="Muses" href="C:\Work\External Packages\Muses.xpdl" /> <ExternalPackage Id="12" Name="Stooges" href="C:\Work\External Packages\Stooges.xpdl" /> </ExternalPackages>}}}

When an application or participant name is mentioned in a document there is nothing to indicate originates in an external package, so some effort must be made to insure that those names are unique.

When a process Id is specified in a Subflow or TaskApplication element, the PackageRef attribute is used to specify which external package defines the process.