4

特別な XUL xml-schema を使用するため、IntelliSense と検証が得られるため、XUL を作成するために Visual Studio を使い始めました。

このアプローチにはまだいくつかの問題があり、VS をより使いやすい XUL-IDE にするために修正したいと考えています。

VS は chrome-protocol について何も認識せず、次の xml-code でエラー (「URI プレフィックスが認識されません」) が表示されます。

<!DOCTYPE window SYSTEM "chrome://myApp/locale/main.dtd">

これはVSのせいではありません。プロトコルがわからないため、URI を解釈できず、main.dtd がどこにあるのかわからないため、そこで宣言されているエンティティがわからないため、他の検証エラーが発生します。他の場所。

私の目標は、XML パーサーや VS などを拡張して、URI を解釈できるようにすることです。chrome が行うことは、「chrome.manifest」ファイルの情報に基づいて URI をファイルパスにマップすることだけなので、これは難しい作業ではありません。

chrome://myApp/locale/main.dtd

実際には次のようなものです

file:///c:/somefolder/myapp/locale/main.dtd

VS / XMLパーサーにURIプレフィックスとそれを解釈する方法を伝える方法を知っているだけで、実際のファイルにリンクできます。

誰か提案はありますか?

どうもありがとう!

4

2 に答える 2

2

私は次のことを試します:

  1. Chrome タグの下の次の行で別の Doctype タグを使用します。ただし、これは file:// URI スキームを使用します。
  2. それでもうまくいかない場合は、chrome URI を完全に置き換えて、ファイル URI を単独で使用してみてください。

複数の doctype タグが許可される状況があります。

于 2009-05-31T04:10:20.530 に答える
1

インストールに適した Visual Studio インストール ディレクトリの下にある Program Files に移動します。

Xml 用のサブディレクトリがあり、その中にスキーマ用のサブディレクトリがあります。

たとえば、私のシステムでは、ディレクトリは次のとおりです。

C:\Program Files\Microsoft Visual Studio 9.0\Xml\Schemas

ここに入力したスキーマ ファイルは、スキーマの URI に基づいて、編集する XML ファイルと照合されます。

私は、DTD が同じ方法でサポートされていると信じています (ただし、テストはしていません)。DTD をこのディレクトリに置き、DTD の URI が一致することを確認してください。

補足: スキーマと DTD は、URL (Universal Resource Locators ) ではなく、URI (Universal Resource Identifiers ) を使用します。URI は実際には、それがどこにあるのかについての情報を提供しません。それはただの名前です。

更新しました

Visual Studio は DTD をサポートしていないことが判明したため、私のアイデアは浮かびません。

ただし、別の可能性があります。Visual Studioスキーマをサポートしているため、DTD をスキーマに変換することである程度の牽引力が得られる可能性があります。簡単なグーグル検索でDTD2Schemaが見つかりました。これは、 W3サイト自体にある perl ベースのツールです。おそらく試してみる価値があります...

于 2009-06-05T02:39:11.507 に答える