

[1]
DOM 式の camelCaseName を
Perl モジュールでは適宜
underscored_name に変換するためのアルゴリズムについて。

参考: [[manakai//メモ//2005-02-16]>>4]

[2]
Test case:

,#	,camelCase	,underscore	,hyphen	,備考
,[2]	,href	,href	,	,HTMLAnchorElement1
,[6]	,URL	,url	,	,HTMLDocument1
,[12]	,x1	,x1	,	,SVG
,[3]	,appendChild	,append_child	,	,Node1
,[14]	,utf16Offset	,utf16_offset	,	,DOMLocator3
,[15]	,findOffset32	,find_offset32	,	,StringExtended3
,[8]	,MozBinding	,_moz_binding	,-moz-binding	,CSS property
,[10]	,?	,panose_1	,panose-1	,CSS descriptor
,[9]	,valueUTF16BE	,value_utf16be	,	,ManakaiDOMString1
,[4]	,getAttributeNode	,get_attribute_node	,	,Element1
,[5]	,getAttributeNS	,get_attribute_ns	,	,Element2
,[7]	,createLSParser	,create_ls_parser	,	,DOMImplementationLS3
,[13]	,rfc3339DateTime	,rfc3339_date_time	,	,ManakaiPerlCodeImplementation
,[11]	,scrollbar3dLightColor (例外的)	,scrollbar_3dlight_color	,scrollbar-3dlight-color	,CSS property

([[名無しさん]] [WEAK[2005-04-30 13:27:37 +00:00]])

[16]
HTMLBodyElement.aLink, HTMLBodyElement.bgColor,
HTMLBodyElement.vLink,
HTML*Element.tabIndex,
HTML*Element.accessKey,
HTMLInputElement.maxLength,
HTML*Element.readOnly,
HTML*Element.useMap,
HTML*Element.isMap,
HTMLHRElement.noShade,
HTMLModElement.dateTime,
HTML*Element.longDesc,
HTMLObjectElement.codeBase,
HTMLObjectElement.codeType,
HTMLParamElement.valueType,
HTMLAnchorElement.codeBase,
HTMLAreaElement.noHref,
HTMLTableElement.bgColor,
HTMLTableElement.cellPadding,
HTMLTableElement.cellSpacing,
HTMLTableElement.tHead,
HTMLTableElement.tFoot,
HTMLTableElement.tBodies,
HTMLTableColElement.vAlign,
HTMLTableSectionElement.vAlign,
HTMLTableRowElement.bgColor,
HTMLTableRowElement.vAlign,
HTMLTableCellElement.bgColor,
HTMLTableCellElement.vAlign,
HTMLTableCellElement.noWrap,
HTMLTableCellElement.rowSpan,
HTMLTableCellElement.colSpan,
HTMLFrameElement.frameBorder,
HTMLFrameElement.marginWidth,
HTMLFrameElement.marginHeight,
HTMLFrameElement.noResize,
HTMLFrameIElement.frameBorder,
HTMLFrameIElement.marginWidth,
HTMLFrameIElement.marginHeight,
HTMLFrameIElement.noResize
は特別扱いして XHTML と同じになるように全小文字にするか、それとも原則通り _
を入れて小文字化にするか。
そもそも元の名前が vSpace じゃなくて 
vspace だったり hrefLang や hRefLang
じゃなくて hreflang だったりどういう基準で大文字にしているのかがわからない
([[DOM水準0]] との互換?)。いっそ全部小文字にしてしまった方が良いのかも。

その場合
HTMLTableElement.createTHead,
HTMLTableElement.createTFoot
は create_thead のように。

だいたい t_head とか v_space
とかは間抜けだな。

HTMLTableColElement.chOff,
HTMLTableSectionElement.chOff,
HTMLTableRowElement.chOff
はどうしたことか。 char と charoff
は char 型との衝突を恐れて ch
にしたのだろうが、原則通りなら
htmlChar とか htmlCharOff
じゃないのか。 (これも DOM 水準 0?)

([[名無しさん]] [WEAK[2005-04-30 14:02:50 +00:00]])

[17]
CSSStyleRule.FONT_FACE_RULE は元の CSS
では @fontface で余計な _ が入っている。
でもこれは定数だしわざわざいじるほどのことでもなかろう。
CSS2Properties の CSS 特性に対応する属性は流石に綺麗に機械的に対応している。
([[名無しさん]] [WEAK[2005-04-30 14:10:28 +00:00]])

[18]
SVGLocatable.getBBox

SVGLangSpace.xmllang,
SVGLangSpace.xmlbase
は xmlLang や xmlBase
じゃなくて全部小文字。参考までに。
xlink:href は
SVGURIReference.href。
@color-profile
は SVGCSSRule.COLOR_PROFILE_RULE。

([[名無しさん]])

[19]
ていうか今のアルゴリズムだと
valueUTF16BE が value_utf_1__6be
になってしまう。 (元の名前もどうかとおもうけどさ)
([[名無しさん]] [WEAK[2005-05-05 12:04:20 +00:00]])


[20]
>>19 findOffset16 -> find_offset_1_6

だめじゃん。
([[名無しさん]] [WEAK[2005-05-05 12:06:54 +00:00]])

