2016-02-11 2 views
0

Вот XSD я использую (скачано прямо из источника)Получение ошибки синтаксического анализа XSD в C# классы

<?xml version="1.0" encoding="UTF-8"?> 
 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.newyorkfed.org/resources/sdmxml/schemas/V2_1/fundRate" xmlns:dsd="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/data/structurespecific" xmlns:common="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/common" xmlns:codes="http://www.newyorkfed.org/resources/sdmxml/schemas/V2_1/fundRateCommon" targetNamespace="http://www.newyorkfed.org/resources/sdmxml/schemas/V2_1/fundRate" elementFormDefault="qualified" attributeFormDefault="unqualified"> 
 
\t <xs:import namespace="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/data/structurespecific" schemaLocation="SDMXDataStructureSpecific.xsd"/> 
 
\t <xs:import namespace="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/common" schemaLocation="SDMXCommon.xsd"/> 
 
\t <xs:import namespace="http://www.newyorkfed.org/resources/sdmxml/schemas/V2_1/fundRateCommon" schemaLocation="fundRateCommon.xsd"/> 
 
\t <xs:complexType name="RateDataSetType"> 
 
\t \t <xs:complexContent> 
 
\t \t \t <xs:restriction base="dsd:TimeSeriesDataSetType"> 
 
\t \t \t \t <xs:sequence> 
 
\t \t \t \t \t <xs:element ref="common:Annotations" minOccurs="0"/> 
 
\t \t \t \t \t <xs:element name="DataProvider" type="common:DataProviderReferenceType" form="unqualified" minOccurs="0"/> 
 
\t \t \t \t \t <xs:element name="Group" type="GroupType" form="unqualified" minOccurs="0" maxOccurs="unbounded"/> 
 
\t \t \t \t \t <xs:choice minOccurs="0"> 
 
\t \t \t \t \t \t <xs:element name="Series" type="RateSeriesType" form="unqualified" maxOccurs="unbounded"/> 
 
\t \t \t \t \t </xs:choice> 
 
\t \t \t \t </xs:sequence> 
 
\t \t \t \t <xs:attribute name="REPORTING_YEAR_START_DAY" type="xs:gMonthDay" use="prohibited"/> 
 
\t \t \t </xs:restriction> 
 
\t \t </xs:complexContent> 
 
\t </xs:complexType> 
 
\t <xs:complexType name="SupplementalDataSetType"> 
 
\t \t <xs:complexContent> 
 
\t \t \t <xs:restriction base="dsd:TimeSeriesDataSetType"> 
 
\t \t \t \t <xs:sequence> 
 
\t \t \t \t \t <xs:element ref="common:Annotations" minOccurs="0"/> 
 
\t \t \t \t \t <xs:element name="DataProvider" type="common:DataProviderReferenceType" form="unqualified" minOccurs="0"/> 
 
\t \t \t \t \t <xs:element name="Group" type="GroupType" form="unqualified" minOccurs="0" maxOccurs="unbounded"/> 
 
\t \t \t \t \t <xs:choice minOccurs="0"> 
 
\t \t \t \t \t \t <xs:element name="Series" type="SupplementalSeriesType" form="unqualified" maxOccurs="unbounded"/> 
 
\t \t \t \t \t </xs:choice> 
 
\t \t \t \t </xs:sequence> 
 
\t \t \t \t <xs:attribute name="REPORTING_YEAR_START_DAY" type="xs:gMonthDay" use="prohibited"/> 
 
\t \t \t </xs:restriction> 
 
\t \t </xs:complexContent> 
 
\t </xs:complexType> 
 
\t <xs:complexType name="GroupType" abstract="true"> 
 
\t \t <xs:complexContent> 
 
\t \t \t <xs:restriction base="dsd:GroupType"> 
 
\t \t \t \t <xs:sequence> 
 
\t \t \t \t \t <xs:element ref="common:Annotations" minOccurs="0"/> 
 
\t \t \t \t </xs:sequence> 
 
\t \t \t \t <xs:attribute name="type" type="GroupType.ID" use="optional"/> 
 
\t \t \t \t <xs:anyAttribute namespace="##local"/> 
 
\t \t \t </xs:restriction> 
 
\t \t </xs:complexContent> 
 
\t </xs:complexType> 
 
\t <xs:simpleType name="GroupType.ID"> 
 
\t \t <xs:restriction base="common:IDType"> 
 
