3

オンザフライ検証にrncスキーマを使用できるEmacs のnxml-modeを使用して XHTML ファイルを編集したいと思います。これはすべて、新しい Emacs バージョンに組み込まれています。

ただし、私の XHTML ファイルには別のスキーマの要素が含まれています。<foo:foo> タグは有効ですが、ドキュメントの <xhtml:head> 内のみです。

現在、nxml が使用している XHTML スキーマに foo タグが記述されていないため、エラーが発生します。既存の XHTML スキーマに関連して foo タグを記述する新しいスキーマを作成するにはどうすればよいですか? また、schemas.xml ファイルのスキーマ検索規則を使用してそのスキーマを自動的に適用するにはどうすればよいですか?

つまり、組み込みの XHTML ルールと、特定の名前空間タグを追加するいくつかのカスタム ルールの 2 つのスキーマを同時に使用して、ドキュメントを検証したいと考えています。

4

3 に答える 3

2

Validator.nuには、James Clark によって最初に開発された XHTML スキーマ セットから変更されたプリセット スキーマがあり、追加の 1 つが rdf:RDF in head であるため、スキーマは研究に役立つ可能性があります。

(nxml モードのスキーマの場所の問題については経験がありません。)

于 2008-11-12T23:03:07.557 に答える
2

問題 1: ここでは 2 つのスキーマを使用するのではなく、RelaxNG チュートリアルのセクション 9.2 で説明されているオーバーライド/結合ルールと組み合わせて、別のスキーマを「含める」1 つのスキーマを使用する必要があると思います。私はこれと格闘しています。

問題 2: 2 番目の問題に対するより適切な回答を提供できます。nxml-mode は、ファイルをスキーマに関連付けるためにパターン マッチングを実行する「schemas.xml」ファイルの多くの場所の 1 つを探します。最も単純なマッピングのために、このファイルを xml ファイルと同じディレクトリに置きます。

<?xml version='1.0'?>
<locatingRules xmlns="http://thaiopensource.com/ns/locating-rules/1.0">
  <uri resource="auto.xml" uri="lab.rnc"/>
</locatingRules>

このファイルは、「auto.xml」ファイルを「lab.rnc」仕様に関連付けます。

于 2010-06-20T19:18:12.497 に答える