DriveWorks Pro 15: XML Document (Advanced) [send feedback...]

XML Document (Advanced)

This document type is used to export data directly in to a XML document from the DriveWorks project.

An XML (Extensible Markup Language) is a format commonly used for inter-operation between different systems.

XML
Document

To Add an XML Document (Advanced):

In DriveWorks Administrator open the project the document is to be applied and go to Stage 4: Output Rules> Documents

  1. Click the "Add" button on the command bar.
  2. Choose XML Document (Advanced) from the list in the Create a New Document wizard.
  3. Give the new document a name.
  4. Click "Next" and browse for the master XML Document, click "Open" and "Finish".

To Edit an XML Document (Advanced):

  1. The Master File Path is the location of the XML document. If the location of the document changes then it will need re-browsing to using the "Browse..." button.
  2. The Output File Name is the name given to the newly created document. Click the "Build..." button to give the document a name.
  3. The Output File Path is the location where the driven document will be stored. Click the "Build..." button to set the document path.
  4. The document can also be hidden from the document list in the Specification Explorer by checking the Hide from Document list General Setting.
  5. To build a rule for an Element check an item in the tree view and click the "Build..." button. If no elements are present but the document contains them click the "Refresh" button.
The Document can be Deleted if it is not required by making the result of the document name return Delete.
The Document Name will need to be unique if the document is created in the same location for each specification, otherwise existing documents will be overwritten.

If the Document Path is not set then the file will be created in the specification folder.

At any point a HTML preview can be created by clicking the "Preview" button on the command bar.

Examples:

#Master DocumentDriveWorks InputExpected Output
1
<cubes>   
    <cube> 
        <height/>
        <width/>
        <depth/>
    </cube>  
</cubes>
Values from individual variables assigned to height, width, depth.
<?xml version="1.0" encoding="UTF-8"?>  
<cubes>   
    <cube> 
        <height>3</height> 
        <width>2</width> 
        <depth>1</depth> 
    </cube>  
</cubes>
2
<cubes>   
    <cube> 
        <height/>
        <width/>
        <depth/>
    </cube>  
</cubes>
Values driven from a simple table to the 'cube' node
<?xml version="1.0" encoding="UTF-8"?>  
<cubes>   
    <cube> 
        <Height>1</Height> 
        <Width>2</Width> 
        <Depth>3</Depth> 
    </cube>  
</cubes>
3
<cubes>   
    <cube></cube>  
</cubes>
Values driven from a simple table to the 'cube' node The child nodes are automatically created based on the column headers
<?xml version="1.0" encoding="UTF-8"?>  
<cubes>   
    <cube> 
        <Height>1</Height> 
        <Width>2</Width> 
        <Depth>3</Depth> 
    </cube>  
</cubes>
4
<cubes>   
    <cube> 
        <height/>
        <width/>
        <depth/>
    </cube>  
</cubes>
Values driven from a simple table with multiple rows to the 'cube' node.
<?xml version="1.0" encoding="UTF-8"?>  
<cubes>   
    <cube> 
        <Height>1</Height> 
        <Width>2</Width> 
        <Depth>3</Depth> 
    </cube>
    <cube> 
        <Height>4</Height> 
        <Width>5</Width> 
        <Depth>6</Depth> 
    </cube>  
    <cube> 
        <Height>7</Height> 
        <Width>8</Width> 
        <Depth>9</Depth> 
    </cube>    
</cubes>
5
<cubes>   
     <cube> 
        <height/>
        <width/>
        <depth/>
    </cube> 
</cubes>
Values driven from a simple table to the 'cube' node where the table has the incorrect quantity of columns The additional column is added as a new child node of cube
<?xml version="1.0" encoding="UTF-8"?>  
<cubes>   
    <cube> 
        <Height>1</Height> 
        <Width>2</Width> 
        <Depth>3</Depth>
        <Color>Green</Color>  
    </cube>  
</cubes>
6
<cubes>   
     <cube> 
        <height/>
        <width/>
        <depth/>
    </cube> 
</cubes>
Values driven from a table with incorrect column headers The cubes child nodes are removed from the master document and replaced with the headers of the table.
<?xml version="1.0" encoding="UTF-8"?>  
<cubes>   
    <cube> 
        <Radius>2</Radius> 
        <Diameter>4</Diameter> 
        <Volume>20</Volume>
    </cube>  
</cubes>
7
<cubes>   
     <cube> 
        <height/>
        <width/>
        <depth/>
    </cube> 
</cubes>
Values driven from a calculation table with a nested simple table.
<?xml version="1.0" encoding="UTF-8"?>  
<cubes>   
    <cube> 
        <Depth>1</Depth> 
        <Width>2</Width> 
        <Diameter>3</Diametere>  
        <Table> 
            <Radius>2</Radius> 
            <Diameter>4</Diameter> 
            <Volume>20</Volume>
        </Table> 
    </cube>  
</cubes>
8
<cubes>   
   <cube width="" depth="" height=""/>
</cubes>
Values from individual variables assigned to height, width, depth nodes as well as a value applied to the cube node. The cubes child nodes are removed from the master document and replaced with the headers of the table.
<?xml version="1.0" encoding="UTF-8"?>  
<cubes>   
   <cube width="3" depth="1" height="3"/> 
</cubes>

For any external application reading an XML file, the above is all that is required. If an XML file is to be displayed in a web browser, it will require a transform file to accompany the file. The transform file tells the browser how to display the XML.

XSL files must exist in the same location as the XML file it is used to display.

When requiring a XSL transform file to display a driven XML file, create a new document for output and use the Copied File option.

Select the XSL file to use and build a rule that will place it in the same location as the XML file being driven. Exactly the same procedure for any static image files used in the XML can be adopted.

The XML Document (Advanced) is triggered in the specification flow by the Release Documents task.

Table of Contents