\t \t \t <xs:enumeration value="RateSiblingGroup"/> 
 
\t \t \t <xs:enumeration value="SupplementalSiblingGroup"/> 
 
\t \t \t <xs:enumeration value="RateGroup"/> 
 
\t \t \t <xs:enumeration value="SupplementalGroup"/> 
 
\t \t </xs:restriction> 
 
\t </xs:simpleType> 
 
\t <xs:complexType name="RateSiblingGroup"> 
 
\t \t <xs:complexContent> 
 
\t \t \t <xs:restriction base="GroupType"> 
 
\t \t \t \t <xs:sequence> 
 
\t \t \t \t \t <xs:element ref="common:Annotations" minOccurs="0"/> 
 
\t \t \t \t </xs:sequence> 
 
\t \t \t \t <xs:attribute name="DECIMALS" type="codes:SDMX.CL_DECIMALS.1.0" use="optional"/> 
 
\t \t \t \t <xs:attribute name="FUNDRATE_OBS_POINT" type="codes:FRBNY.CL_FUNDRATE_OBS_POINT.1.0" use="required"/> 
 
\t \t \t \t <xs:attribute name="FUNDRATE_TYPE" type="codes:FRBNY.CL_FUNDRATE_TYPE.1.0" use="required"/> 
 
\t \t \t \t <xs:attribute name="TITLE" type="xs:string" use="optional"/> 
 
\t \t \t \t <xs:attribute name="type" type="GroupType.ID" use="optional" fixed="RateSiblingGroup"/> 
 
\t \t \t \t <xs:attribute name="UNIT_MEASURE" type="codes:SDMX.CL_UNIT_MEASURE.1.0" use="optional"/> 
 
\t \t \t \t <xs:attribute name="UNIT_MULT" type="codes:SDMX.CL_UNIT_MULT.1.0" use="optional"/> 
 
\t \t \t \t <xs:attribute name="LAST_DAY_OF_MAINTENANCE_PERIOD" type="xs:boolean" use="optional"/> 
 
\t \t \t \t <xs:attribute name="REPORTING_YEAR_START_DAY" type="xs:gMonthDay" use="prohibited"/> 
 
\t \t \t </xs:restriction> 
 
\t \t </xs:complexContent> 
 
\t </xs:complexType> 
 
\t <xs:complexType name="SupplementalSiblingGroup"> 
 
\t \t <xs:complexContent> 
 
\t \t \t <xs:restriction base="GroupType"> 
 
\t \t \t \t <xs:sequence> 
 
\t \t \t \t \t <xs:element ref="common:Annotations" minOccurs="0"/> 
 
\t \t \t \t </xs:sequence> 
 
\t \t \t \t <xs:attribute name="DECIMALS" type="codes:SDMX.CL_DECIMALS.1.0" use="optional"/> 
 
\t \t \t \t <xs:attribute name="FUNDRATE_SUPPLEMENTAL" type="codes:FRBNY.CL_FUNDRATE_SUPPLEMENTAL.1.0" use="required"/> 
 
\t \t \t \t <xs:attribute name="FUNDRATE_TYPE" type="codes:FRBNY.CL_FUNDRATE_TYPE.1.0" use="required"/> 
 
\t \t \t \t <xs:attribute name="TITLE" type="xs:string" use="optional"/> 
 
\t \t \t \t <xs:attribute name="type" type="GroupType.ID" use="optional" fixed="SupplementalSiblingGroup"/> 
 
\t \t \t \t <xs:attribute name="UNIT_MEASURE" type="codes:SDMX.CL_UNIT_MEASURE.1.0" use="optional"/> 
 
\t \t \t \t <xs:attribute name="UNIT_MULT" type="codes:SDMX.CL_UNIT_MULT.1.0" use="optional"/> 
 
\t \t \t \t <xs:attribute name="REPORTING_YEAR_START_DAY" type="xs:gMonthDay" use="prohibited"/> 
 
\t \t \t </xs:restriction> 
 
\t \t </xs:complexContent> 
 
\t </xs:complexType> 
 
\t <xs:complexType name="RateGroup"> 
 
\t \t <xs:complexContent> 
 
\t \t \t <xs:restriction base="GroupType"> 
 
\t \t \t \t <xs:sequence> 
 
\t \t \t \t \t <xs:element ref="common:Annotations" minOccurs="0"/> 
 
