4
Ok. C# 클래스를 생성하려고합니다. http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd (기본적으로 xbrl 스키마).SubstitutionGroup/anytype을 사용하여 Xsd.exe에서 사용할 수없는 코드가 생성되는 경우
튜플 및 항목에 문제가 있습니다.
<element name="tuple" type="anyType" abstract="true">
<annotation>
<documentation>
Abstract tuple element used as head of tuple substitution group
</documentation>
</annotation>
</element>
<element name="xbrl">
<annotation>
<documentation>
XBRL instance root element.
</documentation>
</annotation>
<complexType>
<sequence>
<element ref="link:schemaRef" minOccurs="1" maxOccurs="unbounded" />
<element ref="link:linkbaseRef" minOccurs="0" maxOccurs="unbounded" />
<element ref="link:roleRef" minOccurs="0" maxOccurs="unbounded" />
<element ref="link:arcroleRef" minOccurs="0" maxOccurs="unbounded" />
<choice minOccurs="0" maxOccurs="unbounded">
<element ref="xbrli:item"/>
<element ref="xbrli:tuple"/>
<element ref="xbrli:context"/>
<element ref="xbrli:unit"/>
<element ref="link:footnoteLink"/>
</choice>
</sequence>
<attribute name="id" type="ID" use="optional" />
<anyAttribute namespace="http://www.w3.org/XML/1998/namespace"
processContents="lax" />
</complexType>
</element>
그리고 순서에 대해 생성 된 속성은 다음과 같습니다 :
다음은 XSD의 모습입니다
[System.Xml.Serialization.XmlElementAttribute("context", typeof(context))]
[System.Xml.Serialization.XmlElementAttribute("item", typeof(object))]
[System.Xml.Serialization.XmlElementAttribute("tuple", typeof(object))]
[System.Xml.Serialization.XmlElementAttribute("unit", typeof(unit))]
[System.Xml.Serialization.XmlElementAttribute("footnoteLink", typeof(footnoteLink),
Namespace="http://www.xbrl.org/2003/linkbase")]
public object[] Items {
get {
return this.itemsField;
}
set {
this.itemsField = value;
}
}
는 기본적으로 튜플 및 항목 추상 기본 클래스가 생성되지 않습니다. 그래서 다른 스키마에 substitutiongroup = "tuple"이있을 때도 넣을 수 없습니다. (글쎄, 할 수는 있지만 직렬화하지는 않습니다).