Report Tool Tips and Tricks
Copy
This document is a guide to help you become more productive with the Report Tool by showing you how to address some of the more common tasks that need to be done when designing a Report.
- Using the
selectattribute - Using the
order_byattribute - Using the
conditionattribute - OR’ing property values
- Return Relationships in the results
- Using Relationships as search criteria
The select attribute enables you to filter down the set of properties for the Items returned from a query. <Item type="Part” action="get” select="part_number,part_description,part_cost"/>
The order_by attribute enables you to order the results of the query. The style sheet also supports sorting on the properties.<Item type="Part” action="get” select="part_number,part_description,part_cost” order_by="part_number”/>
The condition attribute enables you to specify a condition for the properties used as search criteria. All the conditions that are allowed in SQL are allowed as the values to the condition attribute.
< symbol is lt, and the > symbol is gt, >= is ge and so on.
<Item type="Part” action="get” select="part_number,part_description,part_cost” order_by="part_number"> <part_number condition="like">%123%</part_number></Item>
The <or> tag provides a way to logically OR property values for the search criteria.<Item type="Part” action="get” select="part_number,part_description,part_cost” order_by="part_number"> <or> <state>Released</state> <state>In Review</state> </or></Item>
You can include the <Relationships> tag and the relationship items you want to return. <Item type="{@type}" id="{@id}" action="get” select="part_no,part_desc,part_cost"> <Relationships> <Item type="Part EBOM” action="get” select="position,qty,related_id"> <related_id> <Item type="Part” action="get” select="id,part_no,part_desc,part_cost"> <Relationships> <Item type="Part AVL” action="get” select="avl_status,related_id(description,manufacturer,component_no)"/> </Relationships> </Item> </related_id> </Item> </Relationships></Item>
You can include the <Relationships> tag to describe the search criteria for the relationship items. <Item type="{@type}" id="{@id}" action="get” select="part_no,part_desc,part_cost"> <Relationships> <Item type="Part EBOM” action="get” select="position,qty,related_id"> <qry condition="gt">1000</qty> </Item> </Relationships> </Item>
- Displaying a non-breaking white space
- Displaying the formatted text property
- Displaying nested tables for relationships
- Resizing the Report window
- Showing a different value based on the value for a property
- Supporting European languages
- Set the encoding attribute for the root xml tag:
- Set the encoding attribute for the output tag:
To display a non-breaking white space, use the <xsl:text> tag.<xsl:text disable-output-escaping="yes">&nbsp;</xsl:text>Or this:  
To display formatted text (the marked-up text) property value in XSLT, use the disable-output-escaping attribute with the <xsl:value-of> tag. The marked-up text for the formatted text property is a complete HTML document and only the content for the BODY tag is required. <xsl:value-of disable-output-escaping="yes” select=”.//BODY/*"/>
To display the relationship Items for nested tables, reduce the XPath to the relative path based on the context node for the <xsl:for-each> loop that the nested relationships table is in. <xsl:for-each select="Relationships/Item"> <xsl:for-each select="related_id/Item/Relationships/Item"> </xsl:for-each></xsl:for-each>
To resize the report window, add an onload callback function for the HTML page. Add the following code before the <body> tag: <script>onload = function(){top.window.resizeTo(800,600);}</script>
To show a different value in the Report based on the actual value of the property. For example, the actual value of the property is the hex number for a color, but you want to show the name of the color in text.<xsl:choose> <xsl:when test="mgr_opinion='#FF0000'">Red</xsl:when> <xsl:when test="mgr_opinion='#FFFF00'">Yellow</xsl:when> <xsl:when test="mgr_opinion='#00FF00'">Green</xsl:when></xsl:choose>
To show the results in a European language:
<?xml version="1.0" encoding="iso-8859-1” ?>
<xsl:output encoding="iso-8859-1" method="html” omit-xml-declaration="yes” standalone="yes” indent="yes” />