DOORS DXL Items

In this article, we will explain the DOORS DXL Items using a few programs.

DOORS DXL Items

An Item in DOORS is a reference to an item within a Project or Folder. Both Project and Folder are considered as DOORS DXL Items.

Item Referencing  

There are three different ways to reference an Item in the DOORS DXL environment –  

  1. Absolute reference – this always starts with a forward slash (/) 
  1. Reference relative to the current folder that starts with the (../) 
  1. Reference relative to the current folder containing no slash  

Here is an example of different styles of referencing an Item –  

Project p1 = create (“/Project_Sample_1”, “”)  // Absolute Database Reference 

Project p2 = create (“/Project_Sample_1/Project_Sample_2”, “”)  // Absolute Database Reference 

Project p3 = create (“../Project_Sample_3”, “”)  // Reference relative to current folder with (../) 

Project p4 = create (“Project_Sample_4”, “”)  // Reference relative to current folder with no slash 

Item – Project Navigation

Here is the syntax on how to navigate to the Projects with an Item reference –  

for  <Item &ItemReference> in <Project> do { 

………. 

} 

The above loop iterates over all the projects and returns the references to undeleted items at all levels within a Project. 

Here is an example DXL code snippet –

// www.TheCloudStrap.Com 

/************************************************************************
* $FILENAME: itm1.dxl
* $DESCRIPTION: DXL Item example
*
* NOTICE: Copyright www.TheCloudStrap.Com. All rights reserved.
* Software comes without any warranties and guarantees, is provided 
* as is and is not supported. Use this software at your own risk. 
* Authors resume no liabilities.
* 
* Contact: admin {at} TheCloudStrap.com
************************************************************************/

// Example of Item
string itmName = null
Item itmRef = null

// 
print "Current Project all Items - \n"
for itmRef in current Project do {
	print name(itmRef) "\n"
}

//
print "Current Project Top Items - \n"
for itmName in current Project do {
	print itmName "\n"
}

Item – Folder Navigation 

Here is the syntax on how to navigate to the Folders with an Item reference –  

for  <Item &ItemReference> in <Folder> do { 

………. 

The above loop iterates over all the folders and returns the references to undeleted top-level folder items. It does not return the deleted items.  

for  <Item &ItemReference> in all <Folder> do { 

………. 

The above loop iterates over all the folders and returns the references to all top-level folder items. 

Here is an example DXL code snippet –

// www.TheCloudStrap.Com 

/************************************************************************
* $FILENAME: itm2.dxl
* $DESCRIPTION: DXL Item example
*
* NOTICE: Copyright www.TheCloudStrap.Com. All rights reserved.
* Software comes without any warranties and guarantees, is provided 
* as is and is not supported. Use this software at your own risk. 
* Authors resume no liabilities.
* 
* Contact: admin {at} TheCloudStrap.com
************************************************************************/

// Example Folder navigation

Item itmRef = null

// print all folder items
print "All Folder Items - \n"
for itmRef in all current Folder do {
	print name(itmRef) "\n"
}

//print undeleted folder items only
print "Undeleted Folder Items - \n"
for itmRef in current Project do {
	print name(itmRef) "\n"
}

Item – Path and Full Name 

The path() and fullName() functions return the path and the full name of an item respectively.

// www.TheCloudStrap.Com 

/************************************************************************
* $FILENAME: itm3.dxl
* $DESCRIPTION: DXL Item example
*
* NOTICE: Copyright www.TheCloudStrap.Com. All rights reserved.
* Software comes without any warranties and guarantees, is provided 
* as is and is not supported. Use this software at your own risk. 
* Authors resume no liabilities.
* 
* Contact: admin {at} TheCloudStrap.com
************************************************************************/

// Example of Path and Fullname

Folder f = folder("/DOORS_Training/Sample_Project/Try1")

print "Name of the folder = " name(f) "\n"
print "Path of the folder = " path(f) "\n"
print "Full Name of the folder = " fullName(f) "\n"

Item – Parent Project  

The getParentProject() function returns the reference to the parent project of the item.

// www.TheCloudStrap.Com 

/************************************************************************
* $FILENAME: itm4.dxl
* $DESCRIPTION: DXL Item example
*
* NOTICE: Copyright www.TheCloudStrap.Com. All rights reserved.
* Software comes without any warranties and guarantees, is provided 
* as is and is not supported. Use this software at your own risk. 
* Authors resume no liabilities.
* 
* Contact: admin {at} TheCloudStrap.com
************************************************************************/

// Example of Parent Project

// Project getParentProject(Item itm)
// Project getParentProject(Folder f)
// Project getParentProject(Project p)
// Project getParentProject(Module m)
// Project getParentProject module(string moduleName)

Item itm = null
Project p = null

for itm in current Folder do { 
	p = getParentProject(itm)
	if (null p)
		continue
	else
		print name(itm) " Parent Project is = " name(p) "\n"
}

Item – Parent Folder 

The getParentFolder() function returns the reference to the parent folder of the item.  

// www.TheCloudStrap.Com 

/************************************************************************
* $FILENAME: itm5.dxl
* $DESCRIPTION: DXL Item example
*
* NOTICE: Copyright www.TheCloudStrap.Com. All rights reserved.
* Software comes without any warranties and guarantees, is provided 
* as is and is not supported. Use this software at your own risk. 
* Authors resume no liabilities.
* 
* Contact: admin {at} TheCloudStrap.com
************************************************************************/

// Example of Parent Folder

// Project getParentFolder(Item itm)
// Project getParentFolder(Folder f)
// Project getParentFolder(Project p)
// Project getParentFolder(Module m)
// Project getParentFolder module(string moduleName)

Item itm = null
Folder f = null

for itm in current Folder do { 
	f = getParentFolder(itm)
	if (null f)
		continue
	else
		print name(itm) " Parent Project is = " name(f) "\n"
}

Item – Query

There are a few utility functions that can be used to know the status of an item in DXL.  

// www.TheCloudStrap.Com 

/************************************************************************
* $FILENAME: itm6.dxl
* $DESCRIPTION: DXL Item example
*
* NOTICE: Copyright www.TheCloudStrap.Com. All rights reserved.
* Software comes without any warranties and guarantees, is provided 
* as is and is not supported. Use this software at your own risk. 
* Authors resume no liabilities.
* 
* Contact: admin {at} TheCloudStrap.com
************************************************************************/

// Example of Item

Item itm = null
print "Current Folder is = " name(current Folder) "\n"


// item type could be - 'Folder', 'Project', 'Formal', 'Link'
for itm in current Folder do { 
	print "Item " name(itm) " of type " type(itm) "\n"
}

Here is the output –

Conclusion

In this article, we have explained the DOORS DXL Items using a few programs. If you have any questions, feel free to comment down below.

DOORS DXL Items
Scroll to top
error: Content is protected !!