В настоящее время я работаю с созданием и проверкой документов экземпляра XBRL в C # и столкнулся с некоторыми проблемами, связанными с файлом схемы экземпляра XBRL:
http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd
Согласнодля валидатора схемы .NET схема недопустима.Выдает следующее исключение:
System.Xml.Schema.XmlSchemaException: If ref is present, all of <complexType>, <simpleType>, <key>, <keyref>, <unique>, nillable, default, fixed, form, block, and type must be absent.
Я получаю то же исключение, когда пытаюсь использовать инструмент определения схемы XML (Xsd.exe) для создания представления класса схемы.
Это удивляет меня, поскольку XBRL используется во многих приложениях, и я не могу найти много информации об этом в Интернете.Здесь довольно старая дискуссия, предполагающая, что она зависит от инструментов, используемых для проверки:
http://www.xml.com/cs/user/view/cs_msg/1849
Это кажется правильным, поскольку другие средства проверки схемы не жалуются.XMLSpy, редактор XML Copy, а также собственный валидатор w3
http://www.w3.org/2001/03/webdata/xsv#hlp-addr
проверяет схему без проблем, поскольку XMLFox сообщает о той же проблеме, что и .NET.
мои вопросы:
- Действительна ли схема экземпляра XBRL?Я подозреваю, что схема спец.может быть неясно, поэтому авторы другого инструмента интерпретируют его по-разному.
- Что мне делать, если я хочу работать со схемой в .NET?Можете ли вы, как программист, каким-либо образом изменить правила механизма проверки?Есть ли другие возможности, кроме механизмов проверки в System.XML.Schema?Возможно сторонний инструмент как Xerces в мире Java?
Спасибо