=raw

Attributeをパースする

=/raw ----------------------------------------------- 次のコードはあるタグ内のすべてのAttributeのKeyとValue を列記するスニペットである。 =pre =/pre ----------------------------------------------- まずは手始めにシンプルなケースを試してみる。 以下のようになる。 ------------------------| 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) ------------------------| -----------------------------------------------