2016-08-29 7 views
0

2010年から2015年の間に、異なる会社の財務情報を当社のウェブサイトから抽出し、そのデータを使用して添付画像のようなグラフを描きたいと思います。 この情報は正確ではなく、エラーが発生します。誰か助けてくれますか? Companies Houseは、サンプルXML requestsample XML responseを提供しています。会社のハウス(英国政府)からの検証エラー

私のエラー私は、XMLゲートウェイにリクエストを送信します。

string(1288) " 1.0
error 2016-08-29T13:04:36-00:00 CHMD5
CH_XML_Gateway 100 fatal XML failed schema validation: XML error: Invalid document structure line 1 column 1 " string(0) ""

これは私のxmlcodeです:

<?xml version="1.0" encoding="UTF-8"?> 
<GovTalkMessage xsi:schemaLocation="http://www.govtalk.gov.uk/schemas/govtalk/govtalkheader http://xmlgw.companieshouse.gov.uk/v1-0/schema/Egov_ch.xsd" xmlns="http://www.govtalk.gov.uk/schemas/govtalk/govtalkheader" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:gt="http://www.govtalk.gov.uk/schemas/govtalk/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <EnvelopeVersion>1.0</EnvelopeVersion> 
    <Header> 
    <MessageDetails> 
     <Class>FilingHistory</Class> 
     <Qualifier>request</Qualifier> 
     <TransactionID>11452543233</TransactionID> 
    </MessageDetails> 
    <SenderDetails> 
     <IDAuthentication> 
    <SenderID>my sender id</SenderID> 
     <Authentication> 
      <Method>CHMD5</Method> 
      <Value>my pass</Value> 
     </Authentication> 
     </IDAuthentication> 
     <EmailAddress>email company</EmailAddress> 
    </SenderDetails> 
    </Header> 
    <Body> 
    <FilingHistoryRequest xmlns="http://xmlgw.companieshouse.gov.uk/v1-0/schema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlgw.companieshouse.gov.uk/v1-0/schema http://xmlgw.companieshouse.gov.uk/v1-0/schema/FilingHistory-v2-1.xsd"> 
    <CompanyNumber>03176906</CompanyNumber> 
    <CapitalDocInd>0</CapitalDocInd> 
    <SearchRows>4</SearchRows> 
</FilingHistoryRequest> 
    </Body> 
</GovTalkMessage> 

答えて

0

私は、スキーマプロセッサとしてサクソンを使用してドキュメントを検証しようとすると、私が手以下のメッセージと、説明が散在しています。

Validation error on line 15 column 28 of test.xml: 
    FORG0001: The content "my pass" of element <Value> does not match the required simple 
    type. Value "my pass" contravenes the pattern facet "[0-9a-f]{0,32}" of the type of element Value 
    See http://www.w3.org/TR/xmlschema11-2/#cvc-datatype-valid clause 1 

これは、投稿の目的でファイルにダミーのパスワードを設定したためです。

Validation error on line 18 column 27 of test.xml: 
    FORG0001: The content "email company" of element <EmailAddress> does not match the 
    required simple type. Value "email company" contravenes the pattern facet 
    "[A-Za-z0-9\.\-_]{1,64}@[A-Za-z..." of the type of element EmailAddress 
    See http://www.w3.org/TR/xmlschema11-2/#cvc-datatype-valid clause 1 

また、ダミーのメールアドレスを代用したとします。

Validation error on line 21 column 11 of test.xml: 
    FORG0001: In content of element <GovTalkMessage>: The content model does not allow element 
    <Q{.../govtalkheader}Body> to appear immediately after element 
    <Q{.../govtalkheader}Header>. It must be preceded by <Q{.../govtalkheader}GovTalkDetails>. 
    See http://www.w3.org/TR/xmlschema11-1/#cvc-complex-type clause 2.4 

このエラーメッセージはおそらく実際の問題です。このメッセージは、ヘッダと本文の間に、ソースに欠けている要素があることをかなり明確に示しています。必要な要素は、GovTalkのサンプルXMLメッセージにありますが、ご使用のバージョンには含まれていません。

Warning 
    Schema at location http://xmlgw.companieshouse.gov.uk/v1-0/schema/FilingHistory-v2-1.xsd 
    has target namespace "" but requested namespace was "http://xmlgw.companieshouse.gov.uk/v1-0/schema" 

あなたはFilingHistoryRequest要素にxsi:noNamespaceSchemaLocationではなくxsi:schemaLocationを使用する必要があります。ただし、GovTalkサンプルメッセージには同じエラーが含まれています。

Warning 
    Validation will continue without the schema at 
    http://xmlgw.companieshouse.gov.uk/v1-0/schema/FilingHistory-v2-1.xsd 

実際、Saxonは誤ったxsi:schemaLocation属性を無視しています。

+0

こんにちはMichael Kay はい、私は電子メール、ユーザーIDとパスを実際の情報に置き換えず、xmlのこのテキストは例です。 私はxsi:schemaLocationをxsi:noNamespaceSchemaLocationの代わりに に置き換えますが、エラーは変更されません – ehsanamidi

+0

私は本当の問題、すなわち欠落しているGovTalkDetails要素であると特定したエラーを修正しましたか? –

+0

いいえ私はエラーを修正できません – ehsanamidi

関連する問題