2016-03-30 42 views
6

xmllintを使用して、基本的なXSDすなわちXMLスキーマスキーマを開発している間に自分の仕事をチェックしようとしています。しかし、それは私にエラーを与えているxmllint XSDの使用中に "DTDが見つかりません"

検証に失敗しました:DTDが見つかりませんでした。

私は間違っていますか?

マイxmllintコマンド:

xmllint --noout --valid --schema simple.xsd lucas-basic.xml 
lucas-basic.xml:5: validity error : Validation failed: no DTD found ! 
     > 
     ^
lucas-basic.xml validates 

テストXSDファイル:

<?xml version = "1.0" encoding = "UTF-8"?> 
<!--Generated by XML Authority. Conforms to w3c http://www.w3.org/2001/XMLSchema--> 
<xsd:schema xmlns:xsd = "http://www.w3.org/2001/XMLSchema"> 
     <xsd:element name = "vehicles"> 
       <xsd:complexType> 
         <xsd:sequence> 
           <xsd:element name = "nickname" type = "xsd:string" maxOccurs = "unbounded"/> 
         </xsd:sequence> 
       </xsd:complexType> 
     </xsd:element> 

テストXMLファイル:XSIで

<?xml version="1.0"?> 
<vehicles 
       xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" 
       xsi:noNamespaceSchemaLocation = "http://lucas.ucs.ed.ac.uk/xml-schema/xmlns/simple.xsd" 
     > 
     <nickname>Bog Hopper</nickname> 
     <nickname>Wee Beastie</nickname> 
     <nickname>Count Zero</nickname> 
</vehicles> 

URL:のnoNamespaceSchemaLocationは、上記のXSDを返しません。また、私はxsdファイルをダウンロードし、それを現在のディレクトリに余分なものとして入れましたが、これは何も変更していないようです。

+0

ここで私はそれを働かせました。私は、ローカルファイルの使用やリモートスキーマの指定が同じようにうまく機能するとコメントする必要があります。 --schema simple.xsd OR --schema http://lucas.ucs.ed.ac.uk/xml-schema/xmlns/simple.xsd – Tristan

答えて

10

--validは、XSDではなくDTDです。

これは、代わりにあなたのために動作します:

xmllint --noout --schema http://lucas.ucs.ed.ac.uk/xml-schema/xmlns/simple.xsd lucas-basic.xml 
+0

これは感謝しているようです! これは、DTDではなくXSDを使用して書かれた文書が技術的に有効なXMLではないことを意味しますか? – Tristan

+3

ハハ、いいえ、コマンドラインのスイッチ名の選択が不完全であったことを意味します。 – kjhughes

-1

OPの試みと受け入れ答えは、サンプルファイルに対してそれをテストすることによって、XSDを「検証」。

xmllint --noout --schema http://www.w3.org/2001/XMLSchema.xsd my_schema.xsd 

...とV1.1のスキーマはhttps://www.w3.org/2009/XMLSchema/XMLSchema.xsd

NOTEです:XSD仕様に対するXSDファイルを検証するには、次のコマンドを使用してもよいv1.0のスキーマは、いくつかの資格を持っています標準構造スキーマについてのトップでは、別のファイルを実際に使用する必要がありますが、これは私にとってはうまくいきました。

関連する問題