AngleSharpドキュメントの日本語訳. C#で利用できるhtmlパーサーのAngleSharpプロジェクトのドキュメントの翻訳です。
原文「Api」
このページ(原文ページ)は、Florian Rapplによって編集されました。 2015年7月9日・7改訂
AngleSharp API
AngleSharpは、役に立つ、これまでに標準的な対応するAPIで作成されました。あなたが、単一のドキュメントやスタイルシートを解析するだけの場合、続いて、あなたは、常に、HtmlParserやCssParserのような、さまざまなパーサを使用することができます。(Webページを解析して、使用する)ほとんどの場合、私たちは、AngleSharp名前空間にあるBrowsingContextをお勧めします。また、この名前空間は、拡張機能メソッドとURLクラスを持つ、いくつかの型が含まれています。それは、WHATWG仕様に記述されているアルゴリズムに厳密に従います。
また、AngleSharp.Attributes名前空間は、インターフェイス(そして、列挙体とデリゲート)を装飾するために使用されている属性に特徴があります。ここでは、私たちは、以下のものを持っています。:
- getter、setterやdeletersのような、特別なアクセサを定義するのためのDomAccessorAttribute。
- もう使われていない状態を示すDomHistoricalAttribute
- DOM一部の説明文字列を格納するDomDescriptionAttribute。
- 結び付けられている型だけを宣言するためのDomNoInterfaceObjectAttribute、すなわち、オブジェクトの実現は、利用できません。
- 入力を転送する関連するオブジェクトのメソッドの名前を設定するDomPutForwardsAttribute
- 元のAPI名前を示すDomNameAttribute
インターフェイス/DOMオブジェクトのAPIは、このように変更されています。それは、まだ、元のDOM API(何も欠落していません)です。しかし、命名と型は、.NETに準拠しており、(うまくいけば)動作が簡単になります。
Configuration(設定)
Configuration
IConfigurationは、AngleSharpを拡張するための主要なインターフェイスです。私たちが、気にしなければ、私たちは、文書やURLを解析するために、IConfigurationのインスタンスで、AngleSharpを与える必要はありません。その筋書きで、デフォルト設定が考慮されます。
このデフォルトの設定は、Configurationクラス上で、メソッドSetDefaultを呼び出すことによって、選択することができます。私たちは、デフォルト設定として使用するために、カスタム設定のインスタンスを渡す必要があるだけです。Configurationクラスは、IConfigurationインターフェイスの既定の実装です。デフォルト実装は、通常、カスタム設定を提供するための優れた開始位置です。
IConfigurationオブジェクトの役割は、利用するサービス(IServiceインターフェイスを実装しているすべて)の列挙体、もし、あれば、そして、カルチャを指定するために使用するIEventAggregatorを提供することです。サービスが、ほとんどの静的なバージョンよりもDOMを拡張する一方で、イベント・アグリゲータは、可能性があるDOMから通知を受け取ります。カルチャは、DOMの構文解析と解釈に重要です。
次の例は、新しいIConfigurationオブジェクトのCultureを設定します。:
var config = new Configuration(culture: new CultureInfo("de-de"));
Cultureが、指定されていない場合、カルチャは、現在アクティブなスレッドから取得されます。
これを行うことができる他の方法は、拡張機能メソッドを使用することです。例えば、デフォルト設定のカルチャの調整だけを行いたい場合、私たちは、次のことを行うことができます。:
var config = Configuration.Default.SetCulture("de-de");
Configurationは、デフォルトでは、変更できないことに注意して下さい。そして、すべての拡張機能メソッドは、(変更されていない)現在のインスタンス、あるいは、新しいオブジェクト(最初に渡されたオブジェクトと比較して変更されたオブジェクト)のどちらかを返します。
さらに、私たちは、より便利な、そして、変えることができない実装に比べて柔軟な独自のクラスを作成するかもしれません。私たちは、デフォルトの実装を拡張する、あるいは、インターフェイスを実装することができました。しかしながら、拡張メソッドは、実際に、極めて簡単で、わかりやすいIConfigurationで操作する必要があることに注意して下さい。
今後の考え
Future thoughts
AngleSharp.Css.Values名前空間には、以下のような、CSSOMの使用される型の設定が含まれています。:
- Angleは、角度の値を表します。
- Colorは、色(ARGB)値を表します。
- Frequencyは、回数を表します。
- Lengthは、長さの値を表します。
- Numberは、CSSOMの数を表します。
- Percentは、パーセントの数値をラップします
- Priorityは、CSSセレクタのための優先順位を与えます
- Resolutionは、解像度の値を表します。
- Timeは、時間(範囲)を表します。
- 変換情報を格納するTransformMatrix。
CSSOMは、極めて高機能で、現在、完全に利用できません。おそらく、CSSOMは、部分的にコア・ライブラリから切り離され、別のライブラリに統合されます。