=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) ======================== -----------------------------------------------