Â
bindings
This section is tested and adjusted for the current Firefox implementation. Please edit only if an actual behavior differs from the described one. Please do not edit only on the basis of another XBL specification.
<!ELEMENT bindings ( binding* ) > éå±€: ã«ãŒãèŠçŽ åèŠçŽ : <binding>
bindings
èŠçŽ ã¯ããããã XBL ææžã®ã«ãŒãèŠçŽ ãšãªããŸããéåžž XBL ã¯ããã©ã«ãã®åå空éãšããŠå®£èšãããã¹ãã§ãã (ããšã XBL ååç©ºéæ¥é èŸãçšãããšããŠã) ããã€ã³ãã£ã³ã°ã§çšããä»ã®åå空éã远å ã§å®£èšããŸãã
bindings
ã¯0å以äžã® binding
èŠçŽ ãåèŠçŽ ã«æã¡ãŸããåã
ã® binding
åèŠçŽ ã«ãã£ãŠãä»ã®ææžäžã®èŠçŽ ãžé©çšããåã
ã®ãã€ã³ãã£ã³ã°ãå®çŸ©ããŸãã
ã²ãšã€ã®èŠçŽ ã«ã¯åæã«ã²ãšã€ã®ïŒå®çµããããŸãã¯ä»ã®ãã€ã³ãã£ã³ã°ãç¶æ¿ããïŒãã€ã³ãã£ã³ã°ã®ã¿ãé©çšããããšãã§ããŸããè€æ°ã®ãã€ã³ãã£ã³ã°ãé©çšãããå Žåã CSS ã®èŠåãšåãããã«æåŸã®ãã®ã ããå®éã«é©çšãããŸãã
HelloWorld example: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html> <head> <title>Hello world!</title> <style type="text/css"> p { -moz-binding: url(hello.xml#default); } #p03 { -moz-binding: url(hello.xml#hello2); } </style> </head> <body <p>Default content</p> <p>Default content</p> <p id="p03">Default content</p> </body> </html> // hello.xml <?xml version="1.0"?> <bindings xmlns="http://www.mozilla.org/xbl" xmlns:html="http://www.w3.org/1999/xhtml"> <binding id="default"> <content><html:b>Hello world! </html:b><children/></content> </binding> <binding id="hello2"> <content><html:b>Hello from my binding! </html:b><children/></content> </binding> </bindings>
次: <big>bindings > binding</big>
èŠçŽ
泚æ
- Mozilla 補åã®çŸè¡ã®å®å®çãªãªãŒã¹ (äŸãã° Firefox 2) ã§ã¯ãè¡ãåãšãã£ã
table
ã®ãµãèŠçŽ ã«å¯ŸããŠãã€ã³ãã£ã³ã°ãé©çšããããšã¯ã§ããŸãããtable
èŠçŽ èªäœã«ã®ã¿ãã€ã³ãã£ã³ã°ãé©çšããããšãã§ããŸãããã㯠Mozilla 補åã®å°æ¥çãªããŒãžã§ã³ã§ã¯ä¿®æ£ãããã§ãããã詳ããæ å ±ãåé¿çã«ã€ããŠã¯ ãã°Â 83830 ãåç §ããŠãã ããã - XBL ãã¡ã€ã«ãå«ãã XML ææžã®ããã©ã«ãã®æåãšã³ã³ãŒãã£ã³ã°ã¯ UTF-8 ã§ããæåãšã³ã³ãŒãã£ã³ã°ãæç€ºçã«å®£èšããããšã§ãããã©ã«ãã®æåãšã³ã³ãŒãã£ã³ã°ããªãŒããŒã©ã€ãããããšãã§ããŸããäŸ:
<?xml version="1.0" encoding="ISO-8859-1"?>
- åå空é宣èšã«æžãããURIã¯ãåå空éãäžæã«èå¥ããããã®ãããŸããªã蚳泚: åæã¯ opaqueãæååã§ãããã®URIã¯å¿ ãããå®éã®ã¹ããŒãå®çŸ©ãåå空éã«é¢é£ãããªãœãŒã¹ãæã瀺ããŠããå¿ èŠã¯ãããŸããïŒããå®éã«äœããªãœãŒã¹ã眮ãããŠããªãå Žåãå€ãã§ãïŒãNamespaces in XML
- ããã©ã«ãã®åå空éã«å ãããã€ã³ãã£ã³ã°ã®ã³ã³ãã³ããå®çŸ©ããããã®ä»ã®åå空éã宣èšããããšãã§ããŸããæãæçšãªåå空éã¯ã HTML/XHTML, XUL (XML User Interface Language), SVG (Scalable Vector Graphics) ãã㊠XLink ã§ãããã®å Žåã®ããã¶ãæ±çšæ§ã®é«ã
bindings
èŠçŽ äžã§ã®åå空é宣èšã¯ãããã以äžã®ããã«ãªãã§ããã:
<bindings xmlns="http://www.mozilla.org/xbl" xmlns:html = "http://www.w3.org/1999/xhtml" xmlns:xul = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:svg = "http://www.w3.org/2000/svg" xmlns:xlink= "http://www.w3.org/1999/xlink">
binding
<!ENTITY % binding-content "(resources?,content?,implementation?,handlers?)"> <!ELEMENT binding %binding-content;> <!ATTLIST binding id ID #REQUIRED extends CDATA #IMPLIED display CDATA #IMPLIED inheritstyle true #IMPLIED >
binding
èŠçŽ ã¯åã
ã® XBL ãã€ã³ãã£ã³ã°ãå®çŸ©ããŸãã XBL ãã€ã³ãã£ã³ã°ã¯ å¿åã³ã³ãã³ã, ãã£ãŒã«ã, ããããã£, ã¡ãœãã, ã€ãã³ããã³ãã© ã HTML/XML èŠçŽ ãžè¿œå ããããšãã§ããŸãã
åã ã® XBL ãã€ã³ãã£ã³ã°ã¯ã¹ã¿ã€ã«ã·ãŒããŸãã¯ã¹ã¯ãªããã«ãã£ãŠèŠçŽ ãžé©çšãããããšãã§ããŸãã (<table> ã®ç¹æ§ã«ã€ããŠã¯ ãã°Â 83830 ãåç §)
CSS:
div { -moz-binding: url(myBinding.xml#default); }
DOM:
elementReference.style.MozBinding = "url(myBinding.xml#default}";
äžèšã®äŸã¯ãšãã« myBinding.xml
ãã¡ã€ã«äžã«å®çŸ©ããã id="default"
ã®ãã€ã³ãã£ã³ã°ãå©çšããŠããŸãã
Firefox 3 以éã data:
URL ã䜿ã£ãŠæäžã«ãã€ã³ãã£ã³ã°ãåã蟌ãããšãã§ããŸãã
div { -moz-binding: url(data:text/xml;charset=utf-8,%3C%3Fxml%20version%3D%221.0%22%3F%3E%0A%3Cbindings%20id%3D%22xbltestBindings%22%20xmlns%3D%22http%3A//www.mozilla.org/xbl%22%3E%0A%20%20%3Cbinding%20id%3D%22xbltest%22%3E%3Ccontent%3EPASS%3C/content%3E%3C/binding%3E%0A%3C/bindings%3E%0A); }
data:
URL ã¯ãã©ã°ã¡ã³ãèå¥å ã蚳泚: #foo ã®ããã«ã㊠XML äžã®ç¹å®ã®éšåã瀺ããã®ã ããµããŒãããŠããªãããã代ããã«åã蟌ãŸãã XML äžã«èŠã€ãã£ãæåã®ãã€ã³ãã£ã³ã°ã䜿çšãããŸãããã ããäŸãåç
§ããããšããªããŠãããã€ã³ãã£ã³ã°ã«ã¯ ID ãå¿
èŠã§ããããšã«æ³šæããŠãã ããã
念ã®ãããå ã»ã©ã®äŸã§åã蟌ãŸãã XML ãã©ã®ãããªãã®ãã瀺ããŸã:
<?xml version="1.0"?> <bindings id="xbltestBindings" xmlns="http://www.mozilla.org/xbl"> <binding id="xbltest"><content>PASS</content></binding> </bindings>
CSS ã«ãã宣èšã®ã¿ãäžé£ã®èŠçŽ ã«å¯ŸããŠç°¡åã«ãã€ã³ãã£ã³ã°ãé©çšããããšãå¯èœã§ãã It also makes your binding partially functional if scripting is disabled. In the latter case all methods and handlers will be blocked, but the anonymous content and styling will be still used. ãããã£ãŠãç¹å®ã®èŠçŽ ã«å¯ŸããŠåçã«ãã€ã³ãã£ã³ã°ãé©çšããå¿ èŠãããå Žåãé€ããé垞㯠CSS ã«ãã宣èšãçšããã¹ãã§ãã
binding
èŠçŽ ã¯ resources ã¿ã°ã content ã¿ã°ã implementation ã¿ã°ã handlers ã¿ã°ãåèŠçŽ ã«æã€ããšãã§ããŸãã
id
-id
屿§ã¯ææžäžã§äžæãšãªãèå¥åã§ãããã€ã³ãã£ã³ã°ãé©çšããéã«ãã®å±æ§ãçšãããããbinding
èŠçŽ ã«å¿ é ã®å±æ§ã§ããextends
-extends
屿§ã¯ããã®ãã€ã³ãã£ã³ã°ã®ç¶æ¿å ãã€ã³ãã£ã³ã°ã® URL ãç¹å®ããããã«çšããããŸã (Inheritance of Implementations åç §)ã URL ã¯ç¹å®ã® XBL ææžãåç §ããŸãã XBL ææžäžã®ç¹å®ã®ãã€ã³ãã£ã³ã°ã®id
ãæã瀺ãããã« # è¡šèš ã蚳泚: åæã¯ notationã ãçšããå¿ èŠããããŸããæ¯ãèãã¯ç¶æ¿ã§ããŸãããã³ã³ãã³ãã¯ç¶æ¿ã§ããªãããšã«æ³šæããŠãã ãããdisplay
- ãã®å±æ§ã«ãã£ãŠã¿ã°ãã©ã®ããã«è¡šç€ºãããããæå®ããŸãããã®å±æ§ãçšãããšãæ¢åã®èŠçŽ ã®ã¬ã€ã¢ãŠããè¡šç€ºç¹æ§ãæããèŠçŽ ãäœãããšãã§ããŸããããšãã°ã 'xul:button' ãšããå€ã«ãã£ãŠããã¿ã³ã®ããã«è¡šç€ºãããèŠçŽ ãäœãããšãã§ããŸããã³ãã³ã®åã®éšåã¯ååç©ºéæ¥é èŸã§ãã®ã§ã XUL åå空éã宣èšããŠããå¿ èŠããããŸãããã¹ãŠã®ã¿ã°ãåºæã®è¡šç€ºç¹æ§ãæã€ããã§ã¯ãããŸããã以äžã® XUL ã®è¡šç€ºç¹æ§ãå©çšããããšãã§ããŸã:browser
,button
,checkbox
,description
,editor
,grippy
,iframe
,image
,label
,menu
,menuitem
,menubar
,progressmeter
,radio
,resizer
,scrollbar
,scrollbox
,spacer
,splitter
,titlebar
,treechildren
,treecol
ããã®ä»ã«ãããã€ãã® HTML, MathML, SVG ã¿ã°ãå©çšå¯èœã§ãã 'display' 屿§ã¯extends
屿§ãã»ãããããŠãªããšåäœããŸãã (ãã°Â 119389ãåç §)ããã®ãããªå Žådisplay
屿§ã®å€ãextends
屿§ãžã»ããããŠãã ãããinheritstyle
-inheritstyle
屿§ã¯ãã€ã³ãã£ã³ã°å ã®ææžäžã§å®çŸ©ãããã¹ã¿ã€ã«ã®èŠåãã XBL ãã€ã³ãã£ã³ã°ã«ãã£ãŠçæãããå¿åã³ã³ãã³ãã«å¯ŸããŠãé©çšãããã©ãããæå®ããŸãããã®å±æ§ã true ã§ããã°ãææžäžã®ã¹ã¿ã€ã«ã¯ XBL ã«ãã£ãŠçæãããå¿åã³ã³ãã³ãã«ãé©çšãããããã«ãªããŸãã
Â
content
<!ELEMENT content ANY> <!ATTLIST content id ID #IMPLIED >
ãã€ã³ãã£ã³ã°ã¯ããã€ã³ããããèŠçŽ ã蚳泚: ãã€ã³ãã£ã³ã°ãé©çšãããèŠçŽ ãæå³ãããã€ã³ãã£ã³ã°å
ã®ææžäžã«ååšããã å
ã«é
眮ããæ°ããªèŠçŽ ãå®çŸ©ããããšãã§ããŸãããããããã¡ã€ã«äžã§çŽæ¥ã³ã³ãã³ããé
眮ããŠãããã®ããã«ç»é¢äžã§è¡šç€ºãããŸããããã€ã³ããããèŠçŽ å
ã®ã³ã³ãã³ãã¯å¿åã§ãããéåžžã® DOM ããã¯èŠããŸããããã€ã³ããããèŠçŽ ããå¿åããŒããžã¢ã¯ã»ã¹ããããã«ã getAnonymousElementByAttribute ãš getAnonymousNodes 颿°ãå©çšã§ããŸãã content
ã¿ã°å
ã«é
眮ã§ããå¯äžã® XBL èŠçŽ ã¯ã children ã¿ã°ã§ãããã€ã³ãã£ã³ã°äžã® <content> èŠçŽ ã®å±æ§ã¯ããã€ã³ããããèŠçŽ ãžã»ãããããŸãã
id
-id
屿§ã¯ææžäžã§äžæãšãªãèå¥åã§ãã
children
<!ELEMENT children EMPTY> <!ATTLIST children id ID #IMPLIED includes CDATA #IMPLIED >
ãã€ã³ããããèŠçŽ å ã®ãã¹ãŠã®åèŠçŽ ãããã€ã³ãã£ã³ã°ã«ããçæãããã³ã³ãã³ãäžã®ã©ã®å Žæãžé 眮ãããããæå®ããŸãã
éåžžããã€ã³ããããèŠçŽ èªèº«ãåèŠçŽ ãšããŠã³ã³ãã³ããæã£ãŠããå Žåãå¿åã³ã³ãã³ãã¯çæãããªããªããŸãããããã children
èŠçŽ ãçšããããšã§ã HTML/XML èŠçŽ ã®ã³ã³ãã³ããã XBL ã«ãã£ãŠçæãããå¿åã³ã³ãã³ããžããŒãžããããšãã§ããŸãã
children
ã¿ã°èªèº«ãåèŠçŽ ã«ã³ã³ãã³ããæã€å Žåãããã¯ããã©ã«ãã®ã³ã³ãã³ããšãªããŸãããããã€ã³ããããèŠçŽ ãã³ã³ãã³ããæã£ãŠããã°ãããã©ã«ãã®ã³ã³ãã³ãã¯ç¡èŠãããŸããéã«ããã³ã³ãã³ããæã£ãŠããªããã°ãããã©ã«ãã®ã³ã³ãã³ãã远å ãããŸãã
id
-id
屿§ã¯ææžäžã§äžæãšãªãèå¥åã§ããincludes
-includes
屿§ã¯ãchildren
èŠçŽ ã§æå®ããæ¿å ¥äœçœ®ãžãç¹å®ã®ã³ã³ãã³ãã®ã¿ãé 眮ã§ããããã«ããããã«çšããããŸãããã®å€ã¯ã¿ã°åãããããã¯ã«ã³ãã§åºåãããè€æ°ã®ã¿ã°åã®ãªã¹ããšãªããŸããincludes
屿§ã®å€ãšãããããã¿ã°åã®ã³ã³ãã³ãã®ã¿ãããã®æ¿å ¥äœçœ®ãžé 眮ãããŸãããã®æå®ã¯çŽæ¥ã®åèŠçŽ ã«ã®ã¿é©çšãããŸããäŸãã°ã<customElement><foobar>< hoge/></foobar></customElement>
ãšããXMLææžçã«ãããŠãcustomElementèŠçŽ ã«å¯Ÿã<binding id="customElement"><content><xul:box><children includes="hoge"/></xul:box></content></binding>
ãšãããã€ã³ãã£ã³ã°å®çŸ©ãé©çšãããå ŽåãçŽæ¥ã®åèŠçŽ ã§ããfoobarèŠçŽ ã¯includes屿§ã®æå®ã«ãããããªãããã«é 眮察象ããé€å€ãããçµæãšããŠã<xul:box/>
ã®å 容ã¯ç©ºã®ãŸãŸãšãªããŸãã
implementation
<!ENTITY % implementation-content "(method|property)*"> <!ELEMENT implementation %implementation-content;> <!ATTLIST implementation id ID #IMPLIED name CDATA #IMPLIED implements CDATA #IMPLIED >
implementation
èŠçŽ ã«ãã£ãŠããã€ã³ããããèŠçŽ ãä¿æããã¡ãœãããšããããã£ã®éå ã蚳泚: 以äžããå®è£
ããšåŒã¶ã ãå®çŸ©ããŸãããã€ã³ãã£ã³ã°ãé©çšããããšããããã®ã¡ãœãããããããã£ããã€ã³ããããèŠçŽ ããçŽæ¥åŒã³åºãããšãã§ããããã«ãªããŸãã
id
-id
屿§ã¯ææžäžã§äžæãšãªãèå¥åã§ããname
-name
屿§ã¯ãåã ã®å®è£ ã«å¯ŸããŠååãä»äžããããã«çšããããŸãããã®ååã¯åŸã«ãã®å®è£ ãåç §ããããã«çšããããŸããäŸãã° JavaScript ã§ã¯ããã®å±æ§ã®å€ãããã®å®è£ ã®ããã«çæãããã¯ã©ã¹åã«å¯Ÿå¿ããŸããã蚳泚: åæ: For example, in JavaScript the value of this attribute represents the name of the corresponding class that is constructed for the implementation.ã ããname
屿§ãæå®ãããŠããªããã°ããã€ã³ãã£ã³ã°ã®å®è£ ãåå¥ã«åç §ããããã«ããã€ã³ãã£ã³ã°ææžã® URI ãš id ãçšããããããã«ãªããŸããimplements
-implements
屿§ã¯ããã€ã³ãã£ã³ã°ã«ãã£ãŠå®è£ ãããã€ã³ã¿ãã§ãŒã¹ã®éåãèšè¿°ããããã«çšããããŸãããã®å€ã¯ã«ã³ãã§åºåãããã€ã³ã¿ãã§ãŒã¹åã®ãªã¹ãã§ãããã察å¿ããŠããã°ãå³å¯ãªåã®ããèšèªã§ã¯ããã€ã³ããããèŠçŽ ã¯ãã®èŠçŽ ããã§ã«ãµããŒãããŠããã€ã³ã¿ãã§ãŒã¹ (äŸãã° HTMLElement) ãšããŠã ãã§ãªãããã®å±æ§ã«èšè¿°ããããã¹ãŠã®ã€ã³ã¿ãã§ãŒã¹ãšããŠãåç §ã§ããããã«ãªããŸãããã®æ©èœãžã®å¯Ÿå¿ã¯ä»»æã§ãã
constructor
constructor
ã®å
åŽã«ããã³ãŒãã¯ã binding
ãèŠçŽ ã«å¯ŸããŠé©çšããããšåæã«åŒã³åºãããŸãããããã£ãŠãã€ã³ãã£ã³ã°ã«ãã£ãŠçæãããå¿åããŒããžã®ãã«ã¢ã¯ã»ã¹ã¯ãã§ã«å¯èœãšãªããŸãã constructor
ã¿ã°ã¯ implementation
ã¿ã°ã®å
åŽã«é
眮ããªããã°ãªããŸããã
id
-id
屿§ã¯ææžäžã§äžæãšãªãèå¥åã§ãã
destructor
destructor
ã®å
åŽã«ããã³ãŒãã¯ãèŠçŽ ãã binding
ã®é©çšãè§£é€ããããšãããšåæã«åŒã³åºãããŸããããã¯ãªãœãŒã¹ãç Žæ£ããŠã¡ã¢ãªãè§£æŸããããã«çšããããŸãããããã destructor
ã¯åŒã³åºãããã¯ãã®æã«åŒã³åºãããªãããšããã°ãã°ãããŸã (ãã°Â 230086åç
§)ã destructor
ã¿ã°ã¯ implementation
ã¿ã°ã®å
åŽã«é
眮ããªããã°ãªããŸããã
id
-id
屿§ã¯ææžäžã§äžæãšãªãèå¥åã§ãã
method
<!ENTITY % method-content "(parameter*,body?)"> <!ELEMENT method %method-content;> <!ATTLIST method id ID #IMPLIED name CDATA #REQUIRED type CDATA #IMPLIED >
method
èŠçŽ ã¯ããã€ã³ãã£ã³ã°ã®å®è£
äžã®åã
ã®ã¡ãœãããå®çŸ©ããããã«çšããããŸãã
id
-id
屿§ã¯ææžäžã§äžæãšãªãèå¥åã§ããname
-name
屿§ã®å€ã¯ãã¡ãœããããã€ã³ããããèŠçŽ ãžçµã³ä»ããããéã«ä»äžãããååã§ãããã®å€ãçšããŠãã€ã³ããããèŠçŽ ããçŽæ¥ã¡ãœãããåŒã³åºãããšãã§ããŸãã
äŸ
<method name="scrollTo"> <parameter name="index"/> <body> this.setAttribute("scrollpos", index); </body> </method>
parameter
<!ELEMENT parameter EMPTY> <!ATTLIST parameter id ID #IMPLIED name CDATA #REQUIRED >
parameter
èŠçŽ ã¯ã method
èŠçŽ ã®å
åŽã§çšããããã¡ãœããã®åã
ã®åŒæ°ã衚ããŸãã
id
-id
屿§ã¯ææžäžã§äžæãšãªãèå¥åã§ããname
-name
屿§ã®å€ã¯ãã¡ãœããã®body
èŠçŽ å ã®ã¹ã¯ãªãããåŒæ°ãåç §ããéã«çšããããŸãã
body
<!ELEMENT body CDATA> <!ATTLIST body id ID #IMPLIED >
body
èŠçŽ ã¯ã察å¿ãã method
ã®å®éã®åŠçã衚ããŸãããã®å
容ã¯ã¡ãœãããåŒã³åºããããšãã«å®è¡ããã¹ã¯ãªããã§ãã
id
-id
屿§ã¯ææžäžã§äžæãšãªãèå¥åã§ãã
field
<!ELEMENT field EMPTY> <!ATTLIST field id ID #IMPLIED name CDATA #REQUIRED readonly (true|false) #IMPLIED >
ãã£ãŒã«ã㯠ããããã£
ã«äŒŒãŠããŸãããã²ãã¿ãšã»ãã¿ãæã€ããšãã§ããªããšããç¹ã§ç°ãªããŸãããã£ãŒã«ãã¯ãåçŽã«å€ãä¿æããããã«æçšã§ãã field
èŠçŽ ã¯ããã£ãŒã«ãã®åæå€ã決å®ããããã®ã³ãŒããå
容ãšããŠæã€å¿
èŠããããŸãã field
ã¿ã°ã¯ã implementation
ã¿ã°ã®å
åŽã«é
眮ããªããã°ãªããŸããã
id
-id
屿§ã¯ææžäžã§äžæãšãªãèå¥åã§ããname
- ãã£ãŒã«ãã®ååãããã¯ãã€ã³ããããèŠçŽ äžã§ãã£ãŒã«ããåç §ããããã«çšããããŸããreadonly
- true ãšããå Žåããã£ãŒã«ãã¯èªã¿åãå°çšãšãªããŸãããã®å±æ§ãçç¥ããå Žåããã£ãŒã«ãã¯èªã¿æžããšãã«å¯èœãšãªããŸãã
Firefox 3 ã§ã®ãã®å€åã«ãã£ãŠãã³ãŒãã®åäœãå€ãã£ãŠããŸãã±ãŒã¹ã®äŸã瀺ããŸãã
- 2ã€ã®ãã£ãŒã«ãããããäžæ¹ã¯
A
ãšããååã§ä»æ¹ã¯B
ãšããååã ãšããŸãããã£ãŒã«ãA
ã.B
ã«ã»ãããããšã.B
ã®å€ã¯.A
ãžã¢ã¯ã»ã¹æžã¿ãåŠãã«äŸåããŸãã - ãã€ã³ãã£ã³ã°ã®ã€ã³ã¹ã¿ã³ã¹çæåŸã«ãããã¿ã€ããã§ãŒã³ãž proto ã远å ãããšãããã«ãã£ãŠãã£ãŒã«ãã®å€ã圱é¿ãåããŸãïŒããã¯ä»¥åã®ããŒãžã§ã³ã® Firefox ã«ã¯åœãŠã¯ãŸããŸããïŒã
- ãã€ã³ãã£ã³ã°é©çšæã
<field name="parentNode">this.parentNode</field>
ã¯parentNode
ã®å€ãšã¯ãªããã undefined ãšãªããŸãã - ãã€ã³ãã£ã³ã°é©çšåã«ïŒproto ãšãããããïŒãªããžã§ã¯ãèªèº«ãžã»ãããããããããã£ã®å€ããã£ãŒã«ãã«ãã£ãŠå€æŽãããŸããã
property
<!ENTITY % property-content "(getter?,setter?)"> <!ELEMENT property %property-content;> <!ATTLIST property id ID #IMPLIED name CDATA #REQUIRED readonly (true|false) #IMPLIED onget CDATA #IMPLIED onset CDATA #IMPLIED >
property
èŠçŽ ã¯ãå®è£
äžã®åã
ã®ããããã£ã衚ããŸããããããã£ã¯ onget
/onset
屿§ãŸã㯠property
èŠçŽ å
ã® getter/setter èŠçŽ ã«ãã£ãŠå®çŸ©ããããã²ãã¿ãšã»ãã¿é¢æ°ã®ãã¢ã«ãã£ãŠæ§æãããŸããã¡ãœãããšåæ§ã«ããã€ã³ãã£ã³ã°ãé©çšããããšåæã«ããã€ã³ããããèŠçŽ ããçŽæ¥ããããã£ãååŸã§ããããã«ãªããŸãã property
ã¿ã°ã¯ã implementation
ã¿ã°ã®å
åŽã«é
眮ããªããã°ãªããŸããã
id
-id
屿§ã¯ææžäžã§äžæãšãªãèå¥åã§ããname
- ããããã£ã®ååããã€ã³ããããèŠçŽ äžã§ããããã£ãåç §ããéã«çšããããŸããreadonly
-readonly
屿§ã¯ãããããã£ãèªã¿åãå°çšã«ããããã«çšããããããããã£ã®å€ã¯å€æŽã§ããªããªããŸãããã®å±æ§ãçç¥ããå Žåãããããã£ã¯èªã¿æžããšãã«å¯èœãšãªããŸããonget
-onget
屿§ã®å€ã¯ãããããã£ã®å€ãåŒã³åºããããšãã«å®è¡ãããã¹ã¯ãªããã§ãããã®å±æ§ãã»ãããããŠããå Žåãproperty
èŠçŽ å ã«ãŠå®ããããåæå€ã¯ç¡èŠãããŸãããã®ä»£ãããonget
屿§ã®å€ãšããŠè¡šãããã¹ã¯ãªããã®æ»ãå€ããåŒã³åºãå ãžè¿ãããŸããããããã£ã®ã²ãã¿ã¯ãproperty
èŠçŽ ã®åèŠçŽ ãšããŠgetter
ã¿ã°ã䜿çšããããšã§ãå®çŸ©å¯èœã§ããonset
-onset
屿§ã®å€ã¯ãããããã£ã®å€ã倿Žãããããšãããšãã«å®è¡ãããã¹ã¯ãªããã§ãããã®å±æ§ãã»ãããããŠããå Žåãproperty
èŠçŽ å ã«ãŠå®ããããåæå€ã¯ç¡èŠãããŸããã¹ã¯ãªããäžã®åŒæ°val
ã¯ãæ°ãã«å²ãåœãŠãããããšããå€ã衚ããŸããããããã£ã®ã»ãã¿ã¯ãproperty
èŠçŽ ã®åèŠçŽ ãšããŠsetter
ã¿ã°ãçšããããšã§ãå®çŸ©å¯èœã§ãã
getter
<!ELEMENT getter PCDATA> <!ATTLIST getter id ID #IMPLIED >
getter
èŠçŽ å
ã«ã¯ãããããã£ãåŒã³åºããããšãã«å®è¡ããã¹ã¯ãªãããèšè¿°ããŸãã getter
ã¿ã°ã¯ã property
ã¿ã°ã®å
åŽã«é
眮ããªããã°ãªããŸããã
id
-id
屿§ã¯ææžäžã§äžæãšãªãèå¥åã§ãã
setter
<!ELEMENT setter PCDATA> <!ATTLIST setter id ID #IMPLIED >
setter
èŠçŽ å
ã«ã¯ãããããã£ãžå€ãã»ããããããšãããšãã«å®è¡ããã¹ã¯ãªãããèšè¿°ããŸãã setter
ã¿ã°ã¯ã property
ã¿ã°ã®å
åŽã«é
眮ããªããã°ãªããŸããã
id
-id
屿§ã¯ææžäžã§äžæãšãªãèå¥åã§ãã
handlers
<!ENTITY % handlers-content "handler*"> <!ELEMENT handlers %handlers-content;> <!ATTLIST handlers id ID #IMPLIED >
handlers
èŠçŽ å
ã§ã¯ããã€ã³ãã£ã³ã°å
ã®ææžå
ã«ãŠèŠçŽ ã«å¯ŸããŠä»å ããã€ãã³ããã³ãã©ãå®çŸ©ããŸããã€ãã³ããã³ãã©ã¯ããã€ã³ãã£ã³ã°ãé©çšããããšåæã«è¿œå ããããã€ã³ãã£ã³ã°ãè§£é€ããããšåæã«åé€ãããŸãã handlers
ã¿ã°ã¯ binding
ã¿ã°å
ã«é
眮ããªããã°ãªããŸããã
id
-id
屿§ã¯ææžäžã§äžæãšãªãèå¥åã§ãã
handler
<!ENTITY % handler-content "PCDATA"> <!ELEMENT handler %handler-content;> <!ATTLIST handler id ID #IMPLIED event NMREF #REQUIRED action CDATA #IMPLIED phase (capturing|bubbling|target) #IMPLIED button (1|2|3) #IMPLIED modifiers CDATA #IMPLIED keycode CDATA #IMPLIED key CDATA #IMPLIED charcode CDATA #IMPLIED clickcount (1|2|3) #IMPLIED command ID #IMPLIED preventdefault false|true #IMPLIED >
handler
èŠçŽ ã¯ãåã
ã®ã€ãã³ããã³ãã©ã衚ããŸãããã®ã€ãã³ããã³ãã©ã¯ãã€ã³ãã£ã³ã°ãé©çšããããšãã«ãã®ã¿ãŒã²ãããžè¿œå ããããã€ã³ããããèŠçŽ ãããã€ã³ãã£ã³ã°ãè§£é€ããããšãã«åé€ãããŸãã handler
ã®å
åŽã®ã¹ã¯ãªããã¯ãã€ãã³ããã³ãã©ã«å¯Ÿå¿ããã€ãã³ããçºçãããšãã«å®è¡ãããŸãã handler
ã¿ã°ã¯ã handlers
ã¿ã°å
ã«é
眮ããªããã°ãªããŸããã
id
-id
屿§ã¯ææžäžã§äžæãšãªãèå¥åã§ããevent
-event
屿§ã«ãã£ãŠããã®ã€ãã³ããã³ãã©ãç£èŠããã€ãã³ããæå®ããŸãããã®å€ã¯ã DOM ã®DocumentEvent
ã€ã³ã¿ãã§ãŒã¹ã«ãããã£ãŠçæãããç¬èªã®ã€ãã³ããå«ããæ£åœãª DOM ã€ãã³ãåã§ããaction
-action
屿§å ã«ã¯ãã€ãã³ããã³ãã©ãçºåãããšãã«åŒã³åºãããã¹ã¯ãªãããèšè¿°ããŸãã芪èŠçŽhandlers
ã®type
屿§ã«ãã£ãŠãã¹ã¯ãªããèšèªãæå®ããŸããã€ãã³ããã³ãã©ã®ã¹ã¯ãªããã¯handler
èŠçŽ ã®åèŠçŽ ãšããŠãèšè¿°ããããšãã§ããŸããphase
- ãã®å±æ§ã¯ããã®ã€ãã³ããã³ãã©ãç£èŠãã¹ãã€ãã³ããããŒäžã®ãã§ãŒãºãæå®ããŸãããã®å€ã¯ãcapturing
,bubbling
,target
ã®ãããããšãªããŸãããã§ãŒãºãæå®ãããŠããå Žåãã€ãã³ããã³ããªã³ã°åŠçã®ãã¡ã®ãã®ãã§ãŒãºäžã§ããã€ãã³ããã³ãã©ã¯åŒã³åºãããªãããã«ãªããŸãããã§ãŒãºãæå®ãããŠããªãå Žåãããã©ã«ãã®bubbling
ã§ãããšæ³å®ãããŸããbutton
-button
屿§ã¯ãã€ãã³ããã³ãã©ã«å¯Ÿã㊠ãã£ã«ã¿ ãä»å ããŸããããã¯ããŠã¹ãã³ãã©ãåã ã®ãã¿ã³ãæå®ããããã«çšããããŸãã DOM MouseEvent ãªããžã§ã¯ãã®button
ãã£ãŒã«ãã®å€ãšbutton
屿§ã®å€ãšããããããå Žåã®ã¿ãã€ãã³ããã³ãã©ãçºåããããã«ãªããŸããmodifiers
-modifiers
屿§ã¯ãããŒããã³ããŠã¹ãã³ãã©ã«å¯ŸããŠãã£ã«ã¿ãä»å ããŸãããã®å€ã¯ãã¹ããŒã¹ãŸãã¯ã«ã³ãã§åºåããã修食ã㌠(ã蚳泚: Shift ããŒã Ctrl ããŒãªã©ã) ã®ãªã¹ãã§ããã€ãã³ããã³ãã©ãçºåããããã«ã¯ããªã¹ãäžã®ä¿®é£ŸããŒãçºçãã DOM Event ãªããžã§ã¯ããžã»ãããããŠããå¿ èŠããããŸããmodifiers
ã空ã§ãªãããªã¹ãäžã«ååšããªã修食ããŒã DOM Event ãªããžã§ã¯ããžã»ãããããŠããå Žåãã€ãã³ããã³ãã©ã¯çºåããŸããã
ãµããŒããã修食ããŒ:shift
alt
control
meta
accel
- ãã©ãããã©ãŒã åºæã®äž»èŠã¢ã¯ã»ã©ã¬ãŒã¿ããŒãã©ã®ä¿®é£ŸããŒãäž»èŠã¢ã¯ã»ã©ã¬ãŒã¿ããŒãšãªããã¯ããŠãŒã¶ãšãŒãžã§ã³ãã«äžä»»ãããã (Windows ã§ã¯ Ctrl ããŒã Mac ã§ã¯ Meta ããŒ)accesskey
- ã·ã§ãŒãã«ããã§çšããããããã©ãããã©ãŒã åºæã®äž»èŠããŒã¢ããã¯ã㌠(Windows ããã³ Linux ã§ã¯ Alt ããŒã Mac ã§ã¯å¹æãªã)
keycode
-keycode
屿§ã¯ãããŒãã³ãã©ã«å¯ŸããŠãã£ã«ã¿ãä»å ããŸãããã®å€ã¯ãäŸãã°vk_enter
ã®ãããªãç¹å®ã®ããŒã³ãŒãã«å¯ŸããããŒèå¥åã§ãã
çè ã«ããæ³šé: 次æ DOM ã€ãã³ã仿§ã§ã¯ãããããæ£ããããŒã³ãŒãæååã®ãªã¹ãããŸãšããããŠããã ããã
ãã®å±æ§ãååšããå Žåãã€ãã³ããã³ãã©ãçºåããããã«ã¯ã DOM KeyEvent ãªããžã§ã¯ãã® keyCode ãã£ãŒã«ãã屿§ã®å€ãšãããããŠããªããã°ãªããŸãããcharcode
-charcode
屿§ã¯ãããŒãã³ãã©ã«å¯ŸããŠãã£ã«ã¿ãä»å ããŸãããã®å€ã¯ãäŸãã° "z
" ã®ãããªäžæåã§ãããã®å±æ§ãååšããå Žåãã€ãã³ããã³ãã©ãçºåããããã«ã¯ã DOM KeyEvent ãªããžã§ã¯ãã® charCode ãã£ãŒã«ãã屿§ã®å€ãšãããããŠããªããã°ãªããŸããã
çè ã«ããæ³šé: DOM ã€ãã³ãã®æçã«äŒŽããããå€ãã®å±æ§ã远å ãããã ãããäŸãã°ã MutationEvent [ DOMNodeInserted ã DOMAttrModified åãªã©ã®ã DOM ã®å€åã«äŒŽã£ãŠçºçããã€ãã³ã 㯠relatedTarget ã®ãããªããã€ãã®æ°ããªãã£ãŒã«ããå®çŸ©ããŠããã®ã§ããã£ã«ã¿ãªã³ã°ã®èšè¿°ã«ãã£ãŠãããã«å¯Ÿå¿ããããšã«ãªããããããªããkey
-key
屿§ã¯ãcharcode
ãšåãæå³ãæã¡ãŸããclickcount
-clickcount
屿§ã¯ãã€ãã³ããã³ãã©ãž ãã£ã«ã¿ ãä»å ããŸããããŠã¹ãã³ãã©ã«å¯ŸããŠããã¿ã³ãäœåã¯ãªãã¯ãããããæå®ããããã«çšããããŸãã DOM MouseEvent ãªããžã§ã¯ãã®clickcount
ãã£ãŒã«ãã®å€ãšå±æ§ã®å€ãšããããããå Žåã®ã¿ãã€ãã³ããã³ãã©ãçºåããŸããcommand
- ã€ãã³ããã³ãã©ãçºåãããšãã«åŒã³åºãã³ãã³ãã® ID ãã¯ãã æš©éãæããªãææžäžã§çšããå Žåãã€ãã³ããã³ãã©å šäœãç¡èŠãããŸããpreventdefault
- true ãã»ããããå Žåããã®ã€ãã³ãã®ããã©ã«ãã®åäœãå®è¡ãããªããªããŸãã Event ãªããžã§ã¯ãã® preventDefault ã¡ãœãããåç §ããŠãã ããã
resources
<!ENTITY % resources-content "(image?,stylesheet?)"> <!ELEMENT resources %resources-content;> <!ATTLIST property id ID #IMPLIED >
ãã€ã³ãã£ã³ã°å
ã§äœ¿çšãã image èŠçŽ ãåãã£ãŠãã£ãã·ã¥ããŠããããã«çšããŸãããŸãã stylesheet èŠçŽ ããã€ã³ãã£ã³ã°å
ã§äœ¿çšããããã«çšããŸãã resources
ã¿ã°ã¯ã binding
ã¿ã°ã®çŽäžã«é
眮ããªããã°ãªããŸããã
id
-id
屿§ã¯ææžäžã§äžæãšãªãèå¥åã§ãã
stylesheet
<!ELEMENT stylesheet EMPTY> <!ATTLIST stylesheet id ID #IMPLIED src URI #REQUIRED >
stylesheet
èŠçŽ ã«ãã£ãŠããã€ã³ãã£ã³ã°ã§äœ¿çšããã¹ã¿ã€ã«ã·ãŒãã宣èšããŸããã¹ã¿ã€ã«ã·ãŒãäžã®ã¹ã¿ã€ã«èŠåã¯ããã€ã³ãã£ã³ã°ã«å¯ŸããŠã®ã¿é©çšãããææžäžã®ä»ã®èŠçŽ ã«å¯ŸããŠã¯é©çšãããŸããã stylesheet
ã¿ã°ã¯ã resources
ã¿ã°å
ã«é
眮ããªããã°ãªããŸããã
id
-id
屿§ã¯ææžäžã§äžæãšãªãèå¥åã§ããsrc
- ãã€ã³ãã£ã³ã°ã®ã³ã³ãã³ããžé©çšããã¹ã¿ã€ã«ã·ãŒãã® URLã
image
<!ELEMENT image EMPTY> <!ATTLIST image id ID #IMPLIED src URI #REQUIRED >
ãã€ã³ãã£ã³ã°äžã§äœ¿çšããç»åãªãœãŒã¹ã宣èšããŸããç»åã¯ãã€ã³ãã£ã³ã°ãé©çšãããçŽåŸã«ããŒããããŸããç»åãåãã£ãŠããŒãããåŸã§å©çšããããã«çšããããŸãã image
ã¿ã°ã¯ã resources
ã¿ã°å
ã«é
眮ããªããã°ãªããŸããã
id
-id
屿§ã¯ææžäžã§äžæãšãªãèå¥åã§ããsrc
- ããŒãããç»åã® URLã