セレクター記法。ビルトイン要素なので記法付き。
「全てURIで」、データアクセスで使うページ/要素取得記法。要素に他の要素を与えるために使う。
他の要素を指す要素。
「全てURIで」、データアクセスで使うページ/要素取得要素。
これもプラグインで。デフォルトでは記法定義なし。汎用記法で使う。
参照記法。
jQuery風セレクター †
またはCSS風セレクターで、要素を指定。
- -
セレクター †
:t/セレクターより †
未分類 †
あとで:t/セレクターを追加。
:/セレクターは属性値デコレーションに使えない †
:/システムが書くページ裏 †
:/セレクターでは上位/下位ページも指定可能に †
:i/ページ属性はセレクターで読む †
:i/要素埋め込み †
書き方 †
querySelector風に。
ページパスの表現も含む。
どう書くか?→ページを示すURIと、要素のインスタンス名/要素のクラス名の列をつなげて。ここに特定版(見解や版も)を含めなければいけない??
要素にはインスタンス名を付けられるようにしたい。名前は重複するかも知れないので、IDというより名前。
CSS Selectors風セレクター †
CSS Selectors風。document.querySelectorAll()の書式。
タグ名にあたるのが要素のクラス名。
継承したクラス名にあたるのが要素インスタンスが持つ"dotAnnotations"属性。ノートアプリの「タグ」にあたるもの。でもこの言葉はもうマークアップタグとして使ってしまっているので。
:nth…とか:firstとか:evenみたいな疑似セレクターにあたるものは必要なものを似せて実装。
セレクター要素が必要。表現を解釈して要素セットを出力する要素。以前の参照記法にあたるもの。
"/"区切りのURIやページ名とひと続きになっていい。(ページ名区切りは変更可能だけど)
これをページ内やURL内に書く。
XPath風ではない †
"XPath風"は要らない。構造を無視したアクセスがしたい。
PHPでならDOMXPathを利用したライブラリーがある。
tj/php-selector: PHP DOM parser / queries with CSS selectors (https://github.com/tj/php-selector/blob/master/selector.inc)
XPath風でもいい †
document.evaluate()で使うような記法。
XPathだとURIやページ名とひと続きになっていい。(ページ名の区切りは変更可能だけど)
PHPにはDOMXPathがあるので、簡単。ページをHTML化してこれに与えれば、XPathで要素を指定できる。
PHP: DOMXPath - Manual
リンクを関連名でフィルタリング †
エレメント取得はデータアクセスで要素取得すればいい。
ページセットのほうはリンク要素を取得して関連名でフィルタリングするもの。それをページセットで返せればいいので。
リンクのセット→ページセット
はセットの要素を個別に扱う必要がある。
†セットの扱い[?]
†参照記法は不要[?]
†:Done/セットの扱い
†:i/参照記法は不要
ページ名と一体化できる †
ページパス+要素パス
埋め込み要素ではページ名と属性名を指定することも可能。
「全てURIで」はパラメーターをDictionaryで与えるようなもの。これを使うので一体にする必要はない。
セレクターはページ名を含まない。
「ページセットにある各ページのルート要素から、指定位置にある要素」という指定をしたいので、ページ指定と分ける。
一体化してもいい。ページ名部分を指定せず、分けることもできるのがいい。
Selector †
セレクターは要素ではない †
使われ方 †
セレクター/ †
セレクターでやること †
- トークン化、空白類区切り
- 行頭から解析
- DOM風をトークン通りに辿る
Selector †
Selector要素。
「全てURIで」の要素指示の部分の解釈もする。
jQueryとCSSの共通点を実装。
実装はVisitorパターン。
Visitorが解析後のセレクター記法を持って、要素を収集していく。
Acceptorにどんな順番で道案内させるかは、Visitorがセレクターを読んで決める。Acceptorは全てのVisitorに対応できるよう選択肢を用意。