1

xml文字列をテストして、dtdファイルに対して検証されるかどうかを確認するにはどうすればよいですか?

私はこの質問を読みましたが、彼らはxmlファイルのdtd宣言を置き換えることについて話しているだけです。

Person.DTD

<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT person (id)>
<!ELEMENT id (#PCDATA)>

テスト

@Test
public void should_serialize_a_shootout_to_xml_and_validate_against_a_dtd(){
    String xml = "<person><id>12</id></person>";        
    Assert.assertTrue(validate_xml("person.dtd",xml));
}

boolean validate_xml(String dtd_filename,String xml){
    //check xml and throw validation errors
    throw new NotImplementedException();
}

ありがとう!

4

1 に答える 1

1

後でいくつかのコードで戻ってくるかもしれませんが、私の頭に浮かんだ手順は次のとおりです。

  1. StringReader で文字列をラップする
  2. 検証用 SAX パーサーを作成する
  3. ファイルを解析し、S​​AX ハンドラにエラー インスタンスの数を追跡させる
  4. エラーがゼロの場合に有効
于 2009-07-24T13:56:15.947 に答える