XBRL- conf - cr5 -2012-01-24一致性套件包含以下测试用例变体,编号为304-26,这是无效的XBRL:
<?xml version="1.0"?>
<!-- Copyright 2003 XBRL International Inc. See www.xbrl.org/legal. All Rights Reserved. -->
<xbrl xmlns="http://www.xbrl.org/2003/instance" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:my="http://www.someCompany.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.someCompany.com 304-03-monetaryItemTypeUnitsRestrictions.xsd">
<link:schemaRef xlink:href="304-03-monetaryItemTypeUnitsRestrictions.xsd" xlink:type="simple" />
<my:assets unitRef="u1" contextRef="c1" precision="1">120</my:assets>
<context id="c1">
<entity>
<identifier scheme="http://www.someCompany.com">example</identifier>
</entity>
<period>
<instant>2003-02-27</instant>
</period>
</context>
<unit xmlns:ISO4217="http://www.xbrl.org/2003/iso4217" id="u1">
<divide>
<unitNumerator>
<measure>ISO4217:USD</measure>
</unitNumerator>
<unitDenominator>
<measure>xbrli:shares</measure>
</unitDenominator>
</divide>
</unit>
</xbrl>
谁能告诉我为什么这是无效的?我猜这与单位的货币项目类型和元素有关,尽管XBRL规范并没有明确指出货币项目类型和单位分子和分母。这个XBRL读起来好像实例指定了2003年2月27日发布的$120美元/股。有人能指出XBRL规范中讨论为什么这是无效的部分吗?
是,它会抛出错误;在http://publicsvn.xbrl.org/svn/public/base-specification-conformance/2012-01-24/Common/300-instance/304-unitOfMeasure.xml
<variation id="V-26" name="304-26-monetaryItemTypeUnitsRestrictions">
<description>Monetary item reported with unit having a denominator.</description>
<data>
<xsd readMeFirst="false">304-03-monetaryItemTypeUnitsRestrictions.xsd</xsd>
<instance readMeFirst="true">304-26-monetaryItemTypeUnitsRestrictions.xml</instance>
</data>
<result expected="invalid"/>
</variation>
,它使用http://publicsvn.xbrl.org/svn/public/base-specification-conformance/2012-01-24/Common/300-instance/304-03-monetaryItemTypeUnitsRestrictions.xsd和http://publicsvn.xbrl.org/svn/public/base-specification-conformance/2012-01-24/Common/300-instance/304-26-monetaryItemTypeUnitsRestrictions.xml,它清楚地表明预期结果"无效"
或者你可以测试下面提到的情况:将你在实例中引用的304-03-monetaryItemTypeUnitsRestrictions.xsd
的内容替换为<link:schemaRef xlink:href="304-03-monetaryItemTypeUnitsRestrictions.xsd" xlink:type="simple"/>
;并使其内容如下,然后验证??
<?xml version="1.0"?>
<schema targetNamespace="http://www.someCompany.com" xmlns:my="http://www.someCompany.com" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xbrli="http://www.xbrl.org/2003/instance" elementFormDefault="qualified">
<import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd"/>
<complexType name="perShareItemType">
<simpleContent>
<restriction base="xbrli:decimalItemType"/>
</simpleContent>
</complexType>
<element name="assets" type="my:perShareItemType"
substitutionGroup="xbrli:item" id="Asset" xbrli:periodType="instant"/>
</schema>
我找到了。问题在于货币道具类型不能使用复杂的单位。
我查看了2013年美国GAAP分类法中的EarningsPerShareBasic类型,它使用了decimalItemType,而不是monetaryItemType。我认为这是有道理的,因为货币类型需要用复杂的单位(如美元/股)来表示"120美元/股"之类的东西。
从所有这些,我得出结论,304-26一致性测试所测试的是货币项目类型(即测试中使用的"资产"事实)不能使用复杂类型作为其单位。根据XBRL规范第4.8.2节中的表3,这也适用于股票项目类型。