2017-08-17 1 views
0

に表示される必要があり、私はXMLに新たなんだと、それぞれのXSDでXMLを検証しようとしているが、エラーが直面している:CVC-複雑-type.4:属性{0}要素{1}

cvc-complex-type.4: Attribute 'Companyname' must appear on element 'company'

にもかかわらず私は既にxmlとxsdにCompanynameを追加しました。このエラーの原因は何か。助け/提案?

XML:

<?xml version="1.0" encoding="utf-8"?> 
<company Companyname="abc" address="hj" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:SchemaLocation="companyxsd.xsd" > 
    <department dname="dfsdf" deptphoneno="1232321" deptfaxno="2323" deptemail="fefsf"> 
     <employee empid="fsd" ename="fuehuf" emailid="fhueh" phoneno="364764"> </employee> 
     <employee empid="fsd" ename="fuehuf" emailid="fhueh" phoneno="364764"> </employee> 
     <contractEmployee name="fdsf" phoneno="12345"> </contractEmployee> 
    </department> 
</company> 

companyxsd.xsd:

<?xml version="1.0" encoding="UTF-8"?> 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" > 
     <xs:element name="company" type="comType"/> 
     <xs:complexType name="comType"> 
       <xs:sequence> 
        <xs:element name="department" type="deptType"/> 
       </xs:sequence> 
       <xs:attribute type="xs:string" name="Companyname" use="required"/> 
       <xs:attribute type="xs:string" name="address" use="required"/> 
     </xs:complexType> 
     <xs:complexType name="deptType"> 
       <xs:sequence> 
        <xs:element name="employee" type="empType" minOccurs="1" maxOccurs="unbounded"/> 
        <xs:element name="contractEmployee" type="conType" minOccurs="0" maxOccurs="unbounded"/> 
       </xs:sequence> 
       <xs:attribute type="xs:string" name="dname" use="required"/> 
       <xs:attribute type="xs:integer" name="deptphoneno" use="required"/> 
       <xs:attribute type="xs:integer" name="deptfaxno" use="required"/> 
       <xs:attribute type="xs:string" name="deptemail" use="required"/> 
     </xs:complexType> 
     <xs:complexType name="empType"> 
       <xs:attribute type="xs:string" name="empid" use="required"/> 
       <xs:attribute type="xs:string" name="ename" use="required"/> 
       <xs:attribute type="xs:string" name="emailid" use="required"/> 
       <xs:attribute type="xs:integer" name="phoneno" use="required"/> 
     </xs:complexType> 
     <xs:complexType name="conType"> 
       <xs:attribute type="xs:string" name="name" use="required"/> 
       <xs:attribute type="xs:integer" name="phoneno" use="required"/> 
     </xs:complexType> 
</xs:schema> 

ER DIAGRAM

+0

*このエラーの原因となる可能性のあるもの*:あなたが検証していると思われるファイルを検証していません。 –

+0

どうですか?わかりません。 –

+0

XML/XSDレベルではすべてが正しいように見えるので、ヒューマンエラーが最も原因です。どのように検証を行っていますか?あなたは正しいファイルを参照していますが、偶然に以前のバージョンを参照していませんか? –

答えて

0

あなたのXMLは、エラーの数が含まれています。整形式ではなく(終了タグと一致しないタグを開始する)、スキーマに対して多くの違反が含まれています(employeeおよびcontractEmployeeタグは空でなければなりません)。

私はあなたのXMLをクリーンアップしました:

<?xml version="1.0" encoding="utf-8"?> 
<company Companyname="abc" address="hj" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <department dname="dfsdf" deptphoneno="1232321" deptfaxno="2323" deptemail="fefsf"> 
     <employee empid="fsd" ename="fuehuf" emailid="fhueh" phoneno="364764"/> 
     <employee empid="fsd" ename="fuehuf" emailid="fhueh" phoneno="364764"/> 
     <contractEmployee name="fdsf" phoneno="12345"/> 
    </department> 
</company> 

例えばテストすることができるように、これは、あなたのスキーマに対して正しく検証this siteにあります。

さらに問題がある場合は、XMLまたはXSDの内容ではなく、検証を実行する方法に関連しています。

+0

私は使用しているプラ​​ットフォームで同じエラーが発生しています:(実際に私はerダイアグラムをxmlに変換し、この変換のためにエラーが発生しているかどうかはわかりません。質問の最後にリンクされているER図を見て、xmlが正しいかどうかを確認できますか。 –

+0

私は何度も繰り返すことができます: *あなたが検証していると思うファイルは、実際に*検証しているファイルではありません。私の答えで準備したXMLが、あなたが提供したXSDに対して検証しない場合、実行方法に間違いがあります検証。 XMLではなく、XSDではなく、ER図ではありません。私の答えにリンクしているサイトで検証しようとしましたか?または、他の唯一のXML検証サービスですか? –

+0

質問は「ER図のxmlとxsdを生成する」という行に1行あります。今、私はそれを解決するために他に何ができるのか分からない.xmlとxsdの2つの別々のファイルが必要だ。 : –

関連する問題