Relationships and Linkroles
When a set of relationships is created these relationships are created within a containing element. For example, when definition relationships are created, the elements defining the definition relationships (the locators and definition arcs) are all created within a definitionLink element, which looks something like this:
<link:definitionLink xlink:type="extended"
xlink:role="http://www.nanonull.com/taxonomy/role/SegmentRevenueAndOperatingIncome">
The value of the xlink:role attribute in the definition link (as in the definition link listed above) must be the value of the roleURI attribute of one of the linkroles set to be used on definition relationships (see listing below). A linkrole (as in the listing below) is contained in the appinfo element of the taxonomy.
<xs:appinfo>
<link:roleType id="SegmentRevenueAndOperatingIncome"
roleURI="http://www.nanonull.com/taxonomy/role/SegmentRevenueAndOperatingIncome">
<link:definition>006091 - Disclosure - Segment Revenue and Operating Income</link:definition>
<link:usedOn>link:calculationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:presentationLink</link:usedOn>
</link:roleType>
</xs:appinfo>
A linkrole can be used in the containing elements of other relationship kinds besides in definitionLink elements (for example, in calculationLink and presentationLink elements). In the listing above, notice that there are usedOn elements that specify in which kind of relationships this linkrole may be used.
To create linkroles in a concept definitions file (main taxonomy file), in XBRL View, click the menu command XBRL | Linkroles. This pops up the Link Roles dialog (screenshot below).
In the Taxonomies tab, select the taxonomy file from the dropdown list in the File combo box and click Add to add a linkrole. Then specify the linkrole's URI and ID (refer to listing above). Now specify for which kinds of relationships this linkrole should be available; do this by checking the check boxes of the required relationship kinds (see screenshot above).
Example file: Step 6
Create two linkroles via the Link Roles dialog (XBRL | Linkroles) as described above and shown in the screenshot above:
1.id="SegmentRevenueAndOperatingIncome" URI="http://www.nanonull.com/taxonomy/role/SegmentRevenueAndOperatingIncome" (to be used on definition, calculation, and presentation relationships)
2.id="FinancialStatements" URI="http://www.nanonull.com/taxonomy/role/FinancialStatements" (to be used on calculation and presentation relationships)
In the next step we will create relationships for the new taxonomy.