2016-08-23 12 views
1

XMLスキーマhttp://www.oid-info.com/oid.xsdに続くXMLを作成したいと考えています。このXSDはXMLファイルで何らかの形で参照されるべきであるので、https://validator.w3.org/のようなツールは、それをチェックしてデータのセマンティクスのエラーを見つけることができます。メールアドレスが無効な場合W3Cマークアップ検証サービスのXMLでXSDを参照するには?

<?xml version="1.0" encoding="ISO-8859-1" ?> 
<oid-database xmlns="http://www.oid-info.com/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.oid-info.com/oid.xsd"> 
<submitter> 
.... 
</submitter> 
<oid> 
.... 
</oid> 
</oid-database> 

W3C Markup Validation Serviceは言う:

ませんDOCTYPEを見つけ

まず、私はそれをこの方法を試してみました! XML構文のみをチェックしています。 DOCTYPE宣言 が認識されていないか、または存在しません。これは、公式の パブリック識別子にスペルミスが含まれているか、または 宣言が正しい構文を使用していないこと、またはXML文書が DOCTYPE宣言を使用していないことを意味します。ドキュメントの検証はスキップされました。 XML構文の整形式の簡単なチェックは、代わりに でした。

オクラホマので、私はDOCTYPE

<?xml version="1.0" encoding="ISO-8859-1" ?> 
<!DOCTYPE oid-database> 
<oid-database xmlns="http://www.oid-info.com/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.oid-info.com/oid.xsd"> 
<submitter> 
.... 
</submitter> 
<oid> 
.... 
</oid> 
</oid-database> 

を使用しようとした今、W3C Validatorは言う:

2行、列23:なし内部または外部の文書型宣言 サブセット。検証なしで解析します。

私はDTDが何であるか知っており、過去にDTDで作業しました。私はここにDTDがないことを知っています。しかし、私はXSDに対して、DTDに対してはチェックしたくありません。

動作させるには何が必要ですか?

答えて

2

そのW3C Validatorは整形式をチェックし、DTDに対して検証します。それはXSDに対して検証しません。オンラインまたはオフラインの別のバリデーターを使用する必要があります。

はまた、ここにあなたのXMLファイルは、それがOID XSDに対して有効で検証する必要があることをほのめかしするどのように見えるべきかです:

<?xml version="1.0" encoding="UTF-8" ?> 
<oid-database xmlns="http://oid-info.com" 
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
       xsi:schemaLocation="http://oid-info.com 
            http://www.oid-info.com/oid.xsd"> 
    <submitter> 
    .... 
    </submitter> 
    <oid> 
    .... 
    </oid> 
</oid-database> 

も参照してください:これらのXSDが自分を持っているように見えることHow to link XML to XSD using schemaLocation or noNamespaceSchemaLocation?

注意含む問題、:

[警告] XHTML-light.xsd:8:36:schema_reference.4: スキーマ文書 'xml.xsd' の読み込みに失敗しました、 1)文書を見つけることができなかったからです。 2) 文書を読み取ることができませんでした。 3)文書のルート要素は ではありません。

[エラー] oid.xsd:91:46:InvalidRegex:パターン値 「{\ S *(((([AZ] [-ZA-Z0-9-] \ S((\ (0 | [1-9] ))){2、} \ s)| - | ((0 | [1-9] [0-9] )(。(0 | [1-9] [0-9]))\ s}? ' は有効な正規表現ではありません。

+0

この情報はありがとうございます。このXMLを検証するためにどのツールを使用しましたか? http://www.freeformatter.com/xml-validator-xsd.htmlツールでは、XSDを手動で入力する必要があります。私はそれがXMLから直接読み取って、さらに参照されるXSD(xhtml-light.xsdのようなもの)を自動的にダウンロードすることを望みます。 –

+0

私はオンラインバリデーターを使用していませんが、[この1つ](https://devutilsonline.com/xml/validate)は要件を満たしているようです。私はオフラインのXerces-Jベースのバリデータを使用しています。 – kjhughes

関連する問題