\t \t \t \t </xs:sequence> 
 
\t \t \t \t <xs:attribute name="COLL_METHOD" type="xs:string" use="optional"/> 
 
\t \t \t \t <xs:attribute name="FUNDRATE_TYPE" type="codes:FRBNY.CL_FUNDRATE_TYPE.1.0" use="required"/> 
 
\t \t \t \t <xs:attribute name="type" type="GroupType.ID" use="optional" fixed="RateGroup"/> 
 
\t \t \t \t <xs:attribute name="REPORTING_YEAR_START_DAY" type="xs:gMonthDay" use="prohibited"/> 
 
\t \t \t </xs:restriction> 
 
\t \t </xs:complexContent> 
 
\t </xs:complexType> 
 
\t <xs:complexType name="SupplementalGroup"> 
 
\t \t <xs:complexContent> 
 
\t \t \t <xs:restriction base="GroupType"> 
 
\t \t \t \t <xs:sequence> 
 
\t \t \t \t \t <xs:element ref="common:Annotations" minOccurs="0"/> 
 
\t \t \t \t </xs:sequence> 
 
\t \t \t \t <xs:attribute name="COLL_METHOD" type="xs:string" use="optional"/> 
 
\t \t \t \t <xs:attribute name="FUNDRATE_TYPE" type="codes:FRBNY.CL_FUNDRATE_TYPE.1.0" use="required"/> 
 
\t \t \t \t <xs:attribute name="type" type="GroupType.ID" use="optional" fixed="SupplementalGroup"/> 
 
\t \t \t \t <xs:attribute name="REPORTING_YEAR_START_DAY" type="xs:gMonthDay" use="prohibited"/> 
 
\t \t \t </xs:restriction> 
 
\t \t </xs:complexContent> 
 
\t </xs:complexType> 
 
\t <xs:complexType name="RateSeriesType"> 
 
\t \t <xs:complexContent> 
 
\t \t \t <xs:restriction base="dsd:TimeSeriesType"> 
 
\t \t \t \t <xs:sequence> 
 
\t \t \t \t \t <xs:element ref="common:Annotations" minOccurs="0"/> 
 
\t \t \t \t \t <xs:element name="Obs" type="ObsType" form="unqualified" minOccurs="0" maxOccurs="unbounded"/> 
 
\t \t \t \t </xs:sequence> 
 
\t \t \t \t <xs:attribute name="FREQ" type="codes:SDMX.CL_FREQ.1.0" use="required"/> 
 
\t \t \t \t <xs:attribute name="FUNDRATE_OBS_POINT" type="codes:FRBNY.CL_FUNDRATE_OBS_POINT.1.0" use="required"/> 
 
\t \t \t \t <xs:attribute name="FUNDRATE_TYPE" type="codes:FRBNY.CL_FUNDRATE_TYPE.1.0" use="required"/> 
 
\t \t \t \t <xs:attribute name="REPORTING_YEAR_START_DAY" type="xs:gMonthDay" use="prohibited"/> 
 
\t \t \t </xs:restriction> 
 
\t \t </xs:complexContent> 
 
\t </xs:complexType> 
 
\t <xs:complexType name="SupplementalSeriesType"> 
 
\t \t <xs:complexContent> 
 
\t \t \t <xs:restriction base="dsd:TimeSeriesType"> 
 
\t \t \t \t <xs:sequence> 
 
\t \t \t \t \t <xs:element ref="common:Annotations" minOccurs="0"/> 
 
\t \t \t \t \t <xs:element name="Obs" type="ObsType" form="unqualified" minOccurs="0" maxOccurs="unbounded"/> 
 
\t \t \t \t </xs:sequence> 
 
\t \t \t \t <xs:attribute name="FREQ" type="codes:SDMX.CL_FREQ.1.0" use="required"/> 
 
\t \t \t \t <xs:attribute name="FUNDRATE_SUPPLEMENTAL" type="codes:FRBNY.CL_FUNDRATE_SUPPLEMENTAL.1.0" use="required"/> 
 
\t \t \t \t <xs:attribute name="FUNDRATE_TYPE" type="codes:FRBNY.CL_FUNDRATE_TYPE.1.0" use="required"/> 
 
\t \t \t \t <xs:attribute name="REPORTING_YEAR_START_DAY" type="xs:gMonthDay" use="prohibited"/> 
 
