## List of Rules

### Other Rules and Best Practice Tasks

# | Label | QName
--- | --- | ---
1 | Concept {coyotefn:preferred-xml-qname($deprecated-concept)} is deprecated | xc-usg-w:DeprecatedConcept
2 | Calculation Concept does not appear in any Presentation | xc-usgc-bp:CalculationConceptNotInAnyPresentation
3 | Calculation Total not represented in any Presentation as a Total | xc-usgc-bp:CalculationTotalNotPresentationTotal
4 | Presentation Total not represented in any Calculation as a Total | xc-usgc-bp:PresentationTotalNotCalculationTotal
5 | Except for the penultimate child, a [Roll Forward] should not contain child concepts whose name contains 'IncreaseDecrease' | xc-usgrf-bp:NotRollForwardNamePeriodIncreaseDecrease
6 | Except for the last child of a [Roll Forward], concepts should not have a preferred label role of 'http://www.xbrl.org/2003/role/periodEndLabel' | xc-usgrf-bp:NotRollForwardPeriodEnd
7 | Except for the first child of a [Roll Forward], concepts should not have a preferred label role of 'http://www.xbrl.org/2003/role/periodStartLabel' | xc-usgrf-bp:NotRollForwardPeriodStart
8 | The first child of a [Roll Forward] should have a preferred label role of 'http://www.xbrl.org/2003/role/periodStartLabel' | xc-usgrf-bp:RollForwardFirstChildPreferredLabelRole
9 | The last child of a [Roll Forward] should have a preferred label role of 'http://www.xbrl.org/2003/role/periodEndLabel' | xc-usgrf-bp:RollForwardLastChildPreferredLabelRole
10 | [Roll Forward] MUST have at least three children | xc-usgrf-bp:RollForwardMissingChildren
11 | The Presentation indicates a "period start", but there is no corresponding "period end" | xc-usgrf-bp:RollForwardMissingPeriodEnd
12 | The Presentation indicates a "period end", but there is no corresponding "PeriodIncreaseDecrease" | xc-usgrf-bp:RollForwardMissingPeriodIncreaseDecrease
13 | The Presentation indicates a "period end", but there is no corresponding "period start" | xc-usgrf-bp:RollForwardMissingPeriodStart
14 | Each [Roll Forward] should be abstract | xc-usgrf-bp:RollForwardNotAbstract
15 | The penultimate child of a [Roll Forward] should have a concept whose name ends with 'PeriodIncreaseDecrease' | xc-usgrf-bp:RollForwardPenultimateChildNameNotPeriodIncreaseDecrease
16 | The penultimate child of a [Roll Forward] should have a "total" preferred label role | xc-usgrf-bp:RollForwardPenultimateChildPreferredLabelRole
17 | [Roll Forward] should not be nested | xc-usgrf-bp:RollForwardPlacement
18 | Concepts with a name suffix of 'RollForward' should have a standard label with the suffix '[Roll Forward]' | xc-usgrf-i:RollForwardConceptNotRollForwardLabel
19 | The standard label of the first child of a [Roll Forward] should have the suffix ', Beginning Balance' | xc-usgrf-i:RollForwardFirstChildStandardLabel
20 | Concepts with a standard label with the suffix '[Roll Forward]' should have a name whose suffix is 'RollForward' | xc-usgrf-i:RollForwardLabelNotRollForwardConcept
21 | The standard label of the last child of a [Roll Forward] should have the suffix ', Ending Balance' | xc-usgrf-i:RollForwardLastChildStandardLabel
22 | All Hypercubes should be closed (using attribute xbrldt:closed on "all" and "notall" arcs) | xc-usgt-bp:OpenHypercube
23 | In a presentation network, [Line Items] should be abstract | xc-usgt-bp:PresentationLineItemsNotAbstract
24 | In a presentation network, [Line Items] should only appear a child of a [Table] | xc-usgt-bp:PresentationLineItemsPlacement
25 | In a presentation network, [Axis] should appear before [Line Items] of a [Table] | xc-usgt-bp:PresentationTableDimensionOrder
26 | In a presentation network, [Line Items] concept name should match the corresponding [Table] | xc-usgt-bp:PresentationTableLineItemsMismatch
27 | In a presentation network, [Line Items] should appear immediately after all [Axis] concepts | xc-usgt-bp:PresentationTableLineItemsOrder
28 | Dimension concepts should have a standard label with the suffix [Axis] | xc-usgt-i:DimensionNotAxis
29 | Hypercube concepts should have a standard label with the suffix [Table] | xc-usgt-i:HypercubeNotTable
30 | In a presentation network, A [Line Items] concept should have a standard label with the suffix [Line Items] | xc-usgt-i:PresentationLineItemsConceptNotLineItemsLabel
31 | Only Hypercube concepts should have a standard label with the suffix [Table] | xc-usgt-i:TableNotHypercube
32 | All arcs whose source and target both refer to concepts MUST specify an order attribute. | frta-e:ArcMissingOrderAttribute
33 | A concept MUST NOT prohibit the id attribute inherited from a base type. | frta-e:ConceptIDProhibited
34 | A schema document MUST contain only declarations of reference parts OR declarations of concepts, roles and arc roles OR declarations that are not concepts and not reference parts. | frta-e:DocumentMissingPurpose
35 | A schema MUST NOT define a role type that duplicates a definition in the DTS whose starting point is the schema defining that role type. | frta-e:DuplicateRoleType
36 | Every schema in a DTS MUST define a non-empty targetNamespace attribute value. | frta-e:EmptyTargetNamespace
37 | Taxonomy schemas MUST declare elementFormDefault to be "qualified," attributeFormDefault MUST have the value "unqualified", and the "form" attribute MUST NOT appear on element and attribute declarations. | frta-e:IllegalUseOfFormAttributes
38 | The arcrole URI in a arcroleType element MUST be an LRR approved role or begin with the same scheme and authority parts as the target namespace of the taxonomy schema where it appears. | frta-e:InvalidArcroleTypeArcroleURI
39 | Element declarations for concepts MUST contain an "id" attribute whose value begins with the recommended namespace prefix of the taxonomy, followed by an underscore, followed by the element name. This concept's ID should be '{coyotefn:preferred-prefix($concept/fn:root()/*/@targetNamespace)}_{$concept/@name}', not '{$concept/@id}' | frta-e:InvalidElementIDFormat
40 | All extended-type links in a single linkbase MUST have the same namespace and local name. | frta-e:InvalidMixedLinkbase
41 | The role URI in a roleType element MUST be an LRR approved role or begin with the same scheme and authority parts as the target namespace of the taxonomy schema where it appears. | frta-e:InvalidRoleTypeRoleURI
42 | A linkbase MUST NOT include any link elements (simple, resource, extended, or arc) not in an XBRL module or in the XBRL 2.1 Specification. | frta-e:LinkbaseContainsNonLinkElements
43 | A linkbaseRef element MUST have an xlink:role attribute value. | frta-e:LinkbaseRefMissingXLinkRole
44 | The label and reference elements MUST have only their standard or LRR approved resource roles. | frta-e:NotApprovedResourceRole
45 | Each unique taxonomy schema target namespace MUST have one and only one namespace prefix of one to twelve characters, which will be its recommended namespace prefix. | frta-e:PreferredPrefixFormatError
46 | Taxonomy schemas MUST be defined in XML documents in which the XML Schema "schema" element appears once only as the root element. | frta-e:SchemaNotRoot
47 | The source and target concepts of a summation-item relationship MUST be distinct. | frta-e:SummationItemIdenticalConcepts
48 | The declarations of the source and target concepts of a summation-item relationship MUST have identical values of the periodType attribute. | frta-e:SummationItemPeriodTypeMismatch
49 | Taxonomy schemas MUST NOT contain embedded linkbases. | frta-e:TaxonomyContainsEmbeddedLinkbase
50 | A concept MUST NOT have more than one label in a base set for each combination of language and label role in the DTS whose starting point is the schema defining that concept. | frta-e:TooManyLabels
51 | Tuple content models MUST NOT use the "all" compositor. | frta-e:TupleContainsAllCompositor
52 | Tuple content models MUST include an optional local attribute with name 'id' and type ID. | frta-e:TupleMustSpecifyID
53 | The content model of a tuple SHOULD NOT contain a reference to itself nor any possible ancestor. | frta-e:TupleSelfReference
54 | When an arc in an extension is equivalent to an arc in the base, the extension arc SHOULD have a higher priority than the base arc. | frta-w:HigherOrderAttributeRecommended
55 | Each concept MUST have a unique standard label *or* Each Concept MUST have a unique verbose label for each language. | frta-w:IdenticalConceptLabels
56 | Two relationships defined by arcs in the same base set with the "use" attribute having the value "optional", having concepts as targets and sharing the same "from" concept SHOULD have distinct values for the "order" attribute. | frta-w:IdenticalOrderAttribute
57 | Presentation parent-child relationships having the same parent and child in extended links with the same role SHOULD provide preferred labels. | frta-w:MissingPreferredLabel
58 | The DTS rooted at the schema where a tuple is defined SHOULD contain at least one tree of presentation parent-child relationships in which every concept that can appear as a descendant of the tuple in an instance appears as a descendant of the tuple in that presentation tree, and there SHOULD NOT exist any tree of presentation parent-child relationships in which a non-abstract concept that cannot appear as a descendant of the tuple in an instance appears as a descendant of the tuple in that presentation tree. | frta-w:PresentationDoesNotMirrorTuple
59 | The concept-label, essence-alias, similar-tuples, concept-reference, and general-special relationships SHOULD NOT be prohibited. | frta-w:ProhibitionNotRecommended