home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 January / 01_02.iso / software / netscape62win / browser.xpi / bin / chrome / comm.jar / content / editor / EdAEAttributes.js < prev    next >
Encoding:
JavaScript  |  2001-09-01  |  20.2 KB  |  1,821 lines

  1. /*
  2.  * The contents of this file are subject to the Netscape Public
  3.  * License Version 1.1 (the "License"); you may not use this file
  4.  * except in compliance with the License. You may obtain a copy of
  5.  * the License at http://www.mozilla.org/NPL/
  6.  *
  7.  * Software distributed under the License is distributed on an "AS
  8.  * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
  9.  * implied. See the License for the specific language governing
  10.  * rights and limitations under the License.
  11.  *
  12.  * The Original Code is Mozilla Communicator client code, released
  13.  * March 31, 1998.
  14.  *
  15.  * The Initial Developer of the Original Code is Netscape
  16.  * Communications Corporation. Portions created by Netscape are
  17.  * Copyright (C) 1998-2001 Netscape Communications Corporation. All
  18.  * Rights Reserved.
  19.  *
  20.  * Contributor(s):
  21.  *    Beth Epperson
  22.  */
  23.  
  24. // HTML Attributes object for "Name" menulist
  25. var gHTMLAttr = {};
  26.  
  27. // JS Events Attributes object for "Name" menulist
  28. var gJSAttr = {};
  29.  
  30.  
  31. // Core HTML attribute values //
  32. // This is appended to Name menulist when "_core" is attribute name
  33. var gCoreHTMLAttr =
  34. [
  35.   "^id",
  36.     "^class",
  37.     "title"
  38. ];
  39.  
  40. // Core event attribute values //
  41. // This is appended to all JS menulists
  42. //   except those elements having "noJSEvents"
  43. //   as a value in their gJSAttr array.
  44. var gCoreJSEvents =
  45. [
  46.     "onclick",
  47.     "ondblclick",
  48.     "onmousedown",
  49.     "onmouseup",
  50.     "onmouseover",
  51.     "onmousemove",
  52.     "onmouseout",
  53.   "-",
  54.   "onkeypress",
  55.     "onkeydown",
  56.     "onkeyup"
  57. ];
  58.  
  59. // Following are commonly-used strings
  60.  
  61. // Alse accept: sRGB: #RRGGBB //
  62. var gHTMLColors =
  63. [
  64.     "Black",
  65.     "Green",
  66.     "Silver",
  67.     "Lime",
  68.     "Gray",
  69.     "Olive",
  70.     "White",
  71.     "Yellow",
  72.     "Maroon",
  73.     "Navy",
  74.     "Red",
  75.     "Blue",
  76.     "Purple",
  77.     "Teal",
  78.     "Fuchsia",
  79.     "Aqua"
  80. ];
  81.  
  82. var gHAlign =
  83. [
  84.     "left",
  85.     "center",
  86.     "right"
  87. ];
  88.  
  89. var gHAlignJustify =
  90. [
  91.     "left",
  92.     "center",
  93.     "right",
  94.     "justify"
  95. ];
  96.  
  97. var gHAlignTableContent =
  98. [
  99.     "left",
  100.     "center",
  101.     "right",
  102.     "justify",
  103.     "char"
  104. ];
  105.  
  106. var gVAlignTable =
  107. [
  108.     "top",
  109.     "middle",
  110.     "bottom",
  111.     "baseline"
  112. ];
  113.  
  114. // ================ HTML Attributes ================ //
  115. /* For each element, there is an array of attributes,
  116.    whose name is the element name,
  117.    used to fill the "Attribute Name" menulist.
  118.    For each of those attributes, if they have a specific
  119.    set of values, those are listed in an array named:
  120.    "elementName_attName".
  121.  
  122.    In each values string, the following characters
  123.    are signal to do input filtering:
  124.     "#"  Allow only integer values
  125.     "%"  Allow integer values or a number ending in "%"
  126.     "+"  Allow integer values and allow "+" or "-" as first character
  127.     "!"  Allow only one character
  128.     "^"  The first character can be only be A-Z, a-z, hyphen, underscore, colon or period
  129.     "$"  is an attribute required by HTML DTD
  130. */
  131.  
  132. /*
  133.    Most elements have the "dir" attribute,
  134.    so we use this value array
  135.    for all elements instead of specifying  
  136.    separately for each element
  137. */
  138. gHTMLAttr.all_dir =
  139. [
  140.   "ltr",
  141.   "rtl"
  142. ];
  143.  
  144.  
  145. gHTMLAttr.a =
  146. [
  147.   "charset",
  148.   "type",
  149.   "name",
  150.   "href",
  151.   "hreflang",
  152.   "target",
  153.   "rel",
  154.   "rev",
  155.   "!accesskey",
  156.   "shape",        // with imagemap //
  157.   "coords",        // with imagemap //
  158.   "#tabindex",
  159.   "-",
  160.   "_core",
  161.   "-",
  162.   "^lang",
  163.   "dir"
  164. ];
  165.  
  166. gHTMLAttr.a_rel =
  167. [
  168.   "alternate",
  169.   "stylesheet",
  170.   "start",
  171.   "next",
  172.   "prev",
  173.   "contents",
  174.   "index",
  175.   "glossary",
  176.   "copyright",
  177.   "chapter",
  178.   "section",
  179.   "subsection",
  180.   "appendix",
  181.   "help",
  182.   "bookmark"
  183. ];
  184.  
  185. gHTMLAttr.a_rev =
  186. [
  187.   "alternate",
  188.   "stylesheet",
  189.   "start",
  190.   "next",
  191.   "prev",
  192.   "contents",
  193.   "index",
  194.   "glossary",
  195.   "copyright",
  196.   "chapter",
  197.   "section",
  198.   "subsection",
  199.   "appendix",
  200.   "help",
  201.   "bookmark"
  202. ];
  203.  
  204. gHTMLAttr.a_shape =
  205. [
  206.   "rect",
  207.   "circle",
  208.   "poly",
  209.   "default"
  210. ];
  211.  
  212. gHTMLAttr.abbr =
  213. [
  214.   "_core",
  215.   "-",
  216.   "^lang",
  217.   "dir"
  218. ];
  219.  
  220. gHTMLAttr.acronym =
  221. [
  222.   "_core",
  223.   "-",
  224.   "^lang",
  225.   "dir"
  226. ];
  227.  
  228. gHTMLAttr.address =
  229. [
  230.   "_core",
  231.   "-",
  232.   "^lang",
  233.   "dir"
  234. ];
  235.  
  236. // this is deprecated //
  237. gHTMLAttr.applet =
  238. [
  239.   "codebase",
  240.   "archive",
  241.   "code",
  242.   "object",
  243.   "alt",
  244.   "name",
  245.   "%$width",
  246.   "%$height",
  247.   "align",
  248.   "#hspace",
  249.   "#vspace",
  250.   "-",
  251.   "_core"
  252. ];
  253.  
  254. gHTMLAttr.applet_align =
  255. [
  256.   "top",
  257.   "middle",
  258.   "bottom",
  259.   "left",
  260.   "right"
  261. ];
  262.  
  263. gHTMLAttr.area =
  264. [
  265.   "shape",
  266.   "coords",
  267.   "href",
  268.   "nohref",
  269.   "target",
  270.   "$alt",
  271.   "#tabindex",
  272.   "!accesskey",
  273.   "-",
  274.   "_core",
  275.   "-",
  276.   "^lang",
  277.   "dir"
  278. ];
  279.  
  280. gHTMLAttr.area_shape =
  281. [
  282.   "rect",
  283.   "circle",
  284.   "poly",
  285.   "default"
  286. ];
  287.  
  288. gHTMLAttr.area_nohref =
  289. [
  290.   "nohref"
  291. ];
  292.  
  293. gHTMLAttr.b =
  294. [
  295.   "_core",
  296.   "-",
  297.   "^lang",
  298.   "dir"
  299. ];
  300.  
  301. gHTMLAttr.base =
  302. [
  303.   "href",
  304.   "target"
  305. ];
  306.  
  307. // this is deprecated //
  308. gHTMLAttr.basefont =
  309. [
  310.   "^id",
  311.   "$size",
  312.   "color",
  313.   "face"
  314. ];
  315.  
  316. gHTMLAttr.basefont_color = gHTMLColors;
  317.  
  318. gHTMLAttr.bdo =
  319. [
  320.   "_core",
  321.   "-",
  322.   "^lang",
  323.   "$dir"
  324. ];
  325.  
  326. gHTMLAttr.bdo_dir =
  327. [
  328.   "ltr",
  329.   "rtl"
  330. ];
  331.  
  332. gHTMLAttr.big =
  333. [
  334.   "_core",
  335.   "-",
  336.   "^lang",
  337.   "dir"
  338. ];
  339.  
  340. gHTMLAttr.blockquote =
  341. [
  342.   "cite",
  343.   "-",
  344.   "_core",
  345.   "-",
  346.   "^lang",
  347.   "dir"
  348. ];
  349.  
  350. gHTMLAttr.body =
  351. [
  352.   "background",
  353.   "bgcolor",
  354.   "text",
  355.   "link",
  356.   "vlink",
  357.   "alink",
  358.   "-",
  359.   "_core",
  360.   "-",
  361.   "^lang",
  362.   "dir"
  363. ];
  364.  
  365. gHTMLAttr.body_bgcolor = gHTMLColors;
  366.  
  367. gHTMLAttr.body_text = gHTMLColors;
  368.  
  369. gHTMLAttr.body_link = gHTMLColors;
  370.  
  371. gHTMLAttr.body_vlink = gHTMLColors;
  372.  
  373. gHTMLAttr.body_alink = gHTMLColors;
  374.  
  375. gHTMLAttr.br =
  376. [
  377.   "clear",
  378.   "-",
  379.   "_core"
  380. ];
  381.  
  382. gHTMLAttr.br_clear =
  383. [
  384.   "none",
  385.   "left",
  386.   "all",
  387.   "right"
  388. ];
  389.  
  390. gHTMLAttr.button =
  391. [
  392.   "name",
  393.   "value",
  394.   "$type",
  395.   "disabled",
  396.   "#tabindex",
  397.   "!accesskey",
  398.   "-",
  399.   "_core",
  400.   "-",
  401.   "^lang",
  402.   "dir"
  403. ];
  404.  
  405. gHTMLAttr.button_type =
  406. [
  407.   "submit",
  408.   "button",
  409.   "reset"
  410. ];
  411.  
  412. gHTMLAttr.button_disabled =
  413. [
  414.   "disabled"
  415. ];
  416.  
  417. gHTMLAttr.caption =
  418. [
  419.   "align",
  420.   "-",
  421.   "_core",
  422.   "-",
  423.   "^lang",
  424.   "dir"
  425. ];
  426.  
  427. gHTMLAttr.caption_align =
  428. [
  429.   "top",
  430.   "bottom",
  431.   "left",
  432.   "right"
  433. ];
  434.  
  435.  
  436. // this is deprecated //
  437. gHTMLAttr.center =
  438. [
  439.   "_core",
  440.   "-",
  441.   "^lang",
  442.   "dir"
  443. ];
  444.  
  445. gHTMLAttr.cite =
  446. [
  447.   "_core",
  448.   "-",
  449.   "^lang",
  450.   "dir"
  451. ];
  452.  
  453. gHTMLAttr.code =
  454. [
  455.   "_core",
  456.   "-",
  457.   "^lang",
  458.   "dir"
  459. ];
  460.  
  461. gHTMLAttr.col =
  462. [
  463.   "#$span",
  464.   "%width",
  465.   "align",
  466.   "!char",
  467.   "#charoff",
  468.   "valign",
  469.   "char",
  470.   "-",
  471.   "_core",
  472.   "-",
  473.   "^lang",
  474.   "dir"
  475. ];
  476.  
  477. gHTMLAttr.col_span =
  478. [
  479.   "1"  // default
  480. ];
  481.  
  482. gHTMLAttr.col_align = gHAlignTableContent;
  483.  
  484. gHTMLAttr.col_valign =
  485. [
  486.   "top",
  487.   "middle",
  488.   "bottom",
  489.   "baseline"
  490. ];
  491.  
  492.  
  493. gHTMLAttr.colgroup =
  494. [
  495.   "#$span",
  496.   "%width",
  497.   "align",
  498.   "!char",
  499.   "#charoff",
  500.   "valign",
  501.   "-",
  502.   "_core",
  503.   "-",
  504.   "^lang",
  505.   "dir"
  506. ];
  507.  
  508. gHTMLAttr.colgroup_span =
  509. [
  510.   "1" // default
  511. ];
  512.  
  513. gHTMLAttr.colgroup_align = gHAlignTableContent;
  514.  
  515. gHTMLAttr.colgroup_valign =
  516. [
  517.   "top",
  518.   "middle",
  519.   "bottom",
  520.   "baseline"
  521. ];
  522.  
  523. gHTMLAttr.dd =
  524. [
  525.   "_core",
  526.   "-",
  527.   "^lang",
  528.   "dir"
  529. ];
  530.  
  531. gHTMLAttr.del =
  532. [
  533.   "cite",
  534.   "datetime",
  535.   "_core",
  536.   "-",
  537.   "^lang",
  538.   "dir"
  539. ];
  540.  
  541. gHTMLAttr.dfn =
  542. [
  543.   "_core",
  544.   "-",
  545.   "^lang",
  546.   "dir"
  547. ];
  548.  
  549. // this is deprecated //
  550. gHTMLAttr.dir =
  551. [
  552.   "compact",
  553.   "-",
  554.   "_core",
  555.   "-",
  556.   "^lang",
  557.   "dir"
  558. ];
  559.  
  560. gHTMLAttr.dir_compact =
  561. [
  562.   "compact"
  563. ];
  564.  
  565. gHTMLAttr.div =
  566. [
  567.   "align",
  568.   "-",
  569.   "_core",
  570.   "-",
  571.   "^lang",
  572.   "dir"
  573. ];
  574.  
  575. gHTMLAttr.div_align = gHAlignJustify;
  576.  
  577. gHTMLAttr.dl =
  578. [
  579.   "compact",
  580.   "-",
  581.   "_core",
  582.   "-",
  583.   "^lang",
  584.   "dir"
  585. ];
  586.  
  587. gHTMLAttr.dl_compact =
  588. [
  589.   "compact"
  590. ];
  591.  
  592.  
  593. gHTMLAttr.dt =
  594. [
  595.   "_core",
  596.   "-",
  597.   "^lang",
  598.   "dir"
  599. ];
  600.  
  601. gHTMLAttr.em =
  602. [
  603.   "_core",
  604.   "-",
  605.   "^lang",
  606.   "dir"
  607. ];
  608.  
  609. gHTMLAttr.fieldset =
  610. [
  611.   "_core",
  612.   "-",
  613.   "^lang",
  614.   "dir"
  615. ];
  616.  
  617. // this is deprecated //
  618. gHTMLAttr.font =
  619. [
  620.   "+size",
  621.   "color",
  622.   "face",
  623.   "-",
  624.   "_core",
  625.   "-",
  626.   "^lang",
  627.   "dir"
  628. ];
  629.  
  630. gHTMLAttr.font_color = gHTMLColors;
  631.  
  632. gHTMLAttr.form =
  633. [
  634.   "$action",
  635.   "$method",
  636.   "enctype",
  637.   "accept",
  638.   "name",
  639.   "accept-charset",
  640.   "target",
  641.   "-",
  642.   "_core",
  643.   "-",
  644.   "^lang",
  645.   "dir"
  646. ];
  647.  
  648. gHTMLAttr.form_method =
  649. [
  650.   "get",
  651.   "post"
  652. ];
  653.  
  654. gHTMLAttr.form_enctype =
  655. [
  656.   "application/x-www-form-urlencoded"
  657. ];
  658.  
  659. gHTMLAttr.form_target =
  660. [
  661.   "blank",
  662.   "self",
  663.   "parent",
  664.   "top"
  665. ];
  666.  
  667. gHTMLAttr.frame =
  668. [
  669.   "longdesc",
  670.   "name",
  671.   "src",
  672.   "#frameborder",
  673.   "#marginwidth",
  674.   "#marginheight",
  675.   "noresize",
  676.   "$scrolling"
  677. ];
  678.  
  679. gHTMLAttr.frame_frameborder =
  680. [
  681.   "1",
  682.   "0"
  683. ];
  684.  
  685. gHTMLAttr.frame_noresize =
  686. [
  687.   "noresize"
  688. ];
  689.  
  690. gHTMLAttr.frame_scrolling =
  691. [
  692.   "auto",
  693.   "yes",
  694.   "no"
  695. ];
  696.  
  697.  
  698. gHTMLAttr.frameset =
  699. [
  700.   "rows",
  701.   "cols",
  702.   "-",
  703.   "_core"
  704. ];
  705.  
  706. gHTMLAttr.h1 =
  707. [
  708.   "align",
  709.   "-",
  710.   "_core",
  711.   "-",
  712.   "^lang",
  713.   "dir"
  714. ];
  715.  
  716. gHTMLAttr.h1_align = gHAlignJustify;
  717.  
  718. gHTMLAttr.h2 =
  719. [
  720.   "align",
  721.   "-",
  722.   "_core",
  723.   "-",
  724.   "^lang",
  725.   "dir"
  726. ];
  727.  
  728. gHTMLAttr.h2_align = gHAlignJustify;
  729.  
  730. gHTMLAttr.h3 =
  731. [
  732.   "align",
  733.   "-",
  734.   "_core",
  735.   "-",
  736.   "^lang",
  737.   "dir"
  738. ];
  739.  
  740. gHTMLAttr.h3_align =  gHAlignJustify;
  741.  
  742. gHTMLAttr.h4 =
  743. [
  744.   "align",
  745.   "-",
  746.   "_core",
  747.   "-",
  748.   "^lang",
  749.   "dir"
  750. ];
  751.  
  752. gHTMLAttr.h4_align = gHAlignJustify;
  753.  
  754.  
  755. gHTMLAttr.h5 =
  756. [
  757.   "align",
  758.   "-",
  759.   "_core",
  760.   "-",
  761.   "^lang",
  762.   "dir"
  763. ];
  764.  
  765. gHTMLAttr.h5_align = gHAlignJustify;
  766.  
  767. gHTMLAttr.h6 =
  768. [
  769.   "align",
  770.   "-",
  771.   "_core",
  772.   "-",
  773.   "^lang",
  774.   "dir"
  775. ];
  776.  
  777. gHTMLAttr.h6_align = gHAlignJustify;
  778.  
  779. gHTMLAttr.head =
  780. [
  781.   "profile",
  782.   "-",
  783.   "^lang",
  784.   "dir"
  785. ];
  786.  
  787. gHTMLAttr.hr =
  788. [
  789.   "align",
  790.   "noshade",
  791.   "size",
  792.   "%width",
  793.   "-",
  794.   "_core",
  795.   "-",
  796.   "^lang",
  797.   "dir"
  798. ];
  799.  
  800. gHTMLAttr.hr_align = gHAlign;
  801.  
  802. gHTMLAttr.hr_noshade = 
  803. [
  804.   "noshade"
  805. ];
  806.  
  807.  
  808. gHTMLAttr.html =
  809. [
  810.   "version",
  811.   "-",
  812.   "^lang",
  813.   "dir"
  814. ];
  815.  
  816. gHTMLAttr.i =
  817. [
  818.   "_core",
  819.   "-",
  820.   "^lang",
  821.   "dir"
  822. ];
  823.  
  824. gHTMLAttr.iframe =
  825. [
  826.   "longdesc",
  827.   "name",
  828.   "src",
  829.   "$frameborder",
  830.   "marginwidth",
  831.   "marginheight",
  832.   "$scrolling",
  833.   "align",
  834.   "%height",
  835.   "%width",
  836.   "-",
  837.   "_core"
  838. ];
  839.  
  840. gHTMLAttr.iframe_frameborder =
  841. [
  842.   "1",
  843.   "0"
  844. ];
  845.  
  846. gHTMLAttr.iframe_scrolling =
  847. [
  848.   "auto",
  849.   "yes",
  850.   "no"
  851. ];
  852.  
  853. gHTMLAttr.iframe_align =
  854. [
  855.   "top",
  856.   "middle",
  857.   "bottom",
  858.   "left",
  859.   "right"
  860. ];
  861.  
  862. gHTMLAttr.img =
  863. [
  864.   "$src",
  865.   "$alt",
  866.   "longdesc",
  867.   "name",
  868.   "%height",
  869.   "%width",
  870.   "usemap",
  871.   "ismap",
  872.   "align",
  873.   "#border",
  874.   "#hspace",
  875.   "#vspace",
  876.   "-",
  877.   "_core",
  878.   "-",
  879.   "^lang",
  880.   "dir"
  881. ];
  882.  
  883. gHTMLAttr.img_ismap =
  884. [
  885.   "ismap"
  886. ];
  887.  
  888. gHTMLAttr.img_align =
  889. [
  890.   "top",
  891.   "middle",
  892.   "bottom",
  893.   "left",
  894.   "right"
  895. ];
  896.  
  897. gHTMLAttr.input =
  898. [
  899.   "$type",
  900.   "name",
  901.   "value",
  902.   "checked",
  903.   "disabled",
  904.   "readonly",
  905.   "size",
  906.   "#maxlength",
  907.   "src",
  908.   "alt",
  909.   "usemap",
  910.   "ismap",
  911.   "#tabindex",
  912.   "!accesskey",
  913.   "accept",
  914.   "align",
  915.   "-",
  916.   "_core",
  917.   "-",
  918.   "^lang",
  919.   "dir"
  920. ];
  921.  
  922. gHTMLAttr.input_type =
  923. [
  924.   "text",
  925.   "password",
  926.   "checkbox",
  927.   "radio",
  928.   "submit",
  929.   "reset",
  930.   "file",
  931.   "hidden",
  932.   "image",
  933.   "button"
  934. ];
  935.  
  936. gHTMLAttr.input_checked =
  937. [
  938.   "checked"
  939. ];
  940.  
  941. gHTMLAttr.input_disabled =
  942. [
  943.   "disabled"
  944. ];
  945.  
  946. gHTMLAttr.input_readonly =
  947. [
  948.   "readonly"
  949. ];
  950.  
  951.  
  952. gHTMLAttr.input_ismap =
  953. [
  954.   "ismap"
  955. ];
  956.  
  957.  
  958. gHTMLAttr.input_align =
  959. [
  960.   "top",
  961.   "middle",
  962.   "bottom",
  963.   "left",
  964.   "right"
  965. ];
  966.  
  967. gHTMLAttr.ins =
  968. [
  969.   "cite",
  970.   "datetime",
  971.   "-",
  972.   "_core",
  973.   "-",
  974.   "^lang",
  975.   "dir"
  976. ];
  977.  
  978. gHTMLAttr.isindex =
  979. [
  980.   "prompt",
  981.   "-",
  982.   "_core",
  983.   "-",
  984.   "^lang",
  985.   "dir"
  986. ];
  987.  
  988. gHTMLAttr.kbd =
  989. [
  990.   "_core",
  991.   "-",
  992.   "^lang",
  993.   "dir"
  994. ];
  995.  
  996. gHTMLAttr.label =
  997. [
  998.   "for",
  999.   "!accesskey",
  1000.   "-",
  1001.   "_core",
  1002.   "-",
  1003.   "^lang",
  1004.   "dir"
  1005. ];
  1006.  
  1007. gHTMLAttr.legend =
  1008. [
  1009.   "!accesskey",
  1010.   "align",
  1011.   "-",
  1012.   "_core",
  1013.   "-",
  1014.   "^lang",
  1015.   "dir"
  1016. ];
  1017.  
  1018. gHTMLAttr.legend_align =
  1019. [
  1020.   "top",
  1021.   "bottom",
  1022.   "left",
  1023.   "right"
  1024. ];
  1025.  
  1026. gHTMLAttr.li =
  1027. [
  1028.   "type",
  1029.   "#value",
  1030.   "-",
  1031.   "_core",
  1032.   "-",
  1033.   "^lang",
  1034.   "dir"
  1035. ];
  1036.  
  1037. gHTMLAttr.li_type =
  1038. [
  1039.   "disc",
  1040.   "square",
  1041.   "circle",
  1042.   "-",
  1043.   "1",
  1044.   "a",
  1045.   "A",
  1046.   "i",
  1047.   "I"
  1048. ];
  1049.  
  1050. gHTMLAttr.link =
  1051. [
  1052.   "charset",
  1053.   "href",
  1054.   "hreflang",
  1055.   "type",
  1056.   "rel",
  1057.   "rev",
  1058.   "media",
  1059.   "target",
  1060.   "-",
  1061.   "_core",
  1062.   "-",
  1063.   "^lang",
  1064.   "dir"
  1065. ];
  1066.  
  1067. gHTMLAttr.link_rel =
  1068. [
  1069.   "alternate",
  1070.   "stylesheet",
  1071.   "start",
  1072.   "next",
  1073.   "prev",
  1074.   "contents",
  1075.   "index",
  1076.   "glossary",
  1077.   "copyright",
  1078.   "chapter",
  1079.   "section",
  1080.   "subsection",
  1081.   "appendix",
  1082.   "help",
  1083.   "bookmark"
  1084. ];
  1085.  
  1086. gHTMLAttr.link_rev =
  1087. [
  1088.   "alternate",
  1089.   "stylesheet",
  1090.   "start",
  1091.   "next",
  1092.   "prev",
  1093.   "contents",
  1094.   "index",
  1095.   "glossary",
  1096.   "copyright",
  1097.   "chapter",
  1098.   "section",
  1099.   "subsection",
  1100.   "appendix",
  1101.   "help",
  1102.   "bookmark"
  1103. ];
  1104.  
  1105. gHTMLAttr.map =
  1106. [
  1107.   "$name",
  1108.   "-",
  1109.   "_core",
  1110.   "-",
  1111.   "^lang",
  1112.   "dir"
  1113. ];
  1114.  
  1115. gHTMLAttr.menu =
  1116. [
  1117.   "compact",
  1118.   "-",
  1119.   "_core",
  1120.   "-",
  1121.   "^lang",
  1122.   "dir"
  1123. ];
  1124.  
  1125. gHTMLAttr.menu_compact =
  1126. [
  1127.   "compact"
  1128. ];
  1129.  
  1130. gHTMLAttr.meta =
  1131. [
  1132.   "http-equiv",
  1133.   "name",
  1134.   "$content",
  1135.   "scheme",
  1136.   "-",
  1137.   "^lang",
  1138.   "dir"
  1139. ];
  1140.  
  1141. gHTMLAttr.noframes =
  1142. [
  1143.   "_core",
  1144.   "-",
  1145.   "^lang",
  1146.   "dir"
  1147. ];
  1148.  
  1149. gHTMLAttr.noscript =
  1150. [
  1151.   "_core",
  1152.   "-",
  1153.   "^lang",
  1154.   "dir"
  1155. ];
  1156.  
  1157. gHTMLAttr.object =
  1158. [
  1159.   "declare",
  1160.   "classid",
  1161.   "codebase",
  1162.   "data",
  1163.   "type",
  1164.   "codetype",
  1165.   "archive",
  1166.   "standby",
  1167.   "%height",
  1168.   "%width",
  1169.   "usemap",
  1170.   "name",
  1171.   "#tabindex",
  1172.   "align",
  1173.   "#border",
  1174.   "#hspace",
  1175.   "#vspace",
  1176.   "-",
  1177.   "_core",
  1178.   "-",
  1179.   "^lang",
  1180.   "dir"
  1181. ];
  1182.  
  1183. gHTMLAttr.object_declare =
  1184. [
  1185.   "declare"
  1186. ];
  1187.  
  1188. gHTMLAttr.object_align =
  1189. [
  1190.   "top",
  1191.   "middle",
  1192.   "bottom",
  1193.   "left",
  1194.   "right"
  1195. ];
  1196.  
  1197. gHTMLAttr.ol =
  1198. [
  1199.   "type",
  1200.   "compact",
  1201.   "#start",
  1202.   "-",
  1203.   "_core",
  1204.   "-",
  1205.   "^lang",
  1206.   "dir"
  1207. ];
  1208.  
  1209. gHTMLAttr.ol_type =
  1210. [
  1211.   "1",
  1212.   "a",
  1213.   "A",
  1214.   "i",     
  1215.   "I"
  1216. ];
  1217.  
  1218. gHTMLAttr.ol_compact =
  1219. [
  1220.   "compact"
  1221. ];
  1222.  
  1223.  
  1224. gHTMLAttr.optgroup =
  1225. [
  1226.   "disabled",
  1227.   "$label",
  1228.   "-",
  1229.   "_core",
  1230.   "-",
  1231.   "^lang",
  1232.   "dir"
  1233. ];
  1234.  
  1235. gHTMLAttr.optgroup_disabled =
  1236. [
  1237.   "disabled"
  1238. ];
  1239.  
  1240.  
  1241. gHTMLAttr.option =
  1242. [
  1243.   "selected",
  1244.   "disabled",
  1245.   "label",
  1246.   "value",
  1247.   "-",
  1248.   "_core",
  1249.   "-",
  1250.   "^lang",
  1251.   "dir"
  1252. ];
  1253.  
  1254. gHTMLAttr.option_selected =
  1255. [
  1256.   "selected"
  1257. ];
  1258.  
  1259. gHTMLAttr.option_disabled =
  1260. [
  1261.   "disabled"
  1262. ];
  1263.  
  1264.  
  1265. gHTMLAttr.p =
  1266. [
  1267.   "align",
  1268.   "-",
  1269.   "_core",
  1270.   "-",
  1271.   "^lang",
  1272.   "dir"
  1273. ];
  1274.  
  1275. gHTMLAttr.p_align = gHAlignJustify;
  1276.  
  1277. gHTMLAttr.param =
  1278. [
  1279.   "^id",
  1280.   "$name",
  1281.   "value",
  1282.   "$valuetype",
  1283.   "type"
  1284. ];
  1285.  
  1286. gHTMLAttr.param_valuetype =
  1287. [
  1288.   "data",
  1289.   "ref",
  1290.   "object"
  1291. ];
  1292.  
  1293.  
  1294. gHTMLAttr.pre =
  1295. [
  1296.   "%width",
  1297.   "-",
  1298.   "_core",
  1299.   "-",
  1300.   "^lang",
  1301.   "dir"
  1302. ];
  1303.  
  1304. gHTMLAttr.q =
  1305. [
  1306.   "cite",
  1307.   "-",
  1308.   "_core",
  1309.   "-",
  1310.   "^lang",
  1311.   "dir"
  1312. ];
  1313.  
  1314. gHTMLAttr.s =
  1315. [
  1316.   "_core",
  1317.   "-",
  1318.   "^lang",
  1319.   "dir"
  1320. ];
  1321.  
  1322. gHTMLAttr.samp =
  1323. [
  1324.   "_core",
  1325.   "-",
  1326.   "^lang",
  1327.   "dir"
  1328. ];
  1329.  
  1330. gHTMLAttr.script =
  1331. [
  1332.   "charset",
  1333.   "$type",
  1334.   "language",
  1335.   "src",
  1336.   "defer"
  1337. ];
  1338.  
  1339. gHTMLAttr.script_defer =
  1340. [
  1341.   "defer"
  1342. ];
  1343.  
  1344.  
  1345. gHTMLAttr.select =
  1346. [
  1347.   "name",
  1348.   "#size",
  1349.   "multiple",
  1350.   "disabled",
  1351.   "#tabindex",
  1352.   "-",
  1353.   "_core",
  1354.   "-",
  1355.   "^lang",
  1356.   "dir"
  1357. ];
  1358.  
  1359. gHTMLAttr.select_multiple =
  1360. [
  1361.   "multiple"
  1362. ];
  1363.  
  1364. gHTMLAttr.select_disabled =
  1365. [
  1366.   "disabled"
  1367. ];
  1368.  
  1369. gHTMLAttr.small =
  1370. [
  1371.   "_core",
  1372.   "-",
  1373.   "^lang",
  1374.   "dir"
  1375. ];
  1376.  
  1377. gHTMLAttr.span =
  1378. [
  1379.   "_core",
  1380.   "-",
  1381.   "^lang",
  1382.   "dir"
  1383. ];
  1384.  
  1385. gHTMLAttr.strike =
  1386. [
  1387.   "_core",
  1388.   "-",
  1389.   "^lang",
  1390.   "dir"
  1391. ];
  1392.  
  1393. gHTMLAttr.strong =
  1394. [
  1395.   "_core",
  1396.   "-",
  1397.   "^lang",
  1398.   "dir"
  1399. ];
  1400.  
  1401. gHTMLAttr.style =
  1402. [
  1403.   "$type",
  1404.   "media",
  1405.   "title",
  1406.   "-",
  1407.   "^lang",
  1408.   "dir"
  1409. ];
  1410.  
  1411. gHTMLAttr.sub =
  1412. [
  1413.   "_core",
  1414.   "-",
  1415.   "^lang",
  1416.   "dir"
  1417. ];
  1418.  
  1419. gHTMLAttr.sup =
  1420. [
  1421.   "_core",
  1422.   "-",
  1423.   "^lang",
  1424.   "dir"
  1425. ];
  1426.  
  1427. gHTMLAttr.table =
  1428. [
  1429.   "summary",
  1430.   "%width",
  1431.   "#border",
  1432.   "frame",
  1433.   "rules",
  1434.   "#cellspacing",
  1435.   "#cellpadding",
  1436.   "align",
  1437.   "bgcolor",
  1438.   "-",
  1439.   "_core",
  1440.   "-",
  1441.   "^lang",
  1442.   "dir"
  1443. ];
  1444.  
  1445. gHTMLAttr.table_frame =
  1446. [
  1447.   "void",
  1448.   "above",
  1449.   "below",
  1450.   "hsides",
  1451.   "lhs",
  1452.   "rhs",
  1453.   "vsides",
  1454.   "box",
  1455.   "border"
  1456. ];
  1457.  
  1458. gHTMLAttr.table_rules =
  1459. [
  1460.   "none",
  1461.   "groups",
  1462.   "rows",
  1463.   "cols",
  1464.   "all"
  1465. ];
  1466.  
  1467. // Note; This is alignment of the table,
  1468. //  not table contents, like all other table child elements
  1469. gHTMLAttr.table_align = gHAlign;
  1470.  
  1471. gHTMLAttr.table_bgcolor = gHTMLColors;
  1472.  
  1473. gHTMLAttr.tbody =
  1474. [
  1475.   "align",
  1476.   "!char",
  1477.   "#charoff",
  1478.   "valign",
  1479.   "-",
  1480.   "_core",
  1481.   "-",
  1482.   "^lang",
  1483.   "dir"
  1484. ];
  1485.  
  1486. gHTMLAttr.tbody_align = gHAlignTableContent;
  1487.  
  1488. gHTMLAttr.tbody_valign = gVAlignTable;
  1489.  
  1490. gHTMLAttr.td =
  1491. [
  1492.   "abbr",
  1493.   "axis",
  1494.   "headers",
  1495.   "scope",
  1496.   "$#rowspan",
  1497.   "$#colspan",
  1498.   "align",
  1499.   "!char",
  1500.   "#charoff",
  1501.   "valign",
  1502.   "nowrap",
  1503.   "bgcolor",
  1504.   "%width",
  1505.   "%height",
  1506.   "-",
  1507.   "_core",
  1508.   "-",
  1509.   "^lang",
  1510.   "dir"
  1511. ];
  1512.  
  1513. gHTMLAttr.td_scope =
  1514. [
  1515.   "row",
  1516.   "col",
  1517.   "rowgroup",
  1518.   "colgroup"
  1519. ];
  1520.  
  1521. gHTMLAttr.td_rowspan =
  1522. [
  1523.   "1" // default
  1524. ];
  1525.  
  1526. gHTMLAttr.td_colspan =
  1527. [
  1528.   "1" // default
  1529. ];
  1530.  
  1531. gHTMLAttr.td_align = gHAlignTableContent;
  1532.  
  1533. gHTMLAttr.td_valign = gVAlignTable;
  1534.  
  1535. gHTMLAttr.td_nowrap =
  1536. [
  1537.   "nowrap"
  1538. ];
  1539.  
  1540. gHTMLAttr.td_bgcolor = gHTMLColors;
  1541.  
  1542. gHTMLAttr.textarea =
  1543. [
  1544.   "name",
  1545.   "$#rows",
  1546.   "$#cols",
  1547.   "disabled",
  1548.   "readonly",
  1549.   "#tabindex",
  1550.   "!accesskey",
  1551.   "-",
  1552.   "_core",
  1553.   "-",
  1554.   "^lang",
  1555.   "dir"
  1556. ];
  1557.  
  1558. gHTMLAttr.textarea_disabled =
  1559. [
  1560.   "disabled"
  1561. ];
  1562.  
  1563. gHTMLAttr.textarea_readonly =
  1564. [
  1565.   "readonly"
  1566. ];
  1567.  
  1568.  
  1569. gHTMLAttr.tfoot =
  1570. [
  1571.   "align",
  1572.   "!char",
  1573.   "#charoff",
  1574.   "valign",
  1575.   "-",
  1576.   "_core",
  1577.   "-",
  1578.   "^lang",
  1579.   "dir"
  1580. ];
  1581.  
  1582. gHTMLAttr.tfoot_align = gHAlignTableContent;
  1583.  
  1584. gHTMLAttr.tfoot_valign = gVAlignTable;
  1585.  
  1586. gHTMLAttr.th =
  1587. [
  1588.   "abbr",
  1589.   "axis",
  1590.   "headers",
  1591.   "scope",
  1592.   "$#rowspan",
  1593.   "$#colspan",
  1594.   "align",
  1595.   "!char",
  1596.   "#charoff",
  1597.   "valign",
  1598.   "nowrap",
  1599.   "bgcolor",
  1600.   "%width",
  1601.   "%height",
  1602.   "-",
  1603.   "_core",
  1604.   "-",
  1605.   "^lang",
  1606.   "dir"
  1607. ];
  1608.  
  1609. gHTMLAttr.th_scope =
  1610. [
  1611.   "row",
  1612.   "col",
  1613.   "rowgroup",
  1614.   "colgroup"
  1615. ];
  1616.  
  1617. gHTMLAttr.th_rowspan =
  1618. [
  1619.   "1" // default
  1620. ];
  1621.  
  1622. gHTMLAttr.th_colspan =
  1623. [
  1624.   "1" // default
  1625. ];
  1626.  
  1627. gHTMLAttr.th_align = gHAlignTableContent;
  1628.  
  1629. gHTMLAttr.th_valign = gVAlignTable;
  1630.  
  1631. gHTMLAttr.th_nowrap =
  1632. [
  1633.   "nowrap"
  1634. ];
  1635.  
  1636. gHTMLAttr.th_bgcolor = gHTMLColors;
  1637.  
  1638. gHTMLAttr.thead =
  1639. [
  1640.   "align",
  1641.   "!char",
  1642.   "#charoff",
  1643.   "valign",
  1644.   "-",
  1645.   "_core",
  1646.   "-",
  1647.   "^lang",
  1648.   "dir"
  1649. ];
  1650.  
  1651. gHTMLAttr.thead_align = gHAlignTableContent;
  1652.  
  1653. gHTMLAttr.thead_valign = gVAlignTable;
  1654.  
  1655. gHTMLAttr.title =
  1656. [
  1657.   "^lang",
  1658.   "dir"
  1659. ];
  1660.  
  1661. gHTMLAttr.tr =
  1662. [
  1663.   "align",
  1664.   "!char",
  1665.   "#charoff",
  1666.   "valign",
  1667.   "bgcolor",
  1668.   "-",
  1669.   "_core",
  1670.   "-",
  1671.   "^lang",
  1672.   "dir"
  1673. ];
  1674.  
  1675. gHTMLAttr.tr_align = gHAlignTableContent;
  1676.  
  1677. gHTMLAttr.tr_valign = gVAlignTable;
  1678.  
  1679. gHTMLAttr.tr_bgcolor = gHTMLColors;
  1680.  
  1681. gHTMLAttr.tt =
  1682. [
  1683.   "_core",
  1684.   "-",
  1685.   "^lang",
  1686.   "dir"
  1687. ];
  1688.  
  1689. gHTMLAttr.u =
  1690. [
  1691.   "_core",
  1692.   "-",
  1693.   "^lang",
  1694.   "dir"
  1695. ];
  1696. gHTMLAttr.ul =
  1697. [
  1698.   "type",
  1699.   "compact",
  1700.   "-",
  1701.   "_core",
  1702.   "-",
  1703.   "^lang",
  1704.   "dir"
  1705. ];
  1706.  
  1707. gHTMLAttr.ul_type =
  1708. [
  1709.   "disc",
  1710.   "square",
  1711.   "circle"
  1712. ];
  1713.  
  1714. gHTMLAttr.ul_compact =
  1715. [
  1716.   "compact"
  1717. ];
  1718.  
  1719.  
  1720. // Prefix with "_" since this is reserved (it's stripped out)
  1721. gHTMLAttr._var =
  1722. [
  1723.   "_core",
  1724.   "-",
  1725.   "^lang",
  1726.   "dir"
  1727. ];
  1728.  
  1729. // ================ JS Attributes ================ //
  1730. // These are element specif even handlers. 
  1731. /* Most all elements use gCoreJSEvents, so those 
  1732.    are assumed except for those listed here with "noEvents"
  1733. */
  1734.  
  1735. gJSAttr.a =
  1736. [
  1737.   "onfocus",
  1738.   "onblur"
  1739. ];
  1740.  
  1741. gJSAttr.area =
  1742. [
  1743.   "onfocus",
  1744.   "onblur"
  1745. ];
  1746.  
  1747. gJSAttr.body =
  1748. [
  1749.   "onload",
  1750.   "onupload"
  1751. ];
  1752.  
  1753. gJSAttr.button =
  1754. [
  1755.   "onfocus",
  1756.   "onblur"
  1757. ];
  1758.  
  1759. gJSAttr.form =
  1760. [
  1761.   "onsubmit",
  1762.   "onreset"
  1763. ];
  1764.  
  1765. gJSAttr.frameset =
  1766. [
  1767.   "onload",
  1768.   "onunload"
  1769. ];
  1770.  
  1771. gJSAttr.input =
  1772. [
  1773.   "onfocus",
  1774.   "onblur",
  1775.   "onselect",
  1776.   "onchange"
  1777. ];
  1778.  
  1779. gJSAttr.label =
  1780. [
  1781.   "onfocus",
  1782.   "onblur"
  1783. ];
  1784.  
  1785. gJSAttr.select =
  1786. [
  1787.   "onfocus",
  1788.   "onblur",
  1789.   "onchange"
  1790. ];
  1791.  
  1792. gJSAttr.textarea =
  1793. [
  1794.   "onfocus",
  1795.   "onblur",
  1796.   "onselect",
  1797.   "onchange"
  1798. ];
  1799.  
  1800. // Elements that don't have JSEvents:
  1801. gJSAttr.font =
  1802. [
  1803.   "noJSEvents"
  1804. ];
  1805.  
  1806. gJSAttr.applet =
  1807. [
  1808.   "noJSEvents"
  1809. ];
  1810.  
  1811. gJSAttr.isindex =
  1812. [
  1813.   "noJSEvents"
  1814. ];
  1815.  
  1816. gJSAttr.iframe =
  1817. [
  1818.   "noJSEvents"
  1819. ];
  1820.  
  1821.