=raw
Attributeをパースする
=/raw
-----------------------------------------------
次のコードはあるタグ内のすべてのAttributeのKeyとValue
を列記するスニペットである。
-----------------------------------------------
まずは手始めにシンプルなケースを試してみる。
以下のようになる。
========================
id, test
aaa, bbb
あああ, いいい
========================
-----------------------------------------------
checkedを入れてみた。
以下のようになる。
========================
id, test
aaa, bbb
checked, (EMPTY)
========================
Valueが宣言されていない場合、Valueは、(EMPTY) string
になる。
-----------------------------------------------
このタグでは、
以下にようなattributesになる
========================
id , test
a , (EMPTY)
" , (EMPTY)
' , (EMPTY)
` , (EMPTY)
~ , (EMPTY)
! , (EMPTY)
@ , (EMPTY)
# , (EMPTY)
$ , (EMPTY)
% , (EMPTY)
^ , (EMPTY)
& , (EMPTY)
* , (EMPTY)
( , (EMPTY)
) , (EMPTY)
- , (EMPTY)
_ , +
{ , (EMPTY)
} , (EMPTY)
[ , (EMPTY)
] , (EMPTY)
| , (EMPTY)
; , (EMPTY)
: , (EMPTY)
? , (EMPTY)
, , (EMPTY)
. , (EMPTY)
< , (EMPTY)
========================
> 以外の文字なら、なんでもKeyになれるようである。
= が _ と + をKey-Valueペアにしているところに注目。
改行とスペースは同じWhiteSpaceとして取り扱われている。
-----------------------------------------------
= を3つ並べたらどうなるか?
========================
id, test
= , =
========================
最初の=がKeyになり、最後の=がValueとなり、
真ん中の=がKeyとValueをペアにする。
-----------------------------------------------
Keyがquoteされたらどうなるのか?
以下のようになる。
========================
id, test
"aaa", bbb
========================
"aaa" は、両脇のquoteがKeyの名前の一部になっている。
-----------------------------------------------
以下のように、Keyと=の間にWhitespace、=とValueの間に
Whitespaceがあっても問題なく、Key-Valueペアができる。
結果:
========================
id, test
aaa, bbb
========================
-----------------------------------------------
以下のように、=を最初の文字に持った文字列がKeyになれてしまう。
結果:
========================
id, test
=ttt, (EMPTY)
========================
-----------------------------------------------
""の後にスペースがなく、次の文字列がある場合でもOK
========================
id , test
aaa , bbb
ccc , (EMPTY)
========================
-----------------------------------------------