我正在使用http://www.freeformatter.com/xml-validator-xsd.html来验证我的XML文件。获取以下消息
“Cvc-elt.1.a:找不到元素声明'MatchedShareReport'..行'2',列'21'。”
这是架构
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.k12345.com/Data/k12345.xsd" targetNamespace="http://www.k12345.com/Data/k12345.xsd" elementFormDefault="qualified">
<xsd:element name="MatchedShareReport">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="FileHeader" type="tns:FileHeader" />
<xsd:element name="UsageDescription" type="tns:UsageDescription" />
<xsd:element name="UsageList" type="tns:UsageList" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="FileHeader">
<xsd:sequence>
<xsd:element name="FileId" type="xsd:string" />
<xsd:element name="FileParentId" type="xsd:string" />
<xsd:element name="FileSender" type="xsd:string" />
<xsd:element name="FileReceiver" type="xsd:string" />
<xsd:element name="FileDSPName" type="xsd:string" />
<xsd:element name="FileDescription" type="xsd:string" />
<xsd:element name="FileGroupId" type="xsd:string" />
<xsd:element name="FileGroupDescription" type="xsd:string" />
<xsd:element name="FileTimeStamp" type="xsd:dateTime" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="UsageDescription">
<xsd:sequence>
<xsd:element name="FilePeriod">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="StartDate" type="xsd:date" />
<xsd:element name="EndDate" type="xsd:date" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="UsageList">
<xsd:sequence>
<xsd:element name="Usage" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="RecordingDetails" minOccurs="0">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="RecordingTitle" type="xsd:string" />
<xsd:element name="RecordingVersionTitle" type="xsd:string" minOccurs="0" />
<xsd:element name="RecordingDisplayArtist" type="xsd:string" />
<xsd:element name="RecordingISRC" type="xsd:string" minOccurs="0" />
<xsd:element name="RecordingDSPId" type="xsd:string" minOccurs="0" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="WorkDetails" minOccurs="0">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="WorkPrimaryTitle" type="xsd:string" />
<xsd:element name="WorkISWC" type="xsd:string" minOccurs="0" />
<xsd:element name="WorkK12345Id" type="xsd:string" minOccurs="0" />
<xsd:element name="WorkSTIMStatus" type="xsd:string" minOccurs="0" />
<xsd:element name="WorkDisputeStatus" type="xsd:string" minOccurs="0" />
<xsd:element name="WorkLastAmendedDate" type="xsd:date" />
<xsd:element name="WorkI123Ids">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="WorkI123Id" type="xsd:string" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="WorkWriterList">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="WorkWriter" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="WriterName" type="xsd:string" />
<xsd:element name="WriterIPINumber" type="xsd:string" />
<xsd:element name="WriterK12345MechanicalPerc" type="xsd:string" minOccurs="0" />
<xsd:element name="WriterK12345PerformingPerc" type="xsd:string" minOccurs="0" />
<xsd:element name="WriterSocietyCodePerformance" type="xsd:string" minOccurs="0" />
<xsd:element name="WriterSocietyCodeMechanical" type="xsd:string" minOccurs="0" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="UsageDetails" minOccurs="1">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="UsageTerritory" type="xsd:string" />
<xsd:element name="UsageCommercialModelType" type="xsd:string" />
<xsd:element name="UsageType" type="xsd:string" />
<xsd:element name="UsageDistributionChannelType" type="xsd:string" />
<xsd:element name="UsageCurrency" type="xsd:string" minOccurs="0" />
<xsd:element name="UsageValue" type="xsd:decimal" nillable="true" />
<xsd:element name="UsageQuantity" type="xsd:integer" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="MWRUsageList">
<xsd:sequence>
<xsd:element name="Usage" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="RecordingDetails" minOccurs="0">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="RecordingTitle" type="xsd:string" />
<xsd:element name="RecordingVersionTitle" type="xsd:string" minOccurs="0" />
<xsd:element name="RecordingDisplayArtist" type="xsd:string" />
<xsd:element name="RecordingISRC" type="xsd:string" minOccurs="0" />
<xsd:element name="RecordingDSPId" type="xsd:string" minOccurs="0" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="WorkDetails" minOccurs="0">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="WorkPrimaryTitle" type="xsd:string" />
<xsd:element name="WorkISWC" type="xsd:string" minOccurs="0" />
<xsd:element name="WorkK12345Id" type="xsd:string" minOccurs="0" />
<xsd:element name="WorkSTIMStatus" type="xsd:string" minOccurs="0" />
<xsd:element name="WorkDisputeStatus" type="xsd:string" minOccurs="0" />
<xsd:element name="WorkLastAmendedDate" type="xsd:date" />
<xsd:element name="WorkI123Ids">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="WorkI123Id" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="WorkWriterList">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="WorkWriter" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="WriterName" type="xsd:string" />
<xsd:element name="WriterIPINumber" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="UsageDetails" minOccurs="1">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="UsageTerritory" type="xsd:string" />
<xsd:element name="UsageCommercialModelType" type="xsd:string" />
<xsd:element name="UsageType" type="xsd:string" />
<xsd:element name="UsageDistributionChannelType" type="xsd:string" />
<xsd:element name="UsageCurrency" type="xsd:string" minOccurs="0" />
<xsd:element name="UsageValue" type="xsd:decimal" nillable="true" />
<xsd:element name="UsageQuantity" type="xsd:integer" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
我正在使用的测试XML文件是
<?xml version="1.0" encoding="UTF-8" ?>
<MatchedShareReport>
<FileHeader>
<FileId>FileID123</FileId>
<FileParentId></FileParentId>
<FileSender>FileSender</FileSender>
<FileReceiver>FileReceiver</FileReceiver>
<FileDSPName>FileDSPName</FileDSPName>
<FileDescription>FileDescriptionFileDescription</FileDescription>
<FileGroupId></FileGroupId>
<FileGroupDescription></FileGroupDescription>
<FileTimeStamp>2013-06-28T10:51:37</FileTimeStamp>
</FileHeader>
<UsageDescription>
<FilePeriod>
<StartDate>2013-04-01</StartDate>
<EndDate>2013-04-30</EndDate>
</FilePeriod>
</UsageDescription>
<UsageList>
<Usage>
<WorkDetails>
<WorkPrimaryTitle>WorkPrimaryTitle123</WorkPrimaryTitle>
<WorkISWC>T9053880867</WorkISWC>
<WorkK12345Id></WorkK12345Id>
<WorkSTIMStatus>1</WorkSTIMStatus>
<WorkDisputeStatus>N</WorkDisputeStatus>
<WorkLastAmendedDate>2013-06-28</WorkLastAmendedDate>
<WorkI123Ids>
<WorkI123Id>6192912</WorkI123Id>
<WorkI123Id>6192913</WorkI123Id>
<WorkI123Id>6192914</WorkI123Id>
<WorkI123Id>6192915</WorkI123Id>
<WorkI123Id>6192916</WorkI123Id>
<WorkI123Id>6192917</WorkI123Id>
</WorkI123Ids>
<WorkWriterList>
<WorkWriter>
<WriterName>LNAME, FNAME</WriterName>
<WriterIPINumber>261210876</WriterIPINumber>
<WriterK12345MechanicalPerc>052</WriterK12345MechanicalPerc>
<WriterK12345PerformingPerc>099</WriterK12345PerformingPerc>
<WriterSocietyCodePerformance>0220</WriterSocietyCodePerformance>
<WriterSocietyCodeMechanical>416545</WriterSocietyCodeMechanical>
</WorkWriter>
<WorkWriter>
<WriterName>LNAME, FNAME</WriterName>
<WriterIPINumber>261221610484</WriterIPINumber>
<WriterK12345MechanicalPerc>052</WriterK12345MechanicalPerc>
<WriterK12345PerformingPerc>099</WriterK12345PerformingPerc>
<WriterSocietyCodePerformance>665</WriterSocietyCodePerformance>
<WriterSocietyCodeMechanical>11321</WriterSocietyCodeMechanical>
</WorkWriter>
</WorkWriterList>
</WorkDetails>
<UsageDetails>
<UsageTerritory>GB</UsageTerritory>
<UsageCommercialModelType>Premium</UsageCommercialModelType>
<UsageType>OnDemandStream</UsageType>
<UsageDistributionChannelType>Internet</UsageDistributionChannelType>
<UsageCurrency>GBP</UsageCurrency>
<UsageValue>0.00</UsageValue>
<UsageQuantity>128</UsageQuantity>
</UsageDetails>
</Usage>
</UsageList>
</MatchedShareReport>
如果有人可以提供帮助,我会很感激,因为我已经被困了一段时间。谢谢!
答案 0 :(得分:2)
您的架构具有目标命名空间http://www.k12345.com/Data/k12345.xsd
。您必须在实例文档中使用它:
<?xml version="1.0" encoding="UTF-8" ?>
<MatchedShareReport xmlns="http://www.k12345.com/Data/k12345.xsd">
<FileHeader>
...