#?SuikaWiki/0.9 *NamedNodeMap (DOM) [1] [[DOM]] の界面 [CODE(DOMi)[NamedNodeMap]] は、名前で識別される節 ([CODE(DOM)[[[Node]]]]) の集まりです。 [2] [CODE(DOM)[[[NodeList]]]] と異なり、 集まりの要素である各 [CODE(DOM)[Node]] はそれぞれ異なる「名前」を持ちます。また、各 [CODE(DOM)[Node]] の順序は必ずしも保存されません。 ([CODE(DOMm)[item]] method で索引番号を指定できますが、 内容の列挙のための便宜上のものだそうです。 [WEAK[(ということは、 [WEAK[(DOM 1 には何も書かれていませんが、)]] [CODE[foreach my [VAR[$i]] (0〜[VAR[$NamedNodeMap]].[CODE(DOMa)[length]]−1) { [CODE(object)[debug]].[CODE(method)[print]] "[VAR[${i}]]th item:" + [VAR[$NamedNodeMap]].[CODE(DOMm)[item]] ([VAR[$i]]) }]] が期待通りに動作する [WEAK[(全項目を1回ずつ出力する。)]] ことくらいは期待してよいのかな? [WEAK[(本当に全く順序が保証されないのなら、 loop 内で何もしなくても、 [VAR[$i]] 番目の項目がどれかが勝手に変わっていく虞がある。)]])]] [3] ,method ,[CODE(DOMm)[[[getNamedItem]]]] ,名前付き項目取得 ,[DOM1] ,method ,[CODE(DOMm)[[[getNamedItemNS]]]] ,名前付き項目取得 ,[DOM2] ,method ,[CODE(DOMm)[[[setNamedItem]]]] ,名前付き項目設定 ,[DOM1] ,method ,[CODE(DOMm)[[[setNamedItemNS]]]] ,名前付き項目設定 ,[DOM2] ,method ,[CODE(DOMm)[[[removeNamedItem]]]] ,名前付き項目削除 ,[DOM1] ,method ,[CODE(DOMm)[[[removeNamedItemNS]]]],名前付き項目削除 ,[DOM2] ,method ,[CODE(DOMm)[[[item]]]] ,索引番号で項目取得,[DOM1] ,読取専用属性,[CODE(DOMa)[[[length]]]] ,項目数 ,[DOM1] [4] [[perl]] などで実装するなら[[連想配列]]にするのがよさげです。 -[DOM1] ''Document Object Model (Core) Level 1'' -[DOM2] ''Document Object Model Core'' [[#comment]] *メモ