\t \t \t </xs:restriction> 
 
\t \t </xs:complexContent> 
 
\t </xs:complexType> 
 
\t <xs:complexType name="ObsType"> 
 
\t \t <xs:complexContent> 
 
\t \t \t <xs:restriction base="dsd:TimeSeriesObsType"> 
 
\t \t \t \t <xs:sequence> 
 
\t \t \t \t \t <xs:element ref="common:Annotations" minOccurs="0"/> 
 
\t \t \t \t </xs:sequence> 
 
\t \t \t \t <xs:attribute name="CONF_STATUS_OBS" type="codes:SDMX.CL_CONF_STATUS_OBS.1.0" use="optional"/> 
 
\t \t \t \t <xs:attribute name="OBS_STATUS" type="codes:SDMX.CL_OBS_STATUS.1.0" use="optional"/> 
 
\t \t \t \t <xs:attribute name="OBS_VALUE" type="xs:decimal" use="required"/> 
 
\t \t \t \t <xs:attribute name="TIME_PERIOD" type="xs:date" use="required"/> 
 
\t \t \t \t <xs:attribute name="LAST_DAY_OF_MAINTENANCE_PERIOD" type="xs:boolean" use="optional"/> 
 
\t \t \t \t <xs:attribute name="REPORTING_YEAR_START_DAY" type="xs:gMonthDay" use="prohibited"/> 
 
\t \t \t </xs:restriction> 
 
\t \t </xs:complexContent> 
 
\t </xs:complexType> 
 
</xs:schema>

Когда я бегу XSD для кода я получаю эту ошибку:

enter image description here

Я попытался добавить элементы сложного типа на базовом уровне, которые определяют каждый из них с именем и и это, похоже, не работает.

+2

Пожалуйста, покажите ошибку как текст, а не в виде изображения. XSD, который вы показываете, имеет много зависимостей, что делает невозможным утверждение, действительно ли XSD-код действителен. –

+1

Вы пробовали проверить XSD, попробуйте эту ссылку, чтобы узнать, действительно ли это или нет. Http://www.utilities-online.info/xsdvalidation/#.VrzHnvkrKHs – MethodMan

+0

Говорит, что это недействительно, но это то, где я его загрузил - https : //www.newyorkfed.org/markets/effr-obfr Похоже, что это должно быть справедливо, исходя из законного источника, который широко используется, не так ли? –

ответ

0

Я думаю, проблема в том, что вам не хватает некоторых необходимых документов XSD. На веб-странице, на которую вы ссылаетесь в комментариях: https://www.newyorkfed.org/markets/effr-obfr, два файла XSD можно получить: fundRateCommon.xsd и fundRate.xsd.

Но в fundRate.xsd, есть несколько import заявления:

<xs:import namespace="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/data/structurespecific" schemaLocation="SDMXDataStructureSpecific.xsd"/> 
<xs:import namespace="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/common" schemaLocation="SDMXCommon.xsd"/> 
<xs:import namespace="http://www.newyorkfed.org/resources/sdmxml/schemas/V2_1/fundRateCommon" schemaLocation="fundRateCommon.xsd"/> 

и с этой страницы, вы не могли бы загружающие SDMXCommon.xsd и SDMXDataStructureSpecific.xsd. Ошибка, получаемая с XSD2Code, выглядит примерно с SDMXDataStructureSpecific.xsd.

Загрузите эти файлы XSD и повторите попытку.

+0

Должны ли они просто быть в одном пути, когда я использую инструмент генерации? –

+0

@Scott Я не знаком с XSD2Code или C# - я не знаю, сможет ли инструмент разумно искать недостающие файлы. Но да, поместите их в одну папку. –

0

Похоже, вам не хватает базы ОСОГО .xsd .. В них доступны из sdmx.org под вкладкой стандартов ...

+0

Это не дает ответа на вопрос. Чтобы критиковать или запросить разъяснения у автора, оставьте комментарий ниже своего сообщения - вы всегда можете прокомментировать свои собственные сообщения, и как только у вас будет достаточно [репутации] (http://stackoverflow.com/help/whats-reputation), вы будете быть в состоянии [прокомментировать любое сообщение] (http://stackoverflow.com/help/privileges/comment). - [Из обзора] (/ review/low-quality-posts/11450070) – Andrei

+0

@AndreiM Это дает ответ на вопрос. – Rob

Смежные вопросы