ArcFM Desktop Developer Guide
Design XML Representation

Version: 10.1

Resource Center Home

The document type definition (DTD) file provides a contract between the Designer API portion of Designer and Workflow Manager. It is the job of the WMS integration to break down the design tables, which will be stored differently for different systems, into the XML format provided in the DTD. The DTD is a kind of schema for every method that takes a form of XML. If the XML does not match the DTD, a parsing error will be generated.

Work Request Top Level Element

The work request top level as defined in the Design schema has a few extra elements on it to enable the application programmer to modify the default behavior of Designer when it loads a design. The work request top level is defined like this in the design XML schema:

XML Snippet
Copy Code
<!ELEMENT WORKREQUESTTOPLEVEL (DATABASE?, TITLEBAR?, VIEWONLY?, STOREDDISPLAY?,
STOREDTEMPLATE?, COPYFROMSD?, DESIGNER_VERSION?, DEFAULT_PARENT_VERSION?,
(WORKREQUEST*))>

Work Request, Design, Work Location, and CU Elements

The element definitions for work requests, designs, work locations, and CUs are very similar, so they are considered together here. A WORKREQUEST may contain design(s). A DESIGN may have multiple work locations and/or CUs under it. And a WORKLOCATION may have one or more CUs under it. In the samples below, the pipe (|) deliminated values indicate the elements that may be contained within that element.

XML Snippet
Copy Code
   <!ELEMENT WORKREQUEST (DESIGNER_ID?, DESCRIPTION?, ID?, VERSION?, 
        WF_STATUS?, METADATA?, DEFNODE?, EDM?, SPATIAL_WORKREQUEST?, OID?, 
        (DESIGN? | WORKREQUEST?))>

        <!ELEMENT DESIGN (DESIGNER_ID?, DESCRIPTION?, ID?, COPYFROMID?, VERSION?, 
        WF_STATUS?, METADATA?, DEFNODE?, DESIGN_NUMBER?, EDM?, OID?, 
        (WORKLOCATION | GISUNIT | CU | CUDEF_ATTRIBUTE)*)>

        <!ELEMENT WORKLOCATION (DESIGNER_ID?, DESCRIPTION?, ID?, WF_STATUS?, 
        METADATA?, DEFNODE?, EDM?, OID?, (GISUNIT | CU | CUDEF_ATTRIBUTE)*)>

        <!ELEMENT CU (WMS_CODE?, DESIGNER_ID?, DESCRIPTION?, UNIT_OF_MEASURE?, 
        LENGTH?, WORK_FUNCTION?, WF_STATUS?, METADATA?, CUNAME*, TABLENAME?, 
        SUBTYPE?, QUANTITY?, EDM?, CUDEF_ATTRIBUTE*)>
        
XML Snippet
Copy Code
<!ELEMENT VERSION (NAME, DESCRIPTION?, ACCESS?, BASE?)>

It is important to note that the Work Function domain can be set up differently than the sample implementation. Setting up the codes and descriptions contained by the Work Function domain is left to the implementer’s discretion.


Send Comment