I am trying to parse SEC edgar xml data and am confused by definition linkable. Below is an extract from the definition linkbase for apple for their 10-Q. Note: the roleURI
column has been added from the roleRef
elements in the definition linkbase.
idx order role {http://www.w3.org/1999/xlink}arcrole {http://www.w3.org/1999/xlink}from roleURI {http://www.w3.org/1999/xlink}to
16 1 http://www.apple.com/taxonomy/role/StatementOfIncome http://xbrl.org/int/dim/arcrole/dimension-domain dei_LegalEntityAxis aapl-20151226.xsd#Role_StatementOfIncome dei_EntityDomain
33 1 http://www.apple.com/taxonomy/role/StatementOfIncome http://xbrl.org/int/dim/arcrole/hypercube-dimension us-gaap_StatementTable aapl-20151226.xsd#Role_StatementOfIncome dei_LegalEntityAxis
17 1.01 http://www.apple.com/taxonomy/role/StatementOfIncome http://xbrl.org/int/dim/arcrole/domain-member us-gaap_OperatingExpensesAbstract aapl-20151226.xsd#Role_StatementOfIncome us-gaap_ResearchAndDevelopmentExpense
18 1.02 http://www.apple.com/taxonomy/role/StatementOfIncome http://xbrl.org/int/dim/arcrole/domain-member us-gaap_OperatingExpensesAbstract aapl-20151226.xsd#Role_StatementOfIncome us-gaap_SellingGeneralAndAdministrativeExpense
19 1.03 http://www.apple.com/taxonomy/role/StatementOfIncome http://xbrl.org/int/dim/arcrole/domain-member us-gaap_OperatingExpensesAbstract aapl-20151226.xsd#Role_StatementOfIncome us-gaap_OperatingExpenses
14 1.04 http://www.apple.com/taxonomy/role/StatementOfIncome http://xbrl.org/int/dim/arcrole/domain-member us-gaap_EarningsPerShareAbstract aapl-20151226.xsd#Role_StatementOfIncome us-gaap_EarningsPerShareBasic
15 1.05 http://www.apple.com/taxonomy/role/StatementOfIncome http://xbrl.org/int/dim/arcrole/domain-member us-gaap_EarningsPerShareAbstract aapl-20151226.xsd#Role_StatementOfIncome us-gaap_EarningsPerShareDiluted
21 1.06 http://www.apple.com/taxonomy/role/StatementOfIncome http://xbrl.org/int/dim/arcrole/domain-member us-gaap_StatementLineItems aapl-20151226.xsd#Role_StatementOfIncome us-gaap_SalesRevenueNet
22 1.07 http://www.apple.com/taxonomy/role/StatementOfIncome http://xbrl.org/int/dim/arcrole/domain-member us-gaap_StatementLineItems aapl-20151226.xsd#Role_StatementOfIncome us-gaap_CostOfGoodsAndServicesSold
23 1.08 http://www.apple.com/taxonomy/role/StatementOfIncome http://xbrl.org/int/dim/arcrole/domain-member us-gaap_StatementLineItems aapl-20151226.xsd#Role_StatementOfIncome us-gaap_GrossProfit
24 1.09 http://www.apple.com/taxonomy/role/StatementOfIncome http://xbrl.org/int/dim/arcrole/domain-member us-gaap_StatementLineItems aapl-20151226.xsd#Role_StatementOfIncome us-gaap_OperatingExpensesAbstract
25 1.1 http://www.apple.com/taxonomy/role/StatementOfIncome http://xbrl.org/int/dim/arcrole/domain-member us-gaap_StatementLineItems aapl-20151226.xsd#Role_StatementOfIncome us-gaap_OperatingIncomeLoss
26 1.11 http://www.apple.com/taxonomy/role/StatementOfIncome http://xbrl.org/int/dim/arcrole/domain-member us-gaap_StatementLineItems aapl-20151226.xsd#Role_StatementOfIncome us-gaap_NonoperatingIncomeExpense
27 1.12 http://www.apple.com/taxonomy/role/StatementOfIncome http://xbrl.org/int/dim/arcrole/domain-member us-gaap_StatementLineItems aapl-20151226.xsd#Role_StatementOfIncome us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
28 1.13 http://www.apple.com/taxonomy/role/StatementOfIncome http://xbrl.org/int/dim/arcrole/domain-member us-gaap_StatementLineItems aapl-20151226.xsd#Role_StatementOfIncome us-gaap_IncomeTaxExpenseBenefit
29 1.14 http://www.apple.com/taxonomy/role/StatementOfIncome http://xbrl.org/int/dim/arcrole/domain-member us-gaap_StatementLineItems aapl-20151226.xsd#Role_StatementOfIncome us-gaap_NetIncomeLoss
30 1.15 http://www.apple.com/taxonomy/role/StatementOfIncome http://xbrl.org/int/dim/arcrole/domain-member us-gaap_StatementLineItems aapl-20151226.xsd#Role_StatementOfIncome us-gaap_EarningsPerShareAbstract
31 1.16 http://www.apple.com/taxonomy/role/StatementOfIncome http://xbrl.org/int/dim/arcrole/domain-member us-gaap_StatementLineItems aapl-20151226.xsd#Role_StatementOfIncome us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract
32 1.17 http://www.apple.com/taxonomy/role/StatementOfIncome http://xbrl.org/int/dim/arcrole/domain-member us-gaap_StatementLineItems aapl-20151226.xsd#Role_StatementOfIncome us-gaap_CommonStockDividendsPerShareDeclared
34 1.19 http://www.apple.com/taxonomy/role/StatementOfIncome http://xbrl.org/int/dim/arcrole/domain-member us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract aapl-20151226.xsd#Role_StatementOfIncome us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
35 1.2 http://www.apple.com/taxonomy/role/StatementOfIncome http://xbrl.org/int/dim/arcrole/domain-member us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract aapl-20151226.xsd#Role_StatementOfIncome us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
20 100 http://www.apple.com/taxonomy/role/StatementOfIncome http://xbrl.org/int/dim/arcrole/all us-gaap_StatementLineItems aapl-20151226.xsd#Role_StatementOfIncome us-gaap_StatementTable
From this data, I would like to be able to recreate the format presented here for the Condensed Consolidated Statements of Operations
.
My issue is that I am not sure how to parse it. I assume that one starts at the arcrole/all
which states has a from link = us-gaap_StatementLineItems
and to = us-gaap_StatementTable
. From this point it is possible to trace the following links through the table:
from to
us-gaap_StatementTable dei_LegalEntityAxis
dei_LegalEntityAxis dei_EntityDomain
From here, it stops as dei_EntityDomain
does not link to anything. I know that the structure should look like this:
Rendered Data:
Model Structure:
I would expect the structure of the linkbase to look something like this:
from to
us-gaap_StatementTable dei_LegalEntityAxis
us-gaap_StatementTable us-gaap_StatementLineItems
I can see that this would allow effectively two levels to hang from the Statement table but it clearly isn't working like that.
Can someone tell me how I can use the definition linkbase data provided to read it to get to the intended structure shown in the picture above above. Once I understand how the definition linkbase works, I can extract the facts and concepts.
I have created the model structure of the table from the presentation linkbase for the StatementofIncome role.
order preferredLabel role {http://www.w3.org/1999/xlink}arcrole {http://www.w3.org/1999/xlink}from roleURI {http://www.w3.org/1999/xlink}to
1 http://www.xbrl.org/2003/role/terseLabel http://www.apple.com/taxonomy/role/StatementOfIncome http://www.xbrl.org/2003/arcrole/parent-child us-gaap_IncomeStatementAbstract aapl-20151226.xsd#Role_StatementOfIncome us-gaap_StatementTable
1 http://www.xbrl.org/2003/role/terseLabel http://www.apple.com/taxonomy/role/StatementOfIncome http://www.xbrl.org/2003/arcrole/parent-child us-gaap_StatementTable aapl-20151226.xsd#Role_StatementOfIncome dei_LegalEntityAxis
1 http://www.xbrl.org/2003/role/terseLabel http://www.apple.com/taxonomy/role/StatementOfIncome http://www.xbrl.org/2003/arcrole/parent-child dei_LegalEntityAxis aapl-20151226.xsd#Role_StatementOfIncome dei_EntityDomain
100 http://www.xbrl.org/2003/role/terseLabel http://www.apple.com/taxonomy/role/StatementOfIncome http://www.xbrl.org/2003/arcrole/parent-child us-gaap_StatementTable aapl-20151226.xsd#Role_StatementOfIncome us-gaap_StatementLineItems
1.06 http://www.xbrl.org/2003/role/terseLabel http://www.apple.com/taxonomy/role/StatementOfIncome http://www.xbrl.org/2003/arcrole/parent-child us-gaap_StatementLineItems aapl-20151226.xsd#Role_StatementOfIncome us-gaap_SalesRevenueNet
1.07 http://www.xbrl.org/2003/role/terseLabel http://www.apple.com/taxonomy/role/StatementOfIncome http://www.xbrl.org/2003/arcrole/parent-child us-gaap_StatementLineItems aapl-20151226.xsd#Role_StatementOfIncome us-gaap_CostOfGoodsAndServicesSold
1.08 http://www.xbrl.org/2003/role/totalLabel http://www.apple.com/taxonomy/role/StatementOfIncome http://www.xbrl.org/2003/arcrole/parent-child us-gaap_StatementLineItems aapl-20151226.xsd#Role_StatementOfIncome us-gaap_GrossProfit
1.09 http://www.xbrl.org/2003/role/terseLabel http://www.apple.com/taxonomy/role/StatementOfIncome http://www.xbrl.org/2003/arcrole/parent-child us-gaap_StatementLineItems aapl-20151226.xsd#Role_StatementOfIncome us-gaap_OperatingExpensesAbstract
1.01 http://www.xbrl.org/2003/role/terseLabel http://www.apple.com/taxonomy/role/StatementOfIncome http://www.xbrl.org/2003/arcrole/parent-child us-gaap_OperatingExpensesAbstract aapl-20151226.xsd#Role_StatementOfIncome us-gaap_ResearchAndDevelopmentExpense
1.02 http://www.xbrl.org/2003/role/terseLabel http://www.apple.com/taxonomy/role/StatementOfIncome http://www.xbrl.org/2003/arcrole/parent-child us-gaap_OperatingExpensesAbstract aapl-20151226.xsd#Role_StatementOfIncome us-gaap_SellingGeneralAndAdministrativeExpense
1.03 http://www.xbrl.org/2003/role/totalLabel http://www.apple.com/taxonomy/role/StatementOfIncome http://www.xbrl.org/2003/arcrole/parent-child us-gaap_OperatingExpensesAbstract aapl-20151226.xsd#Role_StatementOfIncome us-gaap_OperatingExpenses
1.04 http://www.xbrl.org/2003/role/terseLabel http://www.apple.com/taxonomy/role/StatementOfIncome http://www.xbrl.org/2003/arcrole/parent-child us-gaap_EarningsPerShareAbstract aapl-20151226.xsd#Role_StatementOfIncome us-gaap_EarningsPerShareBasic
1.05 http://www.xbrl.org/2003/role/terseLabel http://www.apple.com/taxonomy/role/StatementOfIncome http://www.xbrl.org/2003/arcrole/parent-child us-gaap_EarningsPerShareAbstract aapl-20151226.xsd#Role_StatementOfIncome us-gaap_EarningsPerShareDiluted
1.1 http://www.xbrl.org/2003/role/totalLabel http://www.apple.com/taxonomy/role/StatementOfIncome http://www.xbrl.org/2003/arcrole/parent-child us-gaap_StatementLineItems aapl-20151226.xsd#Role_StatementOfIncome us-gaap_OperatingIncomeLoss
1.11 http://www.xbrl.org/2003/role/terseLabel http://www.apple.com/taxonomy/role/StatementOfIncome http://www.xbrl.org/2003/arcrole/parent-child us-gaap_StatementLineItems aapl-20151226.xsd#Role_StatementOfIncome us-gaap_NonoperatingIncomeExpense
1.12 http://www.xbrl.org/2003/role/totalLabel http://www.apple.com/taxonomy/role/StatementOfIncome http://www.xbrl.org/2003/arcrole/parent-child us-gaap_StatementLineItems aapl-20151226.xsd#Role_StatementOfIncome us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
1.13 http://www.xbrl.org/2003/role/terseLabel http://www.apple.com/taxonomy/role/StatementOfIncome http://www.xbrl.org/2003/arcrole/parent-child us-gaap_StatementLineItems aapl-20151226.xsd#Role_StatementOfIncome us-gaap_IncomeTaxExpenseBenefit
1.14 http://www.xbrl.org/2003/role/totalLabel http://www.apple.com/taxonomy/role/StatementOfIncome http://www.xbrl.org/2003/arcrole/parent-child us-gaap_StatementLineItems aapl-20151226.xsd#Role_StatementOfIncome us-gaap_NetIncomeLoss
1.15 http://www.xbrl.org/2003/role/terseLabel http://www.apple.com/taxonomy/role/StatementOfIncome http://www.xbrl.org/2003/arcrole/parent-child us-gaap_StatementLineItems aapl-20151226.xsd#Role_StatementOfIncome us-gaap_EarningsPerShareAbstract
1.16 http://www.xbrl.org/2003/role/verboseLabel http://www.apple.com/taxonomy/role/StatementOfIncome http://www.xbrl.org/2003/arcrole/parent-child us-gaap_StatementLineItems aapl-20151226.xsd#Role_StatementOfIncome us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract
1.17 http://www.xbrl.org/2003/role/terseLabel http://www.apple.com/taxonomy/role/StatementOfIncome http://www.xbrl.org/2003/arcrole/parent-child us-gaap_StatementLineItems aapl-20151226.xsd#Role_StatementOfIncome us-gaap_CommonStockDividendsPerShareDeclared
1.19 http://www.xbrl.org/2003/role/terseLabel http://www.apple.com/taxonomy/role/StatementOfIncome http://www.xbrl.org/2003/arcrole/parent-child us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract aapl-20151226.xsd#Role_StatementOfIncome us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
1.2 http://www.xbrl.org/2003/role/terseLabel http://www.apple.com/taxonomy/role/StatementOfIncome http://www.xbrl.org/2003/arcrole/parent-child us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract aapl-20151226.xsd#Role_StatementOfIncome us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
Firstly, I sorted by order and then found the first 'from' row which contained the word 'Abstract'. From here I iterated through the 'links}to' links to create the following table structure using the order field to create the correct sorting:
us-gaap_IncomeStatementAbstract
Statement [Table] us-gaap_StatementTable
Legal Entity [Axis] dei_LegalEntityAxis
Entity [Domain] dei_EntityDomain
Statement [Line Items] us-gaap_StatementLineItems
Net sales us-gaap_SalesRevenueNet
Cost of sales us-gaap_CostOfGoodsAndServicesSold
Gross margin us-gaap_GrossProfit
Operating expenses: us-gaap_OperatingExpensesAbstract
Research and development us-gaap_ResearchAndDevelopmentExpense
Selling, general and administrative us-gaap_SellingGeneralAndAdministrativeExpense
Total operating expenses us-gaap_OperatingExpenses
Operating income us-gaap_OperatingIncomeLoss
Other income/(expense), net us-gaap_NonoperatingIncomeExpense
Income before provision for income taxes us-gaap_IncomeLossFromContinuingOperationsBeforeIn...
Provision for income taxes us-gaap_IncomeTaxExpenseBenefit
Net income us-gaap_NetIncomeLoss
Earnings per share: us-gaap_EarningsPerShareAbstract
Basic us-gaap_EarningsPerShareBasic
Diluted us-gaap_EarningsPerShareDiluted
Shares used in computing earnings per share: us-gaap_WeightedAverageNumberOfSharesOutstandingAb...
Basic us-gaap_WeightedAverageNumberOfSharesOutstandingBa...
Diluted us-gaap_WeightedAverageNumberOfDilutedSharesOutsta...
Cash dividends declared per share us-gaap_CommonStockDividendsPerShareDeclared
This looks very similar to the model structure created from a rendering application: