0000: 2f 2f 20 28 f1 29 20 c0 eb e5 ea f1 e0 ed e4 f0 // (.) .........
0010: 20 ce f0 e5 f4 ea ee e2 0d 0a 76 61 72 20 69 6e .........var in
0020: 46 69 6c 65 4e 61 6d 65 2c 20 69 6e 74 44 69 72 FileName, intDir
0030: 2c 20 6f 75 74 44 69 72 09 2f 2f 20 d1 f2 e0 f0 , outDir.// ....
0040: f2 ee e2 fb e5 20 ef e0 f0 e0 ec e5 f2 f0 fb 0d ..... ..........
0050: 0a 0d 0a 0d 0a 76 61 72 20 78 6d 6c 2c 09 2f 2f .....var xml,.//
0060: 20 c2 f5 ee e4 ed ee e9 20 f4 e0 e9 eb 0d 0a 09 ....... .......
0070: 78 6d 6c 50 72 6f 67 49 44 3d 22 4d 53 58 4d 4c xmlProgID="MSXML
0080: 32 2e 44 4f 4d 44 6f 63 75 6d 65 6e 74 2e 35 2e 2.DOMDocument.5.
0090: 30 22 09 2f 2f 20 c2 e5 f0 f1 e8 ff 20 ef e0 f0 0".// ...... ...
00a0: f1 e5 f0 e0 0d 0a 0d 0a 76 61 72 20 66 73 6f 3d ........var fso=
00b0: 6e 65 77 20 41 63 74 69 76 65 58 4f 62 6a 65 63 new ActiveXObjec
00c0: 74 28 22 53 63 72 69 70 74 69 6e 67 2e 46 69 6c t("Scripting.Fil
00d0: 65 53 79 73 74 65 6d 4f 62 6a 65 63 74 22 29 0d eSystemObject").
00e0: 0a 0d 0a 76 61 72 20 6e 6f 64 65 48 65 61 64 2c ...var nodeHead,
00f0: 09 2f 2f 20 c7 e0 e3 ee f2 ee e2 ea e0 20 e4 eb .// ......... ..
0100: ff 20 e2 f1 f2 e0 e2 ea e8 20 e2 20 f1 ee e7 e4 . ....... . ....
0110: e0 e2 e0 e5 ec fb e5 20 f4 e0 e9 eb fb 0d 0a 09 ....... ........
0120: 6e 6f 64 65 42 6f 64 79 2c 09 2f 2f 20 c7 e0 e3 nodeBody,.// ...
0130: ee f2 ee e2 ea e0 20 e4 eb ff 20 e2 f1 f2 e0 e2 ...... ... .....
0140: ea e8 20 e2 20 f1 ee e7 e4 e0 e2 e0 e5 ec fb e5 .. . ...........
0150: 20 f4 e0 e9 eb fb 0d 0a 09 6e 6f 64 65 43 6f 6d ........nodeCom
0160: 6d 6f 6e 2c 09 2f 2f 20 d3 e7 e5 eb 20 78 6d 6c mon,.// .... xml
0170: 5b 63 6f 6d 6d 6f 6e 5d 0d 0a 09 6e 6f 64 65 44 [common]...nodeD
0180: 6f 63 75 6d 65 6e 74 2f 2f 20 ca ee f0 e5 ed fc ocument// ......
0190: 20 e4 ee ea f3 ec e5 ed f2 e0 0d 0a 09 0d 0a 09 ...............
01a0: 0d 0a 0d 0a 76 61 72 20 68 68 63 46 69 6c 65 09 ....var hhcFile.
01b0: 09 09 09 09 2f 2f 20 d4 e0 e9 eb 20 f1 ee e4 e5 ....// .... ....
01c0: f0 e6 e0 ed e8 ff 0d 0a 0d 0a 2f 2f 2f 2f 2f 2f ..........//////
01d0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
01e0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
01f0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0200: 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a 2f 2f 20 c2 f1 /////////..// ..
0210: ef ee ec ee e3 e0 f2 e5 eb fc ed fb e5 20 ec e5 ............. ..
0220: f2 ee e4 fb 0d 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ......//////////
0230: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0240: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0250: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0260: 2f 2f 2f 2f 2f 0d 0a 66 75 6e 63 74 69 6f 6e 20 /////..function
0270: 53 68 6f 77 54 65 78 74 28 74 78 74 29 7b 57 53 ShowText(txt){WS
0280: 63 72 69 70 74 2e 45 63 68 6f 28 74 78 74 29 7d cript.Echo(txt)}
0290: 0d 0a 0d 0a 76 61 72 20 43 72 65 61 74 65 64 46 ....var CreatedF
02a0: 69 6c 65 73 3d 41 72 72 61 79 28 29 09 2f 2f 20 iles=Array().//
02b0: c8 ec e5 ed e0 20 e2 f1 e5 f5 20 f1 ee e7 e4 e0 ..... .... .....
02c0: e2 e0 e5 ec fb f5 20 f4 e0 e9 eb ee e2 0d 0a 0d ...... .........
02d0: 0a 66 75 6e 63 74 69 6f 6e 20 43 72 65 61 74 65 .function Create
02e0: 46 69 6c 65 28 6e 61 6d 65 29 0d 0a 7b 0d 0a 09 File(name)..{...
02f0: 74 72 79 7b 0d 0a 09 09 76 61 72 20 66 69 6c 65 try{....var file
0300: 3d 66 73 6f 2e 43 72 65 61 74 65 54 65 78 74 46 =fso.CreateTextF
0310: 69 6c 65 28 6e 61 6d 65 29 0d 0a 09 09 69 66 28 ile(name)....if(
0320: 66 69 6c 65 29 0d 0a 09 09 7b 0d 0a 09 09 09 43 file)....{.....C
0330: 72 65 61 74 65 64 46 69 6c 65 73 5b 6e 61 6d 65 reatedFiles[name
0340: 5d 3d 31 0d 0a 09 09 09 72 65 74 75 72 6e 20 66 ]=1.....return f
0350: 69 6c 65 0d 0a 09 09 7d 0d 0a 09 7d 63 61 74 63 ile....}...}catc
0360: 68 28 65 29 7b 7d 0d 0a 09 72 65 74 75 72 6e 20 h(e){}...return
0370: 6e 75 6c 6c 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 null..}....funct
0380: 69 6f 6e 20 46 61 74 61 6c 45 72 72 6f 72 28 74 ion FatalError(t
0390: 78 74 29 0d 0a 7b 0d 0a 09 53 68 6f 77 54 65 78 xt)..{...ShowTex
03a0: 74 28 74 78 74 29 0d 0a 0d 0a 09 69 66 28 68 68 t(txt).....if(hh
03b0: 6b 46 69 6c 65 29 0d 0a 09 09 68 68 6b 46 69 6c kFile)....hhkFil
03c0: 65 2e 43 6c 6f 73 65 28 29 0d 0a 09 69 66 28 68 e.Close()...if(h
03d0: 68 63 46 69 6c 65 29 0d 0a 09 09 68 68 63 46 69 hcFile)....hhcFi
03e0: 6c 65 2e 43 6c 6f 73 65 28 29 0d 0a 0d 0a 09 66 le.Close().....f
03f0: 6f 72 28 76 61 72 20 69 20 69 6e 20 43 72 65 61 or(var i in Crea
0400: 74 65 64 46 69 6c 65 73 29 0d 0a 09 09 66 73 6f tedFiles)....fso
0410: 2e 44 65 6c 65 74 65 46 69 6c 65 28 69 2c 20 74 .DeleteFile(i, t
0420: 72 75 65 29 0d 0a 0d 0a 09 57 53 63 72 69 70 74 rue).....WScript
0430: 2e 51 75 69 74 28 31 29 0d 0a 7d 0d 0a 0d 0a 2f .Quit(1)..}..../
0440: 2f 20 cf ee eb f3 f7 e5 ed e8 e5 20 e0 f2 f0 e8 / ......... ....
0450: e1 f3 f2 e0 20 f3 e7 eb e0 0d 0a 66 75 6e 63 74 .... ......funct
0460: 69 6f 6e 20 47 65 74 41 74 74 72 69 62 28 6e 6f ion GetAttrib(no
0470: 64 65 2c 20 61 74 72 4e 61 6d 65 29 0d 0a 7b 0d de, atrName)..{.
0480: 0a 09 69 66 28 6e 6f 64 65 2e 61 74 74 72 69 62 ..if(node.attrib
0490: 75 74 65 73 2e 67 65 74 4e 61 6d 65 64 49 74 65 utes.getNamedIte
04a0: 6d 28 61 74 72 4e 61 6d 65 29 29 0d 0a 09 09 72 m(atrName))....r
04b0: 65 74 75 72 6e 20 6e 6f 64 65 2e 61 74 74 72 69 eturn node.attri
04c0: 62 75 74 65 73 2e 67 65 74 4e 61 6d 65 64 49 74 butes.getNamedIt
04d0: 65 6d 28 61 74 72 4e 61 6d 65 29 2e 74 65 78 74 em(atrName).text
04e0: 0d 0a 09 72 65 74 75 72 6e 20 22 22 0d 0a 7d 0d ...return ""..}.
04f0: 0a 0d 0a 2f 2f 20 d3 f1 f2 e0 ed ee e2 ea e0 20 ...// .........
0500: e0 f2 f0 e8 e1 f3 f2 e0 20 f2 fd e3 e0 0d 0a 66 ........ ......f
0510: 75 6e 63 74 69 6f 6e 20 53 65 74 41 74 74 72 69 unction SetAttri
0520: 62 28 6e 6f 64 65 2c 20 61 74 72 4e 61 6d 65 2c b(node, atrName,
0530: 20 61 74 72 56 61 6c 29 0d 0a 7b 0d 0a 09 69 66 atrVal)..{...if
0540: 20 28 21 6e 6f 64 65 2e 61 74 74 72 69 62 75 74 (!node.attribut
0550: 65 73 2e 67 65 74 4e 61 6d 65 64 49 74 65 6d 28 es.getNamedItem(
0560: 61 74 72 4e 61 6d 65 29 29 0d 0a 09 7b 0d 0a 09 atrName))...{...
0570: 09 76 61 72 20 61 74 72 3d 78 6d 6c 2e 63 72 65 .var atr=xml.cre
0580: 61 74 65 41 74 74 72 69 62 75 74 65 28 61 74 72 ateAttribute(atr
0590: 4e 61 6d 65 29 0d 0a 09 09 6e 6f 64 65 2e 61 74 Name)....node.at
05a0: 74 72 69 62 75 74 65 73 2e 73 65 74 4e 61 6d 65 tributes.setName
05b0: 64 49 74 65 6d 28 61 74 72 29 0d 0a 09 7d 0d 0a dItem(atr)...}..
05c0: 09 6e 6f 64 65 2e 61 74 74 72 69 62 75 74 65 73 .node.attributes
05d0: 2e 67 65 74 4e 61 6d 65 64 49 74 65 6d 28 61 74 .getNamedItem(at
05e0: 72 4e 61 6d 65 29 2e 74 65 78 74 3d 61 74 72 56 rName).text=atrV
05f0: 61 6c 0d 0a 7d 0d 0a 0d 0a 2f 2f 2f 2f 2f 2f 2f al..}....///////
0600: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0610: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0620: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0630: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0640: 2f 2f 2f 2f 2f 0d 0a 2f 2f 20 ce c1 da c5 ca d2 /////..// ......
0650: 20 48 48 4b 4e 6f 64 65 0d 0a 2f 2f 20 d3 e7 e5 HHKNode..// ...
0660: eb 20 e2 20 e4 e5 f0 e5 e2 e5 20 ea eb fe f7 e5 . . ...... .....
0670: e2 fb f5 20 f1 eb ee e2 0d 0a 2f 2f 2f 2f 2f 2f ... ......//////
0680: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0690: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
06a0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
06b0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
06c0: 2f 2f 2f 2f 2f 2f 0d 0a 76 61 72 20 68 68 6b 52 //////..var hhkR
06d0: 6f 6f 74 2c 20 68 68 6b 46 69 6c 65 09 09 2f 2f oot, hhkFile..//
06e0: 20 c4 eb ff 20 f0 e0 e1 ee f2 fb 20 f1 20 e8 ed ... ...... . ..
06f0: e4 e5 ea f1 e0 ec e8 0d 0a 0d 0a 2f 2f 20 ca ee ...........// ..
0700: ed f1 f2 f0 f3 ea f2 ee f0 20 f3 e7 eb e0 20 ea ......... .... .
0710: eb fe f7 e5 e2 fb f5 20 f1 eb ee e2 0d 0a 66 75 ....... ......fu
0720: 6e 63 74 69 6f 6e 20 48 48 4b 4e 6f 64 65 28 29 nction HHKNode()
0730: 0d 0a 7b 0d 0a 09 74 68 69 73 2e 61 6e 63 68 6f ..{...this.ancho
0740: 72 73 3d 41 72 72 61 79 28 29 09 2f 2f 20 cc e0 rs=Array().// ..
0750: f1 f1 e8 e2 20 ef e0 f0 20 2d 20 ea eb fe f7 e5 .... ... - .....
0760: e2 ee e5 20 f1 eb ee e2 ee 2f ec e0 f1 f1 e8 e2 ... ...../......
0770: 20 f1 f1 fb eb ee ea 0d 0a 09 74 68 69 73 2e 63 .........this.c
0780: 68 69 6c 64 73 3d 41 72 72 61 79 28 29 09 09 2f hilds=Array()../
0790: 2f 20 cc e0 f1 f1 e8 e2 20 ef e0 f0 20 2d 20 ea / ...... ... - .
07a0: eb fe f7 e5 e2 ee e5 20 f1 eb ee e2 ee 2f ef ee ....... ...../..
07b0: f2 ee ec ee ea 0d 0a 09 2f 2f 20 cd e0 e7 ed e0 ........// .....
07c0: f7 e0 e5 ec 20 f4 f3 ed ea f6 e8 e8 0d 0a 09 74 .... ..........t
07d0: 68 69 73 2e 41 64 64 4b 65 79 77 6f 72 64 3d 48 his.AddKeyword=H
07e0: 48 4b 4e 6f 64 65 5f 41 64 64 4b 65 79 77 6f 72 HKNode_AddKeywor
07f0: 64 0d 0a 09 74 68 69 73 2e 53 61 76 65 3d 48 48 d...this.Save=HH
0800: 4b 4e 6f 64 65 5f 53 61 76 65 0d 0a 7d 0d 0a 0d KNode_Save..}...
0810: 0a 2f 2f 20 c4 ee e1 e0 e2 eb e5 ed e8 e5 20 ea .// .......... .
0820: eb fe f7 e5 e2 ee e3 ee 20 f1 eb ee e2 e0 0d 0a ........ .......
0830: 2f 2f 20 c4 eb ff 20 f0 e0 e7 e4 e5 eb e5 ed e8 // ... .........
0840: ff 20 ec ed ee e3 ee f3 f0 ee e2 ed e5 e2 fb f5 . ..............
0850: 20 f1 eb ee e2 20 e8 f1 ef ee eb fc e7 f3 e5 f2 .... ..........
0860: f1 ff 20 27 2c 27 0d 0a 2f 2f 20 cd e0 ef f0 e8 .. ','..// .....
0870: ec e5 f0 0d 0a 2f 2f 20 f1 eb ee e2 ee 31 0d 0a .....// .....1..
0880: 2f 2f 20 f1 eb ee e2 ee 31 2c 20 f1 eb ee e2 ee // .....1, .....
0890: 32 0d 0a 2f 2f 20 f1 ee e7 e4 e0 f1 f2 20 f2 e0 2..// ....... ..
08a0: ea f3 fe 20 f1 f2 f0 f3 ea f2 f3 f0 f3 20 e2 20 ... ......... .
08b0: e8 ed e4 e5 ea f1 e5 0d 0a 2f 2f 20 f1 eb ee e2 .........// ....
08c0: ee 31 0d 0a 2f 2f 20 20 20 20 20 f1 eb ee e2 ee .1..// .....
08d0: 32 0d 0a 66 75 6e 63 74 69 6f 6e 20 48 48 4b 4e 2..function HHKN
08e0: 6f 64 65 5f 41 64 64 4b 65 79 77 6f 72 64 28 61 ode_AddKeyword(a
08f0: 6e 63 68 6f 72 2c 20 6b 65 79 77 6f 72 64 29 0d nchor, keyword).
0900: 0a 7b 0d 0a 09 76 61 72 20 69 64 78 3d 6b 65 79 .{...var idx=key
0910: 77 6f 72 64 2e 69 6e 64 65 78 4f 66 28 22 2c 22 word.indexOf(","
0920: 29 09 2f 2f 20 cf f0 ee e2 e5 f0 ff e5 ec 2c 20 ).// .........,
0930: e5 f1 f2 fc 20 eb e8 20 ef ee e4 f1 eb ee e2 e0 .... .. ........
0940: 0d 0a 09 2f 2f 20 c2 fb e4 e5 eb ff e5 ec 20 ef ...// ........ .
0950: e5 f0 e2 ee e5 20 f1 eb ee e2 ee 20 e8 20 ee e1 ..... ..... . ..
0960: f0 e5 e7 e0 e5 ec 20 f1 eb e5 e2 e0 2f f1 ef f0 ...... ...../...
0970: e0 e2 e0 0d 0a 09 76 61 72 20 6b 65 79 20 3d 20 ......var key =
0980: 28 69 64 78 3c 30 3f 6b 65 79 77 6f 72 64 3a 6b (idx<0?keyword:k
0990: 65 79 77 6f 72 64 2e 73 75 62 73 74 72 28 30 2c eyword.substr(0,
09a0: 20 69 64 78 29 29 2e 72 65 70 6c 61 63 65 28 2f idx)).replace(/
09b0: 5e 5c 73 2b 7c 5c 73 2b 24 2f 67 2c 20 22 22 29 ^\s+|\s+$/g, "")
09c0: 0d 0a 09 69 66 28 21 6b 65 79 2e 6c 65 6e 67 74 ...if(!key.lengt
09d0: 68 29 0d 0a 09 09 72 65 74 75 72 6e 0d 0a 0d 0a h)....return....
09e0: 09 2f 2f 20 c5 f1 eb e8 20 e4 eb ff 20 f1 eb ee .// .... ... ...
09f0: e2 e0 20 e5 f9 e5 20 ed e5 f2 20 ec e0 f1 f1 e8 .. ... ... .....
0a00: e2 e0 20 f1 f1 fb eb ee ea 2c 20 f1 ee e7 e4 e0 .. ......, .....
0a10: e4 e8 ec 20 e5 e3 ee 0d 0a 09 69 66 28 21 74 68 ... ......if(!th
0a20: 69 73 2e 61 6e 63 68 6f 72 73 5b 6b 65 79 5d 29 is.anchors[key])
0a30: 0d 0a 09 09 74 68 69 73 2e 61 6e 63 68 6f 72 73 ....this.anchors
0a40: 5b 6b 65 79 5d 3d 41 72 72 61 79 28 29 0d 0a 09 [key]=Array()...
0a50: 2f 2f 20 d2 e5 ef e5 f0 fc 20 e4 ee e1 e0 e2 e8 // ...... ......
0a60: ec 20 f1 f1 fb eb ea f3 20 e2 20 f1 ee ee f2 e2 . ...... . .....
0a70: e5 f2 f1 f2 e2 f3 fe f9 e8 e9 20 f1 eb ee e2 f3 .......... .....
0a80: 20 ec e0 f1 f1 e8 e2 0d 0a 09 2f 2f 20 ef f0 e8 .........// ...
0a90: 20 fd f2 ee ec 20 f1 f1 fb eb ea e0 20 e4 ee e1 .... ...... ...
0aa0: e0 e2 eb ff e5 f2 f1 ff 20 e8 eb e8 20 e5 f1 eb ........ ... ...
0ab0: e8 20 ed e5 f2 20 ef ee e4 f1 eb ee e2 0d 0a 09 . ... ..........
0ac0: 2f 2f 20 e8 eb e8 20 fd f2 ee 20 ef e5 f0 e2 e0 // ... ... .....
0ad0: ff 20 f1 f1 fb eb ea e0 20 e4 eb ff 20 f1 eb ee . ...... ... ...
0ae0: e2 e0 0d 0a 09 69 66 28 69 64 78 3c 30 20 7c 7c .....if(idx<0 ||
0af0: 20 21 74 68 69 73 2e 61 6e 63 68 6f 72 73 5b 6b !this.anchors[k
0b00: 65 79 5d 2e 6c 65 6e 67 74 68 29 0d 0a 09 09 74 ey].length)....t
0b10: 68 69 73 2e 61 6e 63 68 6f 72 73 5b 6b 65 79 5d his.anchors[key]
0b20: 5b 74 68 69 73 2e 61 6e 63 68 6f 72 73 5b 6b 65 [this.anchors[ke
0b30: 79 5d 2e 6c 65 6e 67 74 68 5d 3d 61 6e 63 68 6f y].length]=ancho
0b40: 72 0d 0a 0d 0a 09 2f 2f 20 c5 f1 eb e8 20 e5 f1 r.....// .... ..
0b50: f2 fc 20 ef ee e4 f1 eb ee e2 e0 2c 20 f1 ee e7 .. ........, ...
0b60: e4 e0 e4 e8 ec 20 ef ee f2 ee ec ea e0 20 e4 eb ..... ....... ..
0b70: ff 20 e4 e0 ed ed ee e3 ee 20 f1 eb ee e2 e0 0d . ....... ......
0b80: 0a 09 2f 2f 20 e8 20 e4 ee e1 e0 e2 e8 ec 20 e2 ..// . ....... .
0b90: 20 ed e5 e3 ee 20 ee f1 f2 e0 f2 ee ea 20 f1 f2 .... ....... ..
0ba0: f0 ee ea e8 0d 0a 09 69 66 28 69 64 78 3e 3d 30 .......if(idx>=0
0bb0: 29 0d 0a 09 7b 0d 0a 09 09 69 66 28 21 74 68 69 )...{....if(!thi
0bc0: 73 2e 63 68 69 6c 64 73 5b 6b 65 79 5d 29 0d 0a s.childs[key])..
0bd0: 09 09 09 74 68 69 73 2e 63 68 69 6c 64 73 5b 6b ...this.childs[k
0be0: 65 79 5d 3d 6e 65 77 20 48 48 4b 4e 6f 64 65 28 ey]=new HHKNode(
0bf0: 29 0d 0a 09 09 74 68 69 73 2e 63 68 69 6c 64 73 )....this.childs
0c00: 5b 6b 65 79 5d 2e 41 64 64 4b 65 79 77 6f 72 64 [key].AddKeyword
0c10: 28 61 6e 63 68 6f 72 2c 20 6b 65 79 77 6f 72 64 (anchor, keyword
0c20: 2e 73 75 62 73 74 72 28 69 64 78 2b 31 29 29 0d .substr(idx+1)).
0c30: 0a 09 7d 0d 0a 0d 0a 7d 0d 0a 0d 0a 2f 2f 20 d1 ..}....}....// .
0c40: ee f5 f0 e0 ed e5 ed e8 e5 20 e4 e5 f0 e5 e2 e0 ......... ......
0c50: 20 e8 ed e4 e5 ea f1 ee e2 20 e2 20 f4 e0 e9 eb ........ . ....
0c60: 0d 0a 66 75 6e 63 74 69 6f 6e 20 48 48 4b 4e 6f ..function HHKNo
0c70: 64 65 5f 53 61 76 65 28 29 0d 0a 7b 0d 0a 09 2f de_Save()..{.../
0c80: 2f 20 cd e0 f7 ed e5 ec 20 f1 ef e8 f1 ee ea 0d / ...... .......
0c90: 0a 09 68 68 6b 46 69 6c 65 2e 57 72 69 74 65 28 ..hhkFile.Write(
0ca0: 27 3c 55 4c 3e 5c 72 5c 6e 27 29 0d 0a 09 0d 0a '<UL>\r\n').....
0cb0: 09 2f 2f 20 cf e5 f0 e5 e1 e5 f0 e5 ec 20 e2 f1 .// ......... ..
0cc0: e5 20 e4 ee e1 e0 e2 eb e5 ed ed fb e5 20 f1 eb . ........... ..
0cd0: ee e2 e0 0d 0a 09 66 6f 72 28 76 61 72 20 6b 65 ......for(var ke
0ce0: 79 20 69 6e 20 74 68 69 73 2e 61 6e 63 68 6f 72 y in this.anchor
0cf0: 73 29 0d 0a 09 7b 0d 0a 09 09 2f 2f 20 c4 eb ff s)...{....// ...
0d00: 20 e2 f1 e5 f5 20 ea eb fe f7 e5 e2 fb f5 20 f1 .... ........ .
0d10: eb ee e2 20 e4 ee e1 e0 e2 e8 ec 20 ef f3 ed ea ... ....... ....
0d20: f2 20 f1 ef e8 f1 ea e0 0d 0a 09 09 68 68 6b 46 . ..........hhkF
0d30: 69 6c 65 2e 57 72 69 74 65 28 0d 0a 09 09 09 27 ile.Write(.....'
0d40: 20 20 3c 4c 49 3e 3c 4f 42 4a 45 43 54 20 74 79 <LI><OBJECT ty
0d50: 70 65 3d 22 74 65 78 74 2f 73 69 74 65 6d 61 70 pe="text/sitemap
0d60: 22 3e 5c 72 5c 6e 27 2b 0d 0a 09 09 09 27 20 20 ">\r\n'+.....'
0d70: 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 4e 61 6d <param name="Nam
0d80: 65 22 20 76 61 6c 75 65 3d 22 27 2b 6e 6f 72 6d e" value="'+norm
0d90: 28 6b 65 79 29 2b 27 22 3e 5c 72 5c 6e 27 29 0d (key)+'">\r\n').
0da0: 0a 09 09 2f 2f 20 c8 20 e2 ef e8 f8 e5 ec 20 e2 ...// . ...... .
0db0: f1 e5 20 f1 f1 fb eb ea e8 20 e4 eb ff 20 fd f2 .. ...... ... ..
0dc0: ee e3 ee 20 f1 eb ee e2 e0 0d 0a 09 09 66 6f 72 ... .........for
0dd0: 28 76 61 72 20 61 6e 63 68 6f 72 20 69 6e 20 74 (var anchor in t
0de0: 68 69 73 2e 61 6e 63 68 6f 72 73 5b 6b 65 79 5d his.anchors[key]
0df0: 29 0d 0a 09 09 09 68 68 6b 46 69 6c 65 2e 57 72 ).....hhkFile.Wr
0e00: 69 74 65 28 27 20 20 20 20 3c 70 61 72 61 6d 20 ite(' <param
0e10: 6e 61 6d 65 3d 22 4c 6f 63 61 6c 22 20 76 61 6c name="Local" val
0e20: 75 65 3d 22 27 2b 74 68 69 73 2e 61 6e 63 68 6f ue="'+this.ancho
0e30: 72 73 5b 6b 65 79 5d 5b 61 6e 63 68 6f 72 5d 2b rs[key][anchor]+
0e40: 27 22 3e 5c 72 5c 6e 27 29 0d 0a 09 09 68 68 6b '">\r\n')....hhk
0e50: 46 69 6c 65 2e 57 72 69 74 65 28 27 20 20 20 20 File.Write('
0e60: 3c 2f 4f 42 4a 45 43 54 3e 5c 72 5c 6e 27 29 0d </OBJECT>\r\n').
0e70: 0a 09 09 2f 2f 20 c5 f1 eb e8 20 f3 20 f1 eb ee ...// .... . ...
0e80: e2 e0 20 e5 f1 f2 fc 20 ef ee e4 f1 eb ee e2 e0 .. .... ........
0e90: 2c 20 e8 f5 20 f2 ee e6 e5 20 f1 ee f5 f0 e0 ed , .. .... ......
0ea0: e8 ec 09 09 0d 0a 09 09 69 66 28 74 68 69 73 2e ........if(this.
0eb0: 63 68 69 6c 64 73 5b 6b 65 79 5d 29 0d 0a 09 09 childs[key])....
0ec0: 09 74 68 69 73 2e 63 68 69 6c 64 73 5b 6b 65 79 .this.childs[key
0ed0: 5d 2e 53 61 76 65 28 29 0d 0a 09 7d 0d 0a 09 2f ].Save()...}.../
0ee0: 2f 20 c7 e0 ea ee ed f7 e8 eb e8 20 f1 ef e8 f1 / ......... ....
0ef0: ee ea 0d 0a 09 68 68 6b 46 69 6c 65 2e 57 72 69 .....hhkFile.Wri
0f00: 74 65 28 27 3c 2f 55 4c 3e 5c 72 5c 6e 27 29 0d te('</UL>\r\n').
0f10: 0a 7d 0d 0a 0d 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f .}....//////////
0f20: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0f30: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0f40: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0f50: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0f60: 2f 2f 0d 0a 2f 2f 20 ce c1 da c5 ca d2 20 44 6f //..// ...... Do
0f70: 63 53 65 63 74 69 6f 6e 0d 0a 2f 2f 20 cf f0 e5 cSection..// ...
0f80: e4 f1 f2 e0 e2 eb ff e5 f2 20 f1 ee e1 ee e9 20 ......... .....
0f90: f1 e5 ea f6 e8 fe 20 e4 ee ea f3 ec e5 ed f2 e0 ...... .........
0fa0: 20 e8 20 f5 f0 e0 ed e8 f2 20 e2 f1 ff ea f3 fe . ...... ......
0fb0: 20 e8 ed f4 f3 20 ee 20 ed e5 ec 0d 0a 2f 2f 2f .... . .....///
0fc0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0fd0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0fe0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0ff0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
1000: 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a 0d 0a 2f 2f 20 /////////....//
1010: cc e0 f1 f1 e8 e2 fb 20 f1 e5 ea f6 e8 e9 2c 20 ....... ......,
1020: e2 fb ed ee f1 e8 ec fb f5 20 e2 20 f2 ee ef e8 ......... . ....
1030: ea e8 2e 0d 0a 2f 2f 20 c7 e0 ef ee eb ed ff fe .....// ........
1040: f2 f1 ff 20 ef f0 e8 20 ee e1 f0 e0 e1 ee f2 ea ... ... ........
1050: e5 20 f1 ee e4 e5 f0 e6 e0 ed e8 ff 20 e8 20 ef . .......... . .
1060: ee f1 f2 f0 ee e5 ed e8 ff 20 e4 e5 f0 e5 e2 e0 ......... ......
1070: 20 f1 e5 ea f6 e8 e9 2e 0d 0a 2f 2f 20 cf e5 f0 .........// ...
1080: e2 fb e9 20 e7 e0 ef ee eb ed ff e5 f2 f1 ff 20 ... ...........
1090: e2 20 ef ee f0 ff e4 ea e5 20 22 d1 ed e0 f7 e0 . ....... ".....
10a0: eb e0 20 ef ee f2 ee ec ea e8 2c 20 ef ee f2 ee .. ......., ....
10b0: ec 20 f3 e7 e5 eb 22 0d 0a 2f 2f 20 e8 20 f1 eb . ...."..// . ..
10c0: f3 e6 e8 f2 20 e4 eb ff 20 ef ee f1 eb e5 e4 f3 .... ... .......
10d0: fe f9 e5 e3 ee 20 22 e2 fb ed e5 f1 e5 ed e8 ff ..... ".........
10e0: 22 20 f1 e5 ea f6 e8 e9 20 e2 20 f2 ee ef e8 ea " ...... . .....
10f0: e8 2c 0d 0a 2f 2f 20 f7 f2 ee e1 fb 20 f1 ed e0 .,..// ..... ...
1100: f7 e0 eb e0 20 e4 ee f7 e5 f0 ed e8 e5 20 f1 e5 .... ........ ..
1110: ea f6 e8 e8 20 f3 e4 e0 eb e8 eb e8 f1 fc 20 e8 .... ......... .
1120: e7 20 e4 ee ea f3 ec e5 ed f2 e0 2c 0d 0a 2f 2f . .........,..//
1130: 20 e0 20 e2 f2 ee f0 ee e9 20 e7 e0 ef ee eb ed . ...... ......
1140: ff e5 f2 f1 ff 20 22 d1 ed e0 f7 e0 eb e0 20 f3 ..... "....... .
1150: e7 e5 eb 2c 20 e7 e0 f2 e5 ec 20 ef ee f2 ee ec ..., ..... .....
1160: ea e8 22 2c 0d 0a 2f 2f 20 e4 eb ff 20 ee f0 e3 ..",..// ... ...
1170: e0 ed e8 e7 e0 f6 e8 e8 20 ed e0 e2 e8 e3 e0 f6 ........ .......
1180: e8 e8 20 22 d1 eb e5 e4 f3 fe f9 e8 e9 2f cf f0 .. "........./..
1190: e5 e4 fb e4 f3 f9 e8 e9 22 0d 0a 76 61 72 20 53 ........"..var S
11a0: 65 63 74 69 6f 6e 46 72 6f 6d 43 68 69 6c 64 3d ectionFromChild=
11b0: 41 72 72 61 79 28 29 2c 0d 0a 09 53 65 63 74 69 Array(),...Secti
11c0: 6f 6e 46 72 6f 6d 50 61 72 65 6e 74 3d 41 72 72 onFromParent=Arr
11d0: 61 79 28 29 0d 0a 0d 0a 76 61 72 20 52 6f 6f 74 ay()....var Root
11e0: 54 6f 70 69 63 2c 09 2f 2f 20 ca ee f0 e5 ed fc Topic,.// ......
11f0: 20 e8 e5 f0 e0 f0 f5 e8 e8 20 f1 e5 ea f6 e8 e9 ........ ......
1200: 0d 0a 09 52 6f 6f 74 54 69 74 6c 65 09 2f 2f 20 ...RootTitle.//
1210: ce e1 f9 e8 e9 20 e7 e0 e3 ee eb ee e2 ee ea 20 ..... .........
1220: e4 ee ea f3 ec e5 ed f2 e0 0d 0a 0d 0a 2f 2f 20 .............//
1230: ca ee ed f1 f2 f0 f3 ea f2 ee f0 20 ee e1 fa e5 ........... ....
1240: ea f2 e0 0d 0a 2f 2f 20 c2 fb e7 fb e2 e0 e5 f2 .....// ........
1250: f1 ff 20 ef f0 e8 20 ef e5 f0 e2 ee ec 20 ee e1 .. ... ...... ..
1260: f5 ee e4 e5 20 f3 e7 eb e0 2d f1 e5 ea f6 e8 e8 .... ....-......
1270: 20 e4 ee ea f3 ec e5 ed f2 e0 2c 20 e4 ee 0d 0a ........., ....
1280: 2f 2f 20 ee e1 f0 e0 e1 ee f2 ea e8 20 ef ee f2 // ......... ...
1290: ee ec ea ee e2 0d 0a 2f 2f 20 70 61 72 65 6e 74 .......// parent
12a0: 20 2d 20 ee e1 fa e5 ea f2 20 f0 ee e4 e8 f2 e5 - ...... ......
12b0: eb fc 0d 0a 2f 2f 20 6e 6f 64 65 20 2d 20 f3 e7 ....// node - ..
12c0: e5 eb 20 f1 e5 ea f6 e8 e8 20 e4 ee ea f3 ec e5 .. ...... ......
12d0: ed f2 e0 0d 0a 66 75 6e 63 74 69 6f 6e 20 44 6f .....function Do
12e0: 63 53 65 63 74 69 6f 6e 28 70 61 72 65 6e 74 2c cSection(parent,
12f0: 20 6e 6f 64 65 29 0d 0a 7b 0d 0a 09 2f 2f 20 cd node)..{...// .
1300: e0 e7 ed e0 f7 e8 ec 20 ec e5 f2 ee e4 fb 20 ee ....... ...... .
1310: e1 fa e5 ea f2 e0 0d 0a 09 74 68 69 73 2e 41 66 .........this.Af
1320: 74 65 72 43 68 69 6c 64 50 72 6f 63 65 73 73 65 terChildProcesse
1330: 64 09 3d 20 44 6f 63 53 65 63 74 69 6f 6e 5f 41 d.= DocSection_A
1340: 66 74 65 72 43 68 69 6c 64 50 72 6f 63 65 73 73 fterChildProcess
1350: 65 64 0d 0a 09 74 68 69 73 2e 53 61 76 65 09 09 ed...this.Save..
1360: 09 09 09 3d 20 44 6f 63 53 65 63 74 69 6f 6e 5f ...= DocSection_
1370: 53 61 76 65 0d 0a 09 74 68 69 73 2e 4d 61 6b 65 Save...this.Make
1380: 48 72 65 66 09 09 09 09 3d 20 44 6f 63 53 65 63 Href....= DocSec
1390: 74 69 6f 6e 5f 4d 61 6b 65 48 72 65 66 0d 0a 09 tion_MakeHref...
13a0: 74 68 69 73 2e 43 6f 6d 62 69 6e 65 48 72 65 66 this.CombineHref
13b0: 73 09 09 09 3d 20 44 6f 63 53 65 63 74 69 6f 6e s...= DocSection
13c0: 5f 43 6f 6d 62 69 6e 65 48 72 65 66 73 0d 0a 09 _CombineHrefs...
13d0: 74 68 69 73 2e 50 72 6f 63 65 73 73 4b 65 79 77 this.ProcessKeyw
13e0: 6f 72 64 73 09 09 3d 20 44 6f 63 53 65 63 74 69 ords..= DocSecti
13f0: 6f 6e 5f 50 72 6f 63 65 73 73 4b 65 79 77 6f 72 on_ProcessKeywor
1400: 64 73 0d 0a 09 74 68 69 73 2e 4d 61 6b 65 53 75 ds...this.MakeSu
1410: 62 73 74 09 09 09 09 3d 20 44 6f 63 53 65 63 74 bst....= DocSect
1420: 69 6f 6e 5f 4d 61 6b 65 53 75 62 73 74 0d 0a 09 ion_MakeSubst...
1430: 74 68 69 73 2e 49 6e 68 65 72 69 74 43 68 6d 49 this.InheritChmI
1440: 6e 66 6f 09 09 09 3d 20 44 6f 63 53 65 63 74 69 nfo...= DocSecti
1450: 6f 6e 5f 49 6e 68 65 72 69 74 43 68 6d 49 6e 66 on_InheritChmInf
1460: 6f 0d 0a 09 74 68 69 73 2e 4d 61 6b 65 54 6f 63 o...this.MakeToc
1470: 09 09 09 09 3d 20 44 6f 63 53 65 63 74 69 6f 6e ....= DocSection
1480: 5f 4d 61 6b 65 54 6f 63 0d 0a 09 0d 0a 09 2f 2f _MakeToc......//
1490: 20 cf ee ec ed e8 ec 20 ee 20 ef f0 e5 e4 ea e0 ...... . ......
14a0: f5 20 e8 20 ee 20 f1 e5 e1 e5 0d 0a 09 74 68 69 . . . .......thi
14b0: 73 2e 70 61 72 65 6e 74 3d 70 61 72 65 6e 74 0d s.parent=parent.
14c0: 0a 09 74 68 69 73 2e 6e 6f 64 65 3d 6e 6f 64 65 ..this.node=node
14d0: 0d 0a 09 0d 0a 09 2f 2f 20 d2 e5 ef e5 f0 fc 20 ......// ......
14e0: ef ee eb f3 f7 e8 ec 20 e8 ed f4 f3 20 ee e1 20 ....... .... ..
14f0: 63 68 6d 2d f0 e0 e7 ec e5 f2 ea e5 0d 0a 09 2f chm-.........../
1500: 2f 20 c5 f1 eb e8 20 e5 e5 20 ed e5 f2 2c 20 f1 / .... .. ..., .
1510: ee e7 e4 e0 e4 e8 ec 20 ef f3 f1 f2 f3 fe 0d 0a ....... ........
1520: 09 74 68 69 73 2e 63 68 6d 69 6e 66 6f 3d 6e 6f .this.chminfo=no
1530: 64 65 2e 73 65 6c 65 63 74 53 69 6e 67 6c 65 4e de.selectSingleN
1540: 6f 64 65 28 22 63 68 6d 69 6e 66 6f 22 29 0d 0a ode("chminfo")..
1550: 0d 0a 09 69 66 28 21 74 68 69 73 2e 63 68 6d 69 ...if(!this.chmi
1560: 6e 66 6f 29 0d 0a 09 7b 0d 0a 09 09 74 68 69 73 nfo)...{....this
1570: 2e 63 68 6d 69 6e 66 6f 3d 78 6d 6c 2e 63 72 65 .chminfo=xml.cre
1580: 61 74 65 45 6c 65 6d 65 6e 74 28 22 63 68 6d 69 ateElement("chmi
1590: 6e 66 6f 22 29 0d 0a 09 09 69 66 28 6e 6f 64 65 nfo")....if(node
15a0: 2e 68 61 73 43 68 69 6c 64 4e 6f 64 65 73 28 29 .hasChildNodes()
15b0: 29 0d 0a 09 09 09 6e 6f 64 65 2e 69 6e 73 65 72 ).....node.inser
15c0: 74 42 65 66 6f 72 65 28 74 68 69 73 2e 63 68 6d tBefore(this.chm
15d0: 69 6e 66 6f 2c 20 6e 6f 64 65 2e 63 68 69 6c 64 info, node.child
15e0: 4e 6f 64 65 73 2e 69 74 65 6d 28 30 29 29 0d 0a Nodes.item(0))..
15f0: 09 09 65 6c 73 65 0d 0a 09 09 09 6e 6f 64 65 2e ..else.....node.
1600: 61 70 70 65 6e 64 43 68 69 6c 64 28 74 68 69 73 appendChild(this
1610: 2e 63 68 6d 69 6e 66 6f 29 0d 0a 09 7d 0d 0a 0d .chminfo)...}...
1620: 0a 09 2f 2f 20 d1 e4 e5 eb e0 e5 ec 20 e7 e0 ec ..// ....... ...
1630: e5 ed fb 09 09 0d 0a 09 4d 61 6b 65 52 65 70 6c ........MakeRepl
1640: 61 63 65 73 28 74 68 69 73 2e 63 68 6d 69 6e 66 aces(this.chminf
1650: 6f 2c 20 22 2e 2f 2f 69 6e 73 65 72 74 22 29 0d o, ".//insert").
1660: 0a 09 0d 0a 09 2f 2f 20 d2 e5 ef e5 f0 fc 20 ed .....// ...... .
1670: e0 e4 ee 20 ef ee e4 e3 ee f2 ee e2 e8 f2 fc 20 ... ...........
1680: e8 ed f4 f3 20 ee 20 f1 e5 e1 e5 2c 20 ef ee eb .... . ...., ...
1690: f3 f7 e8 e2 0d 0a 09 2f 2f 20 e5 e5 20 e8 eb e8 .......// .. ...
16a0: 20 e8 e7 20 f0 e0 e7 ec e5 f2 ea e8 2c 20 e8 eb .. ........, ..
16b0: e8 20 ee f2 20 f0 ee e4 e8 f2 e5 eb e5 e9 0d 0a . .. ...........
16c0: 09 74 68 69 73 2e 49 6e 68 65 72 69 74 43 68 6d .this.InheritChm
16d0: 49 6e 66 6f 28 29 0d 0a 09 0d 0a 0d 0a 09 2f 2f Info()........//
16e0: 20 c8 e7 ed e0 f7 e0 eb fc ed ee 20 f1 f7 e8 f2 .......... ....
16f0: e0 e5 ec 2c 20 f7 f2 ee 20 f1 e5 ea f6 e8 ff 20 ..., ... ......
1700: e2 fb ed ee f1 e8 f2 f1 ff 20 e2 20 f2 ee ef e8 ......... . ....
1710: ea 09 09 0d 0a 09 74 68 69 73 2e 49 73 54 6f 70 ......this.IsTop
1720: 69 63 3d 74 72 75 65 0d 0a 0d 0a 09 69 66 28 70 ic=true.....if(p
1730: 61 72 65 6e 74 29 0d 0a 09 7b 0d 0a 09 09 2f 2f arent)...{....//
1740: 20 c7 e0 e3 ee eb ee e2 ee ea 20 f1 e5 ea f6 e8 ......... .....
1750: e8 0d 0a 09 09 74 68 69 73 2e 6e 54 69 74 6c 65 .....this.nTitle
1760: 3d 6e 6f 64 65 2e 73 65 6c 65 63 74 53 69 6e 67 =node.selectSing
1770: 6c 65 4e 6f 64 65 28 22 2a 5b 6e 61 6d 65 28 29 leNode("*[name()
1780: 21 3d 27 63 68 6d 69 6e 66 6f 27 5d 2f 64 65 73 !='chminfo']/des
1790: 63 65 6e 64 61 6e 74 2d 6f 72 2d 73 65 6c 66 3a cendant-or-self:
17a0: 3a 2a 5b 73 74 61 72 74 73 2d 77 69 74 68 28 6e :*[starts-with(n
17b0: 61 6d 65 28 29 2c 20 27 68 27 29 5d 2f 61 5b 40 ame(), 'h')]/a[@
17c0: 6e 61 6d 65 5d 22 29 0d 0a 09 09 69 66 28 21 74 name]")....if(!t
17d0: 68 69 73 2e 6e 54 69 74 6c 65 29 0d 0a 09 09 09 his.nTitle).....
17e0: 46 61 74 61 6c 45 72 72 6f 72 28 22 4e 6f 74 20 FatalError("Not
17f0: 66 6f 75 6e 64 20 74 69 74 6c 65 20 69 6e 20 22 found title in "
1800: 2b 6e 6f 64 65 2e 78 6d 6c 29 0d 0a 09 09 74 68 +node.xml)....th
1810: 69 73 2e 54 69 74 6c 65 3d 74 68 69 73 2e 6e 54 is.Title=this.nT
1820: 69 74 6c 65 2e 74 65 78 74 0d 0a 09 09 74 68 69 itle.text....thi
1830: 73 2e 41 6e 63 68 6f 72 3d 47 65 74 41 74 74 72 s.Anchor=GetAttr
1840: 69 62 28 74 68 69 73 2e 6e 54 69 74 6c 65 2c 20 ib(this.nTitle,
1850: 22 6e 61 6d 65 22 29 0d 0a 09 09 2f 2f 20 c2 fb "name")....// ..
1860: ed ee f1 e8 f2 fc 20 eb e8 20 e2 20 f2 ee ef e8 ...... .. . ....
1870: ea 0d 0a 09 09 69 66 28 74 68 69 73 2e 63 68 6d .....if(this.chm
1880: 69 6e 66 6f 2e 61 74 74 72 69 62 75 74 65 73 2e info.attributes.
1890: 67 65 74 4e 61 6d 65 64 49 74 65 6d 28 22 73 70 getNamedItem("sp
18a0: 6c 69 74 22 29 29 0d 0a 09 09 7b 0d 0a 09 09 09 lit"))....{.....
18b0: 69 66 28 74 68 69 73 2e 63 68 6d 69 6e 66 6f 2e if(this.chminfo.
18c0: 61 74 74 72 69 62 75 74 65 73 2e 67 65 74 4e 61 attributes.getNa
18d0: 6d 65 64 49 74 65 6d 28 22 73 70 6c 69 74 22 29 medItem("split")
18e0: 2e 74 65 78 74 3d 3d 22 30 22 29 0d 0a 09 09 09 .text=="0").....
18f0: 09 74 68 69 73 2e 49 73 54 6f 70 69 63 3d 66 61 .this.IsTopic=fa
1900: 6c 73 65 0d 0a 09 09 7d 0d 0a 09 09 65 6c 73 65 lse....}....else
1910: 0d 0a 09 09 7b 0d 0a 09 09 09 69 66 28 74 68 69 ....{.....if(thi
1920: 73 2e 70 61 72 65 6e 74 2e 63 68 6d 69 6e 66 6f s.parent.chminfo
1930: 2e 61 74 74 72 69 62 75 74 65 73 2e 67 65 74 4e .attributes.getN
1940: 61 6d 65 64 49 74 65 6d 28 22 73 70 6c 69 74 63 amedItem("splitc
1950: 68 69 6c 64 22 29 29 0d 0a 09 09 09 7b 0d 0a 09 hild")).....{...
1960: 09 09 09 69 66 28 74 68 69 73 2e 70 61 72 65 6e ...if(this.paren
1970: 74 2e 63 68 6d 69 6e 66 6f 2e 61 74 74 72 69 62 t.chminfo.attrib
1980: 75 74 65 73 2e 67 65 74 4e 61 6d 65 64 49 74 65 utes.getNamedIte
1990: 6d 28 22 73 70 6c 69 74 63 68 69 6c 64 22 29 2e m("splitchild").
19a0: 74 65 78 74 3d 3d 22 30 22 29 0d 0a 09 09 09 09 text=="0")......
19b0: 09 74 68 69 73 2e 49 73 54 6f 70 69 63 3d 66 61 .this.IsTopic=fa
19c0: 6c 73 65 0d 0a 09 09 09 7d 0d 0a 09 09 09 65 6c lse.....}.....el
19d0: 73 65 0d 0a 09 09 09 09 74 68 69 73 2e 49 73 54 se......this.IsT
19e0: 6f 70 69 63 3d 74 68 69 73 2e 70 61 72 65 6e 74 opic=this.parent
19f0: 2e 49 73 54 6f 70 69 63 0d 0a 09 09 7d 0d 0a 09 .IsTopic....}...
1a00: 7d 0d 0a 09 65 6c 73 65 0d 0a 09 7b 0d 0a 09 09 }...else...{....
1a10: 2f 2f 20 dd f2 ee 20 f1 e0 ec e0 ff 20 ef e5 f0 // ... ..... ...
1a20: e2 e0 ff 20 f1 e5 ea f6 e8 ff 0d 0a 09 09 2f 2f ... ..........//
1a30: 20 c7 e0 e3 ee eb ee e2 ee ea 20 f1 e5 ea f6 e8 ......... .....
1a40: e8 0d 0a 09 09 74 68 69 73 2e 54 69 74 6c 65 3d .....this.Title=
1a50: 52 6f 6f 74 54 69 74 6c 65 0d 0a 09 09 2f 2f 20 RootTitle....//
1a60: cf f0 ee e2 e5 f0 e8 ec 2c 20 f7 f2 ee 20 ef ee ........, ... ..
1a70: 20 f3 ec ee eb f7 e0 ed e8 fe 20 68 72 65 66 20 ......... href
1a80: ed e5 20 ef f3 f1 f2 0d 0a 09 09 2f 2f 20 d5 ee .. ........// ..
1a90: f2 ff 20 ed e5 20 e7 ed e0 fe 2c 20 ec ee e6 e5 .. .. ...., ....
1aa0: f2 20 ef ee 20 f3 ec ee eb f7 e0 ed e8 fe 20 e8 . .. ......... .
1ab0: 20 ed e5 20 f1 f2 e0 e2 e8 f2 fc 20 f1 f1 fb eb .. ....... ....
1ac0: ea e8 3f 0d 0a 09 09 76 61 72 20 68 72 65 66 4e ..?....var hrefN
1ad0: 6f 64 65 3d 74 68 69 73 2e 63 68 6d 69 6e 66 6f ode=this.chminfo
1ae0: 2e 73 65 6c 65 63 74 53 69 6e 67 6c 65 4e 6f 64 .selectSingleNod
1af0: 65 28 22 68 72 65 66 22 29 0d 0a 09 09 69 66 28 e("href")....if(
1b00: 21 68 72 65 66 4e 6f 64 65 2e 68 61 73 43 68 69 !hrefNode.hasChi
1b10: 6c 64 4e 6f 64 65 73 28 29 29 0d 0a 09 09 7b 0d ldNodes())....{.
1b20: 0a 09 09 09 76 61 72 20 61 3d 78 6d 6c 2e 63 72 ....var a=xml.cr
1b30: 65 61 74 65 45 6c 65 6d 65 6e 74 28 22 61 22 29 eateElement("a")
1b40: 0d 0a 09 09 09 53 65 74 41 74 74 72 69 62 28 61 .....SetAttrib(a
1b50: 2c 20 22 68 72 65 66 22 2c 20 22 73 65 6c 66 22 , "href", "self"
1b60: 29 0d 0a 09 09 09 76 61 72 20 74 3d 78 6d 6c 2e ).....var t=xml.
1b70: 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 22 74 createElement("t
1b80: 69 74 6c 65 22 29 0d 0a 09 09 09 53 65 74 41 74 itle").....SetAt
1b90: 74 72 69 62 28 74 2c 20 22 74 6f 22 2c 20 22 73 trib(t, "to", "s
1ba0: 65 6c 66 22 29 0d 0a 09 09 09 61 2e 61 70 70 65 elf").....a.appe
1bb0: 6e 64 43 68 69 6c 64 28 74 29 0d 0a 09 09 09 76 ndChild(t).....v
1bc0: 61 72 20 64 69 76 3d 78 6d 6c 2e 63 72 65 61 74 ar div=xml.creat
1bd0: 65 45 6c 65 6d 65 6e 74 28 22 64 69 76 22 29 0d eElement("div").
1be0: 0a 09 09 09 64 69 76 2e 61 70 70 65 6e 64 43 68 ....div.appendCh
1bf0: 69 6c 64 28 61 29 0d 0a 09 09 09 68 72 65 66 4e ild(a).....hrefN
1c00: 6f 64 65 2e 61 70 70 65 6e 64 43 68 69 6c 64 28 ode.appendChild(
1c10: 64 69 76 29 0d 0a 09 09 7d 0d 0a 09 7d 0d 0a 09 div)....}...}...
1c20: 2f 2f 20 c7 e0 ef ee ec ed e8 ec 20 f1 e5 ea f6 // ........ ....
1c30: e8 e8 20 e2 20 ef ee f0 ff e4 ea e5 20 ee e1 f5 .. . ....... ...
1c40: ee e4 e0 20 f1 ee e4 e5 f0 e6 e0 ed e8 ff 0d 0a ... ............
1c50: 09 2f 2f 20 ee f2 20 f0 ee e4 e8 f2 e5 eb e5 e9 .// .. .........
1c60: 20 ea 20 ef ee f2 ee ec ea e0 ec 0d 0a 09 74 68 . ...........th
1c70: 69 73 2e 53 65 63 74 69 6f 6e 4e 75 6d 3d 53 65 is.SectionNum=Se
1c80: 63 74 69 6f 6e 46 72 6f 6d 50 61 72 65 6e 74 2e ctionFromParent.
1c90: 6c 65 6e 67 74 68 0d 0a 09 53 65 63 74 69 6f 6e length...Section
1ca0: 46 72 6f 6d 50 61 72 65 6e 74 5b 74 68 69 73 2e FromParent[this.
1cb0: 53 65 63 74 69 6f 6e 4e 75 6d 5d 3d 74 68 69 73 SectionNum]=this
1cc0: 0d 0a 0d 0a 09 2f 2f 20 ce ef f0 e5 e4 e5 eb e8 .....// ........
1cd0: ec 20 e8 ec ff 20 f4 e0 e9 eb e0 2c 20 e2 20 ea . ... ....., . .
1ce0: ee f2 ee f0 ee ec 20 e1 f3 e4 e5 f2 20 eb e5 e6 ...... ..... ...
1cf0: e0 f2 fc 20 f1 e5 ea f6 e8 ff 0d 0a 09 76 61 72 ... .........var
1d00: 20 74 3d 74 68 69 73 3b 0d 0a 09 77 68 69 6c 65 t=this;...while
1d10: 28 21 74 2e 49 73 54 6f 70 69 63 29 0d 0a 09 09 (!t.IsTopic)....
1d20: 74 3d 74 2e 70 61 72 65 6e 74 0d 0a 09 74 68 69 t=t.parent...thi
1d30: 73 2e 46 69 6c 65 4e 61 6d 65 3d 69 6e 46 69 6c s.FileName=inFil
1d40: 65 4e 61 6d 65 20 2b 20 74 2e 53 65 63 74 69 6f eName + t.Sectio
1d50: 6e 4e 75 6d 20 2b 20 22 2e 68 74 6d 6c 22 0d 0a nNum + ".html"..
1d60: 09 74 68 69 73 2e 43 68 69 6c 64 73 43 6f 6e 74 .this.ChildsCont
1d70: 65 6e 74 3d 22 22 0d 0a 7d 0d 0a 0d 0a 66 75 6e ent=""..}....fun
1d80: 63 74 69 6f 6e 20 44 6f 63 53 65 63 74 69 6f 6e ction DocSection
1d90: 5f 49 6e 68 65 72 69 74 43 68 6d 49 6e 66 6f 28 _InheritChmInfo(
1da0: 29 0d 0a 7b 0d 0a 09 69 66 28 21 74 68 69 73 2e )..{...if(!this.
1db0: 70 61 72 65 6e 74 29 0d 0a 09 7b 0d 0a 09 09 2f parent)...{..../
1dc0: 2f 20 c4 eb ff 20 ea ee f0 ed e5 e2 ee e9 20 f1 / ... ........ .
1dd0: e5 ea f6 e8 e8 20 ef f0 ee f1 f2 ee 20 f3 e1 e5 ..... ...... ...
1de0: e4 e8 ec f1 ff 20 e2 20 ed e0 eb e8 f7 e8 e8 20 ..... . .......
1df0: ee e1 ff e7 e0 f2 e5 eb fc ed fb f5 20 f2 fd e3 ............ ...
1e00: ee e2 0d 0a 09 09 76 61 72 20 69 6e 68 65 72 69 ......var inheri
1e10: 74 4e 6f 64 65 73 3d 41 72 72 61 79 28 27 64 65 tNodes=Array('de
1e20: 63 6f 72 61 74 69 6f 6e 27 2c 20 27 68 72 65 66 coration', 'href
1e30: 27 2c 20 27 68 72 65 66 63 6f 6d 62 69 6e 65 27 ', 'hrefcombine'
1e40: 2c 20 27 61 75 74 6f 6b 77 27 29 0d 0a 09 09 66 , 'autokw')....f
1e50: 6f 72 28 76 61 72 20 69 3d 30 3b 69 3c 69 6e 68 or(var i=0;i<inh
1e60: 65 72 69 74 4e 6f 64 65 73 2e 6c 65 6e 67 74 68 eritNodes.length
1e70: 3b 69 2b 2b 29 0d 0a 09 09 7b 0d 0a 09 09 09 76 ;i++)....{.....v
1e80: 61 72 20 69 4e 6f 64 65 3d 74 68 69 73 2e 63 68 ar iNode=this.ch
1e90: 6d 69 6e 66 6f 2e 73 65 6c 65 63 74 53 69 6e 67 minfo.selectSing
1ea0: 6c 65 4e 6f 64 65 28 69 6e 68 65 72 69 74 4e 6f leNode(inheritNo
1eb0: 64 65 73 5b 69 5d 29 0d 0a 09 09 09 69 66 28 21 des[i]).....if(!
1ec0: 69 4e 6f 64 65 29 0d 0a 09 09 09 09 74 68 69 73 iNode)......this
1ed0: 2e 63 68 6d 69 6e 66 6f 2e 61 70 70 65 6e 64 43 .chminfo.appendC
1ee0: 68 69 6c 64 28 78 6d 6c 2e 63 72 65 61 74 65 45 hild(xml.createE
1ef0: 6c 65 6d 65 6e 74 28 69 6e 68 65 72 69 74 4e 6f lement(inheritNo
1f00: 64 65 73 5b 69 5d 29 29 0d 0a 09 09 7d 0d 0a 09 des[i]))....}...
1f10: 7d 0d 0a 09 65 6c 73 65 0d 0a 09 7b 0d 0a 09 09 }...else...{....
1f20: 2f 2f 20 c4 eb ff 20 ee f1 f2 e0 eb fc ed fb f5 // ... .........
1f30: 20 f1 e5 ea f6 e8 e9 20 ed e0 e4 ee 20 ef f0 ee ...... .... ...
1f40: f1 f2 ee 20 f1 ea ee ef e8 f0 ee e2 e0 f2 fc 0d ... ............
1f50: 0a 09 09 2f 2f 20 f1 ee e4 e5 f0 e6 e8 ec ee e5 ...// ..........
1f60: 20 f0 ee e4 e8 f2 e5 eb fc f1 ea ee e9 20 f1 e5 ............ ..
1f70: ea f6 e8 e8 2c 20 ef f0 ee ef f3 f1 ea e0 ff 20 ...., .........
1f80: f1 ee e2 ef e0 e4 e0 fe f9 e8 e5 0d 0a 09 09 2f .............../
1f90: 2f 20 f2 fd e3 e8 20 e8 20 ef e5 f0 e5 ec e5 f1 / .... . .......
1fa0: f2 e8 e2 20 e2 f1 e5 20 e8 e7 20 3c 63 68 69 6c ... ... .. <chil
1fb0: 64 73 3e 20 e2 20 3c 63 68 6d 69 6e 66 6f 3e 0d ds> . <chminfo>.
1fc0: 0a 09 09 76 61 72 20 63 68 69 6c 64 73 3d 74 68 ...var childs=th
1fd0: 69 73 2e 70 61 72 65 6e 74 2e 63 68 6d 69 6e 66 is.parent.chminf
1fe0: 6f 2e 73 65 6c 65 63 74 53 69 6e 67 6c 65 4e 6f o.selectSingleNo
1ff0: 64 65 28 22 63 68 69 6c 64 73 22 29 0d 0a 09 09 de("childs")....
2000: 69 66 28 63 68 69 6c 64 73 29 0d 0a 09 09 7b 0d if(childs)....{.
2010: 0a 09 09 09 2f 2f 20 c8 e7 20 f3 e7 eb e0 20 63 ....// .. .... c
2020: 68 69 6c 64 73 20 ea ee ef e8 f0 f3 e5 ec 20 e2 hilds ........ .
2030: f1 e5 20 ee f2 f1 f3 f2 f1 f2 e2 f3 fe f9 e5 e5 .. .............
2040: 20 e2 20 f1 e5 ea f6 e8 e8 0d 0a 09 09 09 66 6f . ...........fo
2050: 72 28 76 61 72 20 69 3d 30 3b 69 3c 63 68 69 6c r(var i=0;i<chil
2060: 64 73 2e 63 68 69 6c 64 4e 6f 64 65 73 2e 6c 65 ds.childNodes.le
2070: 6e 67 74 68 3b 69 2b 2b 29 0d 0a 09 09 09 7b 0d ngth;i++).....{.
2080: 0a 09 09 09 09 76 61 72 20 63 75 72 4e 6f 64 65 .....var curNode
2090: 3d 63 68 69 6c 64 73 2e 63 68 69 6c 64 4e 6f 64 =childs.childNod
20a0: 65 73 2e 69 74 65 6d 28 69 29 0d 0a 09 09 09 09 es.item(i)......
20b0: 69 66 28 63 75 72 4e 6f 64 65 2e 62 61 73 65 4e if(curNode.baseN
20c0: 61 6d 65 2e 6c 65 6e 67 74 68 20 26 26 20 21 74 ame.length && !t
20d0: 68 69 73 2e 63 68 6d 69 6e 66 6f 2e 73 65 6c 65 his.chminfo.sele
20e0: 63 74 53 69 6e 67 6c 65 4e 6f 64 65 28 63 75 72 ctSingleNode(cur
20f0: 4e 6f 64 65 2e 62 61 73 65 4e 61 6d 65 29 29 0d Node.baseName)).
2100: 0a 09 09 09 09 09 74 68 69 73 2e 63 68 6d 69 6e ......this.chmin
2110: 66 6f 2e 61 70 70 65 6e 64 43 68 69 6c 64 28 63 fo.appendChild(c
2120: 75 72 4e 6f 64 65 2e 63 6c 6f 6e 65 4e 6f 64 65 urNode.cloneNode
2130: 28 74 72 75 65 29 29 0d 0a 09 09 09 7d 0d 0a 09 (true)).....}...
2140: 09 7d 0d 0a 09 09 0d 0a 09 09 2f 2f 20 c0 20 e7 .}........// . .
2150: e0 f2 e5 ec 20 ee f2 ea ee ef e8 f0 f3 e5 ec 20 .... ..........
2160: e2 f1 e5 20 e8 e7 20 ef ee f2 ee ec ea ee e2 20 ... .. ........
2170: 63 68 6d 69 6e 66 6f 2c 20 ef f0 ee ef f3 f1 ea chminfo, .......
2180: e0 ff 20 ed e5 ea ee f2 ee f0 fb e5 20 f3 e7 eb .. ......... ...
2190: fb 0d 0a 09 09 66 6f 72 28 76 61 72 20 69 3d 30 .....for(var i=0
21a0: 3b 69 3c 74 68 69 73 2e 70 61 72 65 6e 74 2e 63 ;i<this.parent.c
21b0: 68 6d 69 6e 66 6f 2e 63 68 69 6c 64 4e 6f 64 65 hminfo.childNode
21c0: 73 2e 6c 65 6e 67 74 68 3b 69 2b 2b 29 0d 0a 09 s.length;i++)...
21d0: 09 7b 0d 0a 09 09 09 76 61 72 20 63 75 72 4e 6f .{.....var curNo
21e0: 64 65 3d 74 68 69 73 2e 70 61 72 65 6e 74 2e 63 de=this.parent.c
21f0: 68 6d 69 6e 66 6f 2e 63 68 69 6c 64 4e 6f 64 65 hminfo.childNode
2200: 73 2e 69 74 65 6d 28 69 29 0d 0a 09 09 09 73 77 s.item(i).....sw
2210: 69 74 63 68 28 63 75 72 4e 6f 64 65 2e 62 61 73 itch(curNode.bas
2220: 65 4e 61 6d 65 29 0d 0a 09 09 09 7b 0d 0a 09 09 eName).....{....
2230: 09 63 61 73 65 20 27 63 68 69 6c 64 73 27 3a 0d .case 'childs':.
2240: 0a 09 09 09 63 61 73 65 20 27 61 6c 69 6e 6b 73 ....case 'alinks
2250: 27 3a 0d 0a 09 09 09 63 61 73 65 20 27 6b 6c 69 ':.....case 'kli
2260: 6e 6b 73 27 3a 0d 0a 09 09 09 63 61 73 65 20 27 nks':.....case '
2270: 6e 6f 63 68 69 6c 64 73 27 3a 0d 0a 09 09 09 63 nochilds':.....c
2280: 61 73 65 20 27 74 6f 63 27 3a 0d 0a 09 09 09 09 ase 'toc':......
2290: 62 72 65 61 6b 3b 0d 0a 09 09 09 64 65 66 61 75 break;.....defau
22a0: 6c 74 3a 0d 0a 09 09 09 09 69 66 28 63 75 72 4e lt:......if(curN
22b0: 6f 64 65 2e 62 61 73 65 4e 61 6d 65 2e 6c 65 6e ode.baseName.len
22c0: 67 74 68 20 26 26 20 21 74 68 69 73 2e 63 68 6d gth && !this.chm
22d0: 69 6e 66 6f 2e 73 65 6c 65 63 74 53 69 6e 67 6c info.selectSingl
22e0: 65 4e 6f 64 65 28 63 75 72 4e 6f 64 65 2e 62 61 eNode(curNode.ba
22f0: 73 65 4e 61 6d 65 29 29 0d 0a 09 09 09 09 09 74 seName)).......t
2300: 68 69 73 2e 63 68 6d 69 6e 66 6f 2e 61 70 70 65 his.chminfo.appe
2310: 6e 64 43 68 69 6c 64 28 63 75 72 4e 6f 64 65 2e ndChild(curNode.
2320: 63 6c 6f 6e 65 4e 6f 64 65 28 74 72 75 65 29 29 cloneNode(true))
2330: 0d 0a 09 09 09 7d 0d 0a 09 09 7d 0d 0a 09 7d 0d .....}....}...}.
2340: 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 4d .}....function M
2350: 61 6b 65 52 65 70 6c 61 63 65 73 28 6e 6f 64 65 akeReplaces(node
2360: 2c 20 74 61 67 29 0d 0a 7b 0d 0a 09 76 61 72 20 , tag)..{...var
2370: 61 72 72 45 78 70 72 3d 41 72 72 61 79 28 29 0d arrExpr=Array().
2380: 0a 09 66 6f 72 28 3b 3b 29 0d 0a 09 7b 0d 0a 09 ..for(;;)...{...
2390: 09 76 61 72 20 72 65 70 6c 61 63 65 73 3d 6e 6f .var replaces=no
23a0: 64 65 2e 73 65 6c 65 63 74 4e 6f 64 65 73 28 74 de.selectNodes(t
23b0: 61 67 29 0d 0a 09 09 76 61 72 20 63 75 72 45 78 ag)....var curEx
23c0: 70 72 3d 41 72 72 61 79 28 29 0d 0a 09 09 76 61 pr=Array()....va
23d0: 72 20 70 72 6f 63 65 73 73 65 64 3d 30 0d 0a 09 r processed=0...
23e0: 09 66 6f 72 28 76 61 72 20 63 63 3d 30 3b 63 63 .for(var cc=0;cc
23f0: 3c 72 65 70 6c 61 63 65 73 2e 6c 65 6e 67 74 68 <replaces.length
2400: 3b 63 63 2b 2b 29 0d 0a 09 09 7b 0d 0a 09 09 09 ;cc++)....{.....
2410: 76 61 72 20 72 65 70 6c 3d 72 65 70 6c 61 63 65 var repl=replace
2420: 73 2e 69 74 65 6d 28 63 63 29 0d 0a 09 09 09 76 s.item(cc).....v
2430: 61 72 20 69 73 50 72 6f 63 65 73 73 65 64 3d 66 ar isProcessed=f
2440: 61 6c 73 65 0d 0a 09 09 09 76 61 72 20 73 4e 6f alse.....var sNo
2450: 64 65 73 3d 47 65 74 41 74 74 72 69 62 28 72 65 des=GetAttrib(re
2460: 70 6c 2c 20 22 6e 6f 64 65 73 22 29 0d 0a 09 09 pl, "nodes")....
2470: 09 76 61 72 20 61 73 58 6d 6c 3d 47 65 74 41 74 .var asXml=GetAt
2480: 74 72 69 62 28 72 65 70 6c 2c 20 22 61 73 78 6d trib(repl, "asxm
2490: 6c 22 29 0d 0a 09 09 09 69 66 28 73 4e 6f 64 65 l").....if(sNode
24a0: 73 2e 6c 65 6e 67 74 68 20 26 26 20 21 61 72 72 s.length && !arr
24b0: 45 78 70 72 5b 73 4e 6f 64 65 73 5d 29 0d 0a 09 Expr[sNodes])...
24c0: 09 09 7b 0d 0a 09 09 09 09 63 75 72 45 78 70 72 ..{......curExpr
24d0: 5b 73 4e 6f 64 65 73 5d 3d 31 0d 0a 09 09 09 09 [sNodes]=1......
24e0: 69 73 50 72 6f 63 65 73 73 65 64 3d 74 72 75 65 isProcessed=true
24f0: 0d 0a 09 09 09 09 76 61 72 20 6e 4c 69 73 74 3d ......var nList=
2500: 6e 6f 64 65 2e 73 65 6c 65 63 74 4e 6f 64 65 73 node.selectNodes
2510: 28 73 4e 6f 64 65 73 29 0d 0a 09 09 09 09 66 6f (sNodes)......fo
2520: 72 28 76 61 72 20 69 3d 30 3b 69 3c 6e 4c 69 73 r(var i=0;i<nLis
2530: 74 2e 6c 65 6e 67 74 68 3b 69 2b 2b 29 0d 0a 09 t.length;i++)...
2540: 09 09 09 7b 0d 0a 09 09 09 09 09 76 61 72 20 6e ...{.......var n
2550: 65 77 4e 6f 64 65 0d 0a 09 09 09 09 09 69 66 28 ewNode.......if(
2560: 61 73 58 6d 6c 3d 3d 22 31 22 29 0d 0a 09 09 09 asXml=="1").....
2570: 09 09 09 6e 65 77 4e 6f 64 65 3d 78 6d 6c 2e 63 ...newNode=xml.c
2580: 72 65 61 74 65 54 65 78 74 4e 6f 64 65 28 6e 4c reateTextNode(nL
2590: 69 73 74 2e 69 74 65 6d 28 69 29 2e 78 6d 6c 29 ist.item(i).xml)
25a0: 0d 0a 09 09 09 09 09 65 6c 73 65 0d 0a 09 09 09 .......else.....
25b0: 09 09 09 6e 65 77 4e 6f 64 65 3d 6e 4c 69 73 74 ...newNode=nList
25c0: 2e 69 74 65 6d 28 69 29 2e 63 6c 6f 6e 65 4e 6f .item(i).cloneNo
25d0: 64 65 28 74 72 75 65 29 0d 0a 09 09 09 09 09 72 de(true).......r
25e0: 65 70 6c 2e 70 61 72 65 6e 74 4e 6f 64 65 2e 69 epl.parentNode.i
25f0: 6e 73 65 72 74 42 65 66 6f 72 65 28 6e 65 77 4e nsertBefore(newN
2600: 6f 64 65 2c 20 72 65 70 6c 29 0d 0a 09 09 09 09 ode, repl)......
2610: 7d 0d 0a 09 09 09 7d 0d 0a 09 09 09 73 4e 6f 64 }.....}.....sNod
2620: 65 73 3d 47 65 74 41 74 74 72 69 62 28 72 65 70 es=GetAttrib(rep
2630: 6c 2c 20 22 6e 6f 64 65 22 29 0d 0a 09 09 09 69 l, "node").....i
2640: 66 28 73 4e 6f 64 65 73 2e 6c 65 6e 67 74 68 20 f(sNodes.length
2650: 26 26 20 21 61 72 72 45 78 70 72 5b 73 4e 6f 64 && !arrExpr[sNod
2660: 65 73 5d 29 0d 0a 09 09 09 7b 0d 0a 09 09 09 09 es]).....{......
2670: 63 75 72 45 78 70 72 5b 73 4e 6f 64 65 73 5d 3d curExpr[sNodes]=
2680: 31 0d 0a 09 09 09 09 69 73 50 72 6f 63 65 73 73 1......isProcess
2690: 65 64 3d 74 72 75 65 0d 0a 09 09 09 09 6e 4c 69 ed=true......nLi
26a0: 73 74 3d 6e 6f 64 65 2e 73 65 6c 65 63 74 53 69 st=node.selectSi
26b0: 6e 67 6c 65 4e 6f 64 65 28 73 4e 6f 64 65 73 29 ngleNode(sNodes)
26c0: 0d 0a 09 09 09 09 69 66 28 6e 4c 69 73 74 29 0d ......if(nList).
26d0: 0a 09 09 09 09 7b 0d 0a 09 09 09 09 09 76 61 72 .....{.......var
26e0: 20 6e 65 77 4e 6f 64 65 0d 0a 09 09 09 09 09 69 newNode.......i
26f0: 66 28 61 73 58 6d 6c 3d 3d 22 31 22 29 0d 0a 09 f(asXml=="1")...
2700: 09 09 09 09 09 6e 65 77 4e 6f 64 65 3d 78 6d 6c .....newNode=xml
2710: 2e 63 72 65 61 74 65 54 65 78 74 4e 6f 64 65 28 .createTextNode(
2720: 6e 4c 69 73 74 2e 78 6d 6c 29 0d 0a 09 09 09 09 nList.xml)......
2730: 09 65 6c 73 65 0d 0a 09 09 09 09 09 09 6e 65 77 .else........new
2740: 4e 6f 64 65 3d 6e 4c 69 73 74 2e 63 6c 6f 6e 65 Node=nList.clone
2750: 4e 6f 64 65 28 74 72 75 65 29 0d 0a 09 09 09 09 Node(true)......
2760: 09 72 65 70 6c 2e 70 61 72 65 6e 74 4e 6f 64 65 .repl.parentNode
2770: 2e 69 6e 73 65 72 74 42 65 66 6f 72 65 28 6e 65 .insertBefore(ne
2780: 77 4e 6f 64 65 2c 20 72 65 70 6c 29 0d 0a 09 09 wNode, repl)....
2790: 09 09 7d 0d 0a 09 09 09 7d 0d 0a 09 09 09 72 65 ..}.....}.....re
27a0: 70 6c 2e 70 61 72 65 6e 74 4e 6f 64 65 2e 72 65 pl.parentNode.re
27b0: 6d 6f 76 65 43 68 69 6c 64 28 72 65 70 6c 29 0d moveChild(repl).
27c0: 0a 09 09 09 69 66 28 69 73 50 72 6f 63 65 73 73 ....if(isProcess
27d0: 65 64 29 0d 0a 09 09 09 09 70 72 6f 63 65 73 73 ed)......process
27e0: 65 64 2b 2b 0d 0a 09 09 7d 0d 0a 09 09 69 66 28 ed++....}....if(
27f0: 21 70 72 6f 63 65 73 73 65 64 29 0d 0a 09 09 09 !processed).....
2800: 62 72 65 61 6b 3b 0d 0a 09 09 66 6f 72 28 76 61 break;....for(va
2810: 72 20 65 78 70 72 20 69 6e 20 63 75 72 45 78 70 r expr in curExp
2820: 72 29 0d 0a 09 09 09 61 72 72 45 78 70 72 5b 65 r).....arrExpr[e
2830: 78 70 72 5d 3d 31 0d 0a 09 7d 0d 0a 7d 0d 0a 0d xpr]=1...}..}...
2840: 0a 2f 2a 0d 0a d1 eb e5 e4 f3 fe f9 e8 e9 20 fd ./*........... .
2850: f2 e0 ef 20 ee e1 f0 e0 e1 ee f2 ea e8 0d 0a c2 ... ............
2860: fb e7 fb e2 e0 e5 f2 f1 ff 20 ef f0 e8 20 ee e1 ......... ... ..
2870: f5 ee e4 e5 20 f1 ee e4 e5 f0 e6 e0 ed e8 ff 20 .... ..........
2880: ef ee f1 eb e5 20 ee e1 f0 e0 e1 ee f2 ea e8 0d ..... ..........
2890: 0a e2 f1 e5 f5 20 e4 ee f7 e5 f0 ed e8 f5 20 e4 ..... ........ .
28a0: eb ff 20 fd f2 ee e9 20 f1 e5 ea f6 e8 e8 20 f1 .. .... ...... .
28b0: e5 ea f6 e8 e9 2e 0d 0a ce f1 ed ee e2 ed ee e5 ................
28c0: 20 ed e0 e7 ed e0 f7 e5 ed e8 e5 20 2d 20 ef f0 .......... - ..
28d0: e0 e2 ea e0 20 f1 f1 fb eb ee ea 20 e2 20 e4 ee .... ...... . ..
28e0: ea f3 ec e5 ed f2 e5 2e 0d 0a d2 e0 ea 20 ec fb ............. ..
28f0: 20 ec ee e6 e5 ec 20 e3 e0 f0 e0 ed f2 f0 ee e2 ..... .........
2900: e0 f2 fc 2c 20 f7 f2 ee 20 ed e5 20 e8 f1 ef ee ..., ... .. ....
2910: f0 f2 e8 ec 20 f1 f1 fb eb ea e8 2c 0d 0a f3 e6 .... ......,....
2920: e5 20 ee e1 f0 e0 e1 ee f2 e0 ed ed fb e5 20 e2 . ............ .
2930: 20 e4 ee f7 e5 f0 ed e8 f5 20 f1 e5 ea f6 e8 ff ........ ......
2940: f5 0d 0a 0d 0a c0 eb e3 ee f0 e8 f2 ec 20 f2 e0 ............. ..
2950: ea ee e2 20 2d 20 e2 fb e1 e8 f0 e0 e5 ec 20 e2 ... - ........ .
2960: f1 e5 20 f3 e7 eb fb 20 3c 61 3e 2c 20 f1 ee e4 .. .... <a>, ...
2970: e5 f0 e6 e0 f9 e8 e5 f1 ff 20 e2 0d 0a f3 e7 eb ......... ......
2980: e5 20 f1 e5 ea f6 e8 e8 2c 20 e8 20 e8 ec e5 e5 . ......, . ....
2990: fe f9 e8 e5 20 e0 f2 f0 e8 e1 f3 f2 20 6e 61 6d .... ....... nam
29a0: 65 20 28 ff ea ee f0 e8 29 2e 0d 0a d2 e0 ea 20 e (.....)......
29b0: ea e0 ea 20 e2 20 fd f2 ee f2 20 ec ee ec e5 ed ... . .... .....
29c0: f2 20 e8 e7 20 e4 ee ea f3 ec e5 ed f2 e0 20 e5 . .. ......... .
29d0: f9 e5 20 ed e5 20 f3 e4 e0 eb e5 ed fb 20 e2 fb .. .. ....... ..
29e0: ed e5 f1 e5 ed ed fb e5 0d 0a f2 ee ef e8 ea e8 ................
29f0: 2c 20 f2 ee 20 e2 20 e2 fb e1 ee f0 ea f3 20 ef , .. . ....... .
2a00: ee ef e0 e4 f3 f2 20 e8 20 e2 f1 e5 20 ff ea ee ...... . ... ...
2a10: f0 e8 20 e8 e7 20 e4 ee f7 e5 f0 ed e8 f5 0d 0a .. .. ..........
2a20: f1 e5 ea f6 e8 e9 2e 20 cd ee 20 f2 e0 ea 20 ea ....... .. ... .
2a30: e0 ea 20 e2 f1 e5 20 ee e1 f0 e0 e1 ee f2 e0 ed .. ... .........
2a40: ed fb e5 20 ff ea ee f0 ff 20 ec fb 20 e7 e0 ef ... ..... .. ...
2a50: ee ec e8 ed e0 e5 ec 20 e2 20 61 72 4c 69 6e 6b ....... . arLink
2a60: 73 2c 0d 0a f2 ee 20 ef f0 ee ef f3 f1 ea e0 ff s,.... .........
2a70: 20 e8 f5 20 ef f0 e8 20 ee e1 f0 e0 e1 ee f2 ea .. ... ........
2a80: e5 2c 20 ef ee eb f3 f7 e8 ec 20 f2 ee eb fc ea ., ....... .....
2a90: ee 20 ff ea ee f0 ff 20 e2 20 fd f2 ee e9 20 f1 . ..... . .... .
2aa0: e5 ea f6 e8 e8 2e 0d 0a c7 e0 f2 e5 ec 20 e4 eb ............. ..
2ab0: ff 20 ea e0 e6 e4 ee e3 ee 20 ff ea ee f0 ff 20 . ....... .....
2ac0: e8 e7 20 e2 fb e1 ee f0 ea e8 20 e2 fb e1 e8 f0 .. ....... .....
2ad0: e0 e5 ec 20 e2 f1 e5 20 f3 e7 eb fb 20 3c 61 3e ... ... .... <a>
2ae0: 20 e2 20 e4 ee ea f3 ec e5 ed f2 e5 2c 0d 0a e8 . .........,...
2af0: ec e5 fe f9 e8 e5 20 e0 f2 f0 e8 e1 f3 f2 20 68 ...... ....... h
2b00: 72 65 66 3d 22 23 22 2b 6e 61 6d 65 20 ff ea ee ref="#"+name ...
2b10: f0 ff 2e 20 c8 20 ef f0 e0 e2 e8 ec 20 f3 20 ed ... . ...... . .
2b20: e8 f5 20 68 72 65 66 2c 20 e4 ee e1 e0 e2 eb ff .. href, .......
2b30: ff 0d 0a e8 ec ff 20 f4 e0 e9 eb e0 2e 0d 0a 2a ...... ........*
2b40: 2f 0d 0a 0d 0a 76 61 72 20 61 72 4c 69 6e 6b 73 /....var arLinks
2b50: 3d 41 72 72 61 79 28 29 09 09 09 2f 2f 20 cc e0 =Array()...// ..
2b60: f1 f1 e8 e2 20 e8 ec e5 ed 20 ee e1 f0 e0 e1 ee .... .... ......
2b70: f2 e0 ed ed fb f5 20 f1 f1 fb eb ee ea 0d 0a 0d ...... .........
2b80: 0a 66 75 6e 63 74 69 6f 6e 20 44 6f 63 53 65 63 .function DocSec
2b90: 74 69 6f 6e 5f 41 66 74 65 72 43 68 69 6c 64 50 tion_AfterChildP
2ba0: 72 6f 63 65 73 73 65 64 28 29 0d 0a 7b 0d 0a 09 rocessed()..{...
2bb0: 2f 2f 20 c7 e0 ed e5 f1 e5 ec 20 f1 e5 ea f6 e8 // ....... .....
2bc0: fe 20 e2 20 ee e1 f0 e0 f2 ed fb e9 20 f1 ef e8 . . ........ ...
2bd0: f1 ee ea 0d 0a 09 53 65 63 74 69 6f 6e 46 72 6f ......SectionFro
2be0: 6d 43 68 69 6c 64 5b 53 65 63 74 69 6f 6e 46 72 mChild[SectionFr
2bf0: 6f 6d 43 68 69 6c 64 2e 6c 65 6e 67 74 68 5d 3d omChild.length]=
2c00: 74 68 69 73 0d 0a 09 0d 0a 09 2f 2f 20 c2 fb e1 this......// ...
2c10: e8 f0 e0 e5 ec 20 e2 f1 e5 20 ff ea ee f0 ff 20 ..... ... .....
2c20: e2 20 fd f2 ee e9 20 e8 20 e4 ee f7 e5 f0 ed e8 . .... . .......
2c30: f5 20 f1 e5 ea f6 e8 ff f5 0d 0a 09 76 61 72 20 . ..........var
2c40: 74 61 72 67 65 74 73 3d 74 68 69 73 2e 6e 6f 64 targets=this.nod
2c50: 65 2e 73 65 6c 65 63 74 4e 6f 64 65 73 28 22 2a e.selectNodes("*
2c60: 5b 6e 61 6d 65 28 29 21 3d 27 63 68 6d 69 6e 66 [name()!='chminf
2c70: 6f 27 5d 2f 64 65 73 63 65 6e 64 61 6e 74 2d 6f o']/descendant-o
2c80: 72 2d 73 65 6c 66 3a 3a 61 5b 40 6e 61 6d 65 5d r-self::a[@name]
2c90: 7c 2a 5b 6e 61 6d 65 28 29 21 3d 27 63 68 6d 69 |*[name()!='chmi
2ca0: 6e 66 6f 27 5d 2f 64 65 73 63 65 6e 64 61 6e 74 nfo']/descendant
2cb0: 2d 6f 72 2d 73 65 6c 66 3a 3a 6e 6f 64 65 28 29 -or-self::node()
2cc0: 5b 40 69 64 5d 22 29 0d 0a 09 66 6f 72 28 76 61 [@id]")...for(va
2cd0: 72 20 69 3d 30 3b 69 3c 74 61 72 67 65 74 73 2e r i=0;i<targets.
2ce0: 6c 65 6e 67 74 68 3b 69 2b 2b 29 0d 0a 09 7b 0d length;i++)...{.
2cf0: 0a 09 09 76 61 72 20 74 61 72 67 3d 74 61 72 67 ...var targ=targ
2d00: 65 74 73 2e 69 74 65 6d 28 69 29 0d 0a 09 09 76 ets.item(i)....v
2d10: 61 72 20 6c 4e 61 6d 65 3d 74 61 72 67 2e 61 74 ar lName=targ.at
2d20: 74 72 69 62 75 74 65 73 2e 67 65 74 4e 61 6d 65 tributes.getName
2d30: 64 49 74 65 6d 28 74 61 72 67 2e 62 61 73 65 4e dItem(targ.baseN
2d40: 61 6d 65 3d 3d 22 61 22 3f 22 6e 61 6d 65 22 3a ame=="a"?"name":
2d50: 22 69 64 22 29 2e 74 65 78 74 0d 0a 09 09 69 66 "id").text....if
2d60: 28 21 61 72 4c 69 6e 6b 73 5b 6c 4e 61 6d 65 5d (!arLinks[lName]
2d70: 29 09 2f 2f 20 c5 f1 eb e8 20 ff ea ee f0 fc 20 ).// .... .....
2d80: e5 f9 e5 20 ed e5 20 e1 fb eb 20 ee e1 f0 e0 e1 ... .. ... .....
2d90: ee f2 e0 ed 0d 0a 09 09 7b 0d 0a 09 09 09 61 72 ........{.....ar
2da0: 4c 69 6e 6b 73 5b 6c 4e 61 6d 65 5d 3d 31 0d 0a Links[lName]=1..
2db0: 09 09 09 76 61 72 20 6e 65 77 4c 69 6e 6b 20 3d ...var newLink =
2dc0: 20 74 68 69 73 2e 46 69 6c 65 4e 61 6d 65 20 2b this.FileName +
2dd0: 20 28 28 74 68 69 73 2e 49 73 54 6f 70 69 63 20 ((this.IsTopic
2de0: 26 26 20 6c 4e 61 6d 65 3d 3d 74 68 69 73 2e 41 && lName==this.A
2df0: 6e 63 68 6f 72 29 3f 22 22 3a 22 23 22 2b 6c 4e nchor)?"":"#"+lN
2e00: 61 6d 65 29 0d 0a 09 09 09 76 61 72 20 6c 69 6e ame).....var lin
2e10: 6b 73 3d 6e 6f 64 65 44 6f 63 75 6d 65 6e 74 2e ks=nodeDocument.
2e20: 73 65 6c 65 63 74 4e 6f 64 65 73 28 22 2e 2f 2f selectNodes(".//
2e30: 61 5b 40 68 72 65 66 3d 27 23 22 2b 6c 4e 61 6d a[@href='#"+lNam
2e40: 65 2b 22 27 5d 22 29 0d 0a 09 09 09 66 6f 72 28 e+"']").....for(
2e50: 76 61 72 20 6a 3d 30 3b 6a 3c 6c 69 6e 6b 73 2e var j=0;j<links.
2e60: 6c 65 6e 67 74 68 3b 6a 2b 2b 29 0d 0a 09 09 09 length;j++).....
2e70: 09 53 65 74 41 74 74 72 69 62 28 6c 69 6e 6b 73 .SetAttrib(links
2e80: 2e 69 74 65 6d 28 6a 29 2c 20 22 68 72 65 66 22 .item(j), "href"
2e90: 2c 20 6e 65 77 4c 69 6e 6b 29 0d 0a 09 09 7d 0d , newLink)....}.
2ea0: 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 2f 2a 0d 0a c2 fb ..}..}..../*....
2eb0: ef ee eb ed ff e5 f2 20 f1 f2 e0 ed e4 e0 f0 f2 ....... ........
2ec0: ed fb e5 20 e7 e0 ec e5 ed fb 20 e2 20 63 68 6d ... ...... . chm
2ed0: 69 6e 66 6f 0d 0a 3c 61 20 68 72 65 66 3d 22 73 info..<a href="s
2ee0: 65 6c 66 7c 6e 65 78 74 7c 70 72 65 76 7c 70 61 elf|next|prev|pa
2ef0: 72 65 6e 74 5b 6e 5d 7c 68 6f 6d 65 22 3e 20 2d rent[n]|home"> -
2f00: 20 3c 61 20 68 72 65 66 3d 22 46 69 6c 65 4e 61 <a href="FileNa
2f10: 6d 65 22 3e 0d 0a 3c 74 69 74 6c 65 20 74 6f 3d me">..<title to=
2f20: 22 73 65 6c 66 7c 73 65 6c 66 72 65 6d 6f 76 65 "self|selfremove
2f30: 7c 6e 65 78 74 7c 70 72 65 76 7c 70 61 72 65 6e |next|prev|paren
2f40: 74 5b 6e 5d 7c 68 6f 6d 65 22 2f 3e 20 2d 20 22 t[n]|home"/> - "
2f50: 54 6f 70 69 63 20 54 69 74 6c 65 22 0d 0a 3c 63 Topic Title"..<c
2f60: 68 6d 6c 69 6e 6b 3e 0d 0a 2a 2f 0d 0a 0d 0a 66 hmlink>..*/....f
2f70: 75 6e 63 74 69 6f 6e 20 44 6f 63 53 65 63 74 69 unction DocSecti
2f80: 6f 6e 5f 4d 61 6b 65 53 75 62 73 74 28 29 0d 0a on_MakeSubst()..
2f90: 7b 0d 0a 09 76 61 72 20 70 3d 74 68 69 73 3b 0d {...var p=this;.
2fa0: 0a 09 77 68 69 6c 65 28 21 70 2e 49 73 54 6f 70 ..while(!p.IsTop
2fb0: 69 63 29 0d 0a 09 09 70 3d 70 2e 70 61 72 65 6e ic)....p=p.paren
2fc0: 74 3b 0d 0a 09 76 61 72 20 72 65 66 53 65 6c 66 t;...var refSelf
2fd0: 3d 70 2e 53 65 63 74 69 6f 6e 4e 75 6d 0d 0a 09 =p.SectionNum...
2fe0: 76 61 72 20 72 65 66 50 72 65 76 3d 72 65 66 53 var refPrev=refS
2ff0: 65 6c 66 2d 31 0d 0a 09 77 68 69 6c 65 28 72 65 elf-1...while(re
3000: 66 50 72 65 76 20 3e 3d 20 30 20 26 26 20 21 53 fPrev >= 0 && !S
3010: 65 63 74 69 6f 6e 46 72 6f 6d 50 61 72 65 6e 74 ectionFromParent
3020: 5b 72 65 66 50 72 65 76 5d 2e 49 73 54 6f 70 69 [refPrev].IsTopi
3030: 63 29 0d 0a 09 09 72 65 66 50 72 65 76 2d 2d 0d c)....refPrev--.
3040: 0a 09 76 61 72 20 72 65 66 4e 65 78 74 3d 72 65 ..var refNext=re
3050: 66 53 65 6c 66 2b 31 0d 0a 09 77 68 69 6c 65 28 fSelf+1...while(
3060: 72 65 66 4e 65 78 74 3c 53 65 63 74 69 6f 6e 46 refNext<SectionF
3070: 72 6f 6d 50 61 72 65 6e 74 2e 6c 65 6e 67 74 68 romParent.length
3080: 20 26 26 20 21 53 65 63 74 69 6f 6e 46 72 6f 6d && !SectionFrom
3090: 50 61 72 65 6e 74 5b 72 65 66 4e 65 78 74 5d 2e Parent[refNext].
30a0: 49 73 54 6f 70 69 63 29 0d 0a 09 09 72 65 66 4e IsTopic)....refN
30b0: 65 78 74 2b 2b 0d 0a 09 0d 0a 09 76 61 72 20 66 ext++......var f
30c0: 6e 64 3d 74 68 69 73 2e 63 68 6d 69 6e 66 6f 2e nd=this.chminfo.
30d0: 73 65 6c 65 63 74 4e 6f 64 65 73 28 22 2e 2f 2f selectNodes(".//
30e0: 61 22 29 0d 0a 09 66 6f 72 28 76 61 72 20 69 3d a")...for(var i=
30f0: 30 3b 69 3c 66 6e 64 2e 6c 65 6e 67 74 68 3b 69 0;i<fnd.length;i
3100: 2b 2b 29 0d 0a 09 7b 0d 0a 09 09 76 61 72 20 61 ++)...{....var a
3110: 3d 66 6e 64 2e 69 74 65 6d 28 69 29 0d 0a 09 09 =fnd.item(i)....
3120: 76 61 72 20 68 72 65 66 3d 47 65 74 41 74 74 72 var href=GetAttr
3130: 69 62 28 61 2c 20 22 68 72 65 66 22 29 0d 0a 09 ib(a, "href")...
3140: 09 69 66 28 68 72 65 66 3d 3d 22 73 65 6c 66 22 .if(href=="self"
3150: 29 0d 0a 09 09 09 53 65 74 41 74 74 72 69 62 28 ).....SetAttrib(
3160: 61 2c 20 22 68 72 65 66 22 2c 20 70 2e 46 69 6c a, "href", p.Fil
3170: 65 4e 61 6d 65 29 0d 0a 09 09 65 6c 73 65 20 69 eName)....else i
3180: 66 28 68 72 65 66 3d 3d 22 6e 65 78 74 22 29 0d f(href=="next").
3190: 0a 09 09 09 53 65 74 41 74 74 72 69 62 28 61 2c ....SetAttrib(a,
31a0: 20 22 68 72 65 66 22 2c 20 72 65 66 4e 65 78 74 "href", refNext
31b0: 3c 53 65 63 74 69 6f 6e 46 72 6f 6d 50 61 72 65 <SectionFromPare
31c0: 6e 74 2e 6c 65 6e 67 74 68 3f 20 53 65 63 74 69 nt.length? Secti
31d0: 6f 6e 46 72 6f 6d 50 61 72 65 6e 74 5b 72 65 66 onFromParent[ref
31e0: 4e 65 78 74 5d 2e 46 69 6c 65 4e 61 6d 65 3a 22 Next].FileName:"
31f0: 22 29 0d 0a 09 09 65 6c 73 65 20 69 66 28 68 72 ")....else if(hr
3200: 65 66 3d 3d 22 70 72 65 76 22 29 0d 0a 09 09 09 ef=="prev").....
3210: 53 65 74 41 74 74 72 69 62 28 61 2c 20 22 68 72 SetAttrib(a, "hr
3220: 65 66 22 2c 20 72 65 66 50 72 65 76 3e 3d 30 3f ef", refPrev>=0?
3230: 20 53 65 63 74 69 6f 6e 46 72 6f 6d 50 61 72 65 SectionFromPare
3240: 6e 74 5b 72 65 66 50 72 65 76 5d 2e 46 69 6c 65 nt[refPrev].File
3250: 4e 61 6d 65 3a 22 22 29 0d 0a 09 09 65 6c 73 65 Name:"")....else
3260: 20 69 66 28 68 72 65 66 3d 3d 22 68 6f 6d 65 22 if(href=="home"
3270: 29 0d 0a 09 09 09 53 65 74 41 74 74 72 69 62 28 ).....SetAttrib(
3280: 61 2c 20 22 68 72 65 66 22 2c 20 53 65 63 74 69 a, "href", Secti
3290: 6f 6e 46 72 6f 6d 50 61 72 65 6e 74 5b 30 5d 2e onFromParent[0].
32a0: 46 69 6c 65 4e 61 6d 65 29 0d 0a 09 09 65 6c 73 FileName)....els
32b0: 65 20 69 66 28 68 72 65 66 2e 6d 61 74 63 68 28 e if(href.match(
32c0: 2f 5e 70 61 72 65 6e 74 28 3f 3a 5c 5b 5c 64 2b /^parent(?:\[\d+
32d0: 5c 5d 24 7c 24 29 2f 29 29 0d 0a 09 09 7b 0d 0a \]$|$)/))....{..
32e0: 09 09 09 76 61 72 20 6c 65 76 65 6c 3d 68 72 65 ...var level=hre
32f0: 66 2e 6d 61 74 63 68 28 2f 5c 64 2b 2f 29 0d 0a f.match(/\d+/)..
3300: 09 09 09 6c 65 76 65 6c 3d 6c 65 76 65 6c 3f 70 ...level=level?p
3310: 61 72 73 65 49 6e 74 28 6c 65 76 65 6c 5b 30 5d arseInt(level[0]
3320: 29 3a 30 0d 0a 09 09 09 76 61 72 20 70 61 72 3d ):0.....var par=
3330: 70 2e 70 61 72 65 6e 74 0d 0a 09 09 09 77 68 69 p.parent.....whi
3340: 6c 65 28 6c 65 76 65 6c 20 26 26 20 70 61 72 29 le(level && par)
3350: 0d 0a 09 09 09 7b 0d 0a 09 09 09 09 70 61 72 3d .....{......par=
3360: 70 61 72 2e 70 61 72 65 6e 74 0d 0a 09 09 09 09 par.parent......
3370: 6c 65 76 65 6c 2d 2d 0d 0a 09 09 09 7d 0d 0a 09 level--.....}...
3380: 09 09 53 65 74 41 74 74 72 69 62 28 61 2c 20 22 ..SetAttrib(a, "
3390: 68 72 65 66 22 2c 20 70 61 72 3f 70 61 72 2e 46 href", par?par.F
33a0: 69 6c 65 4e 61 6d 65 3a 22 22 29 0d 0a 09 09 7d ileName:"")....}
33b0: 0d 0a 09 7d 0d 0a 09 0d 0a 09 76 61 72 20 72 65 ...}......var re
33c0: 6d 6f 76 65 54 69 74 6c 65 3d 66 61 6c 73 65 0d moveTitle=false.
33d0: 0a 09 66 6e 64 3d 74 68 69 73 2e 63 68 6d 69 6e ..fnd=this.chmin
33e0: 66 6f 2e 73 65 6c 65 63 74 4e 6f 64 65 73 28 22 fo.selectNodes("
33f0: 2e 2f 2f 74 69 74 6c 65 22 29 0d 0a 09 66 6f 72 .//title")...for
3400: 28 76 61 72 20 69 3d 30 3b 69 3c 66 6e 64 2e 6c (var i=0;i<fnd.l
3410: 65 6e 67 74 68 3b 69 2b 2b 29 0d 0a 09 7b 0d 0a ength;i++)...{..
3420: 09 09 76 61 72 20 74 3d 66 6e 64 2e 69 74 65 6d ..var t=fnd.item
3430: 28 69 29 0d 0a 09 09 76 61 72 20 74 69 74 6c 65 (i)....var title
3440: 3d 47 65 74 41 74 74 72 69 62 28 74 2c 20 22 74 =GetAttrib(t, "t
3450: 6f 22 29 0d 0a 09 09 69 66 28 74 69 74 6c 65 3d o")....if(title=
3460: 3d 22 73 65 6c 66 22 29 0d 0a 09 09 09 74 2e 70 ="self").....t.p
3470: 61 72 65 6e 74 4e 6f 64 65 2e 72 65 70 6c 61 63 arentNode.replac
3480: 65 43 68 69 6c 64 28 78 6d 6c 2e 63 72 65 61 74 eChild(xml.creat
3490: 65 54 65 78 74 4e 6f 64 65 28 70 2e 54 69 74 6c eTextNode(p.Titl
34a0: 65 29 2c 20 74 29 0d 0a 09 09 65 6c 73 65 20 69 e), t)....else i
34b0: 66 28 74 69 74 6c 65 3d 3d 22 73 65 6c 66 72 65 f(title=="selfre
34c0: 6d 6f 76 65 22 29 0d 0a 09 09 7b 0d 0a 09 09 09 move")....{.....
34d0: 74 2e 70 61 72 65 6e 74 4e 6f 64 65 2e 72 65 70 t.parentNode.rep
34e0: 6c 61 63 65 43 68 69 6c 64 28 78 6d 6c 2e 63 72 laceChild(xml.cr
34f0: 65 61 74 65 54 65 78 74 4e 6f 64 65 28 70 2e 54 eateTextNode(p.T
3500: 69 74 6c 65 29 2c 20 74 29 0d 0a 09 09 09 72 65 itle), t).....re
3510: 6d 6f 76 65 54 69 74 6c 65 3d 74 72 75 65 0d 0a moveTitle=true..
3520: 09 09 7d 0d 0a 09 09 65 6c 73 65 20 69 66 28 74 ..}....else if(t
3530: 69 74 6c 65 3d 3d 22 70 72 65 76 22 29 0d 0a 09 itle=="prev")...
3540: 09 09 74 2e 70 61 72 65 6e 74 4e 6f 64 65 2e 72 ..t.parentNode.r
3550: 65 70 6c 61 63 65 43 68 69 6c 64 28 78 6d 6c 2e eplaceChild(xml.
3560: 63 72 65 61 74 65 54 65 78 74 4e 6f 64 65 28 72 createTextNode(r
3570: 65 66 50 72 65 76 3e 3d 30 3f 20 53 65 63 74 69 efPrev>=0? Secti
3580: 6f 6e 46 72 6f 6d 50 61 72 65 6e 74 5b 72 65 66 onFromParent[ref
3590: 50 72 65 76 5d 2e 54 69 74 6c 65 3a 22 22 29 2c Prev].Title:""),
35a0: 20 74 29 0d 0a 09 09 65 6c 73 65 20 69 66 28 74 t)....else if(t
35b0: 69 74 6c 65 3d 3d 22 6e 65 78 74 22 29 0d 0a 09 itle=="next")...
35c0: 09 09 74 2e 70 61 72 65 6e 74 4e 6f 64 65 2e 72 ..t.parentNode.r
35d0: 65 70 6c 61 63 65 43 68 69 6c 64 28 78 6d 6c 2e eplaceChild(xml.
35e0: 63 72 65 61 74 65 54 65 78 74 4e 6f 64 65 28 72 createTextNode(r
35f0: 65 66 4e 65 78 74 3c 53 65 63 74 69 6f 6e 46 72 efNext<SectionFr
3600: 6f 6d 50 61 72 65 6e 74 2e 6c 65 6e 67 74 68 3f omParent.length?
3610: 20 53 65 63 74 69 6f 6e 46 72 6f 6d 50 61 72 65 SectionFromPare
3620: 6e 74 5b 72 65 66 4e 65 78 74 5d 2e 54 69 74 6c nt[refNext].Titl
3630: 65 3a 22 22 29 2c 20 74 29 0d 0a 09 09 65 6c 73 e:""), t)....els
3640: 65 20 69 66 28 74 69 74 6c 65 3d 3d 22 68 6f 6d e if(title=="hom
3650: 65 22 29 0d 0a 09 09 09 74 2e 70 61 72 65 6e 74 e").....t.parent
3660: 4e 6f 64 65 2e 72 65 70 6c 61 63 65 43 68 69 6c Node.replaceChil
3670: 64 28 78 6d 6c 2e 63 72 65 61 74 65 54 65 78 74 d(xml.createText
3680: 4e 6f 64 65 28 53 65 63 74 69 6f 6e 46 72 6f 6d Node(SectionFrom
3690: 50 61 72 65 6e 74 5b 30 5d 2e 54 69 74 6c 65 29 Parent[0].Title)
36a0: 2c 20 74 29 0d 0a 09 09 65 6c 73 65 20 69 66 28 , t)....else if(
36b0: 74 69 74 6c 65 2e 6d 61 74 63 68 28 2f 5e 70 61 title.match(/^pa
36c0: 72 65 6e 74 28 3f 3a 5c 5b 5c 64 2b 5c 5d 24 7c rent(?:\[\d+\]$|
36d0: 24 29 2f 29 29 0d 0a 09 09 7b 0d 0a 09 09 09 76 $)/))....{.....v
36e0: 61 72 20 6c 65 76 65 6c 3d 74 69 74 6c 65 2e 6d ar level=title.m
36f0: 61 74 63 68 28 2f 5c 64 2b 2f 29 0d 0a 09 09 09 atch(/\d+/).....
3700: 6c 65 76 65 6c 3d 6c 65 76 65 6c 3f 70 61 72 73 level=level?pars
3710: 65 49 6e 74 28 6c 65 76 65 6c 5b 30 5d 29 3a 30 eInt(level[0]):0
3720: 0d 0a 09 09 09 76 61 72 20 70 61 72 3d 70 2e 70 .....var par=p.p
3730: 61 72 65 6e 74 0d 0a 09 09 09 77 68 69 6c 65 28 arent.....while(
3740: 6c 65 76 65 6c 20 26 26 20 70 61 72 29 0d 0a 09 level && par)...
3750: 09 09 7b 0d 0a 09 09 09 09 70 61 72 3d 70 61 72 ..{......par=par
3760: 2e 70 61 72 65 6e 74 0d 0a 09 09 09 09 6c 65 76 .parent......lev
3770: 65 6c 2d 2d 0d 0a 09 09 09 7d 0d 0a 09 09 09 74 el--.....}.....t
3780: 2e 70 61 72 65 6e 74 4e 6f 64 65 2e 72 65 70 6c .parentNode.repl
3790: 61 63 65 43 68 69 6c 64 28 78 6d 6c 2e 63 72 65 aceChild(xml.cre
37a0: 61 74 65 54 65 78 74 4e 6f 64 65 28 70 61 72 3f ateTextNode(par?
37b0: 70 61 72 2e 54 69 74 6c 65 3a 22 22 29 2c 20 74 par.Title:""), t
37c0: 29 0d 0a 09 09 7d 0d 0a 09 7d 0d 0a 09 69 66 28 )....}...}...if(
37d0: 72 65 6d 6f 76 65 54 69 74 6c 65 20 26 26 20 74 removeTitle && t
37e0: 68 69 73 2e 49 73 54 6f 70 69 63 20 26 26 20 74 his.IsTopic && t
37f0: 68 69 73 2e 6e 54 69 74 6c 65 29 0d 0a 09 7b 0d his.nTitle)...{.
3800: 0a 09 09 76 61 72 20 6e 54 69 74 6c 65 3d 74 68 ...var nTitle=th
3810: 69 73 2e 6e 54 69 74 6c 65 2e 70 61 72 65 6e 74 is.nTitle.parent
3820: 4e 6f 64 65 0d 0a 09 09 6e 54 69 74 6c 65 2e 70 Node....nTitle.p
3830: 61 72 65 6e 74 4e 6f 64 65 2e 72 65 6d 6f 76 65 arentNode.remove
3840: 43 68 69 6c 64 28 6e 54 69 74 6c 65 29 0d 0a 09 Child(nTitle)...
3850: 7d 0d 0a 0d 0a 09 76 61 72 20 63 68 6d 4c 69 6e }.....var chmLin
3860: 6b 73 3d 74 68 69 73 2e 63 68 6d 69 6e 66 6f 2e ks=this.chminfo.
3870: 73 65 6c 65 63 74 4e 6f 64 65 73 28 22 2e 2f 2f selectNodes(".//
3880: 63 68 6d 6c 69 6e 6b 22 29 0d 0a 09 66 6f 72 28 chmlink")...for(
3890: 76 61 72 20 69 3d 30 3b 69 3c 63 68 6d 4c 69 6e var i=0;i<chmLin
38a0: 6b 73 2e 6c 65 6e 67 74 68 3b 69 2b 2b 29 0d 0a ks.length;i++)..
38b0: 09 7b 0d 0a 09 09 76 61 72 20 6c 69 6e 6b 3d 63 .{....var link=c
38c0: 68 6d 4c 69 6e 6b 73 2e 69 74 65 6d 28 69 29 0d hmLinks.item(i).
38d0: 0a 09 09 76 61 72 20 6b 65 79 77 6f 72 64 73 3d ...var keywords=
38e0: 22 22 0d 0a 09 09 76 61 72 20 6b 65 79 73 3d 6c ""....var keys=l
38f0: 69 6e 6b 2e 73 65 6c 65 63 74 53 69 6e 67 6c 65 ink.selectSingle
3900: 4e 6f 64 65 28 22 6b 65 79 73 22 29 0d 0a 09 09 Node("keys")....
3910: 69 66 28 6b 65 79 73 29 0d 0a 09 09 09 6b 65 79 if(keys).....key
3920: 77 6f 72 64 73 3d 6b 65 79 73 2e 74 65 78 74 2e words=keys.text.
3930: 72 65 70 6c 61 63 65 28 2f 5e 5c 73 2b 7c 5c 73 replace(/^\s+|\s
3940: 2b 24 2f 67 2c 20 22 22 29 0d 0a 09 09 69 66 28 +$/g, "")....if(
3950: 21 6b 65 79 77 6f 72 64 73 2e 6c 65 6e 67 74 68 !keywords.length
3960: 29 0d 0a 09 09 09 6c 69 6e 6b 2e 70 61 72 65 6e ).....link.paren
3970: 74 4e 6f 64 65 2e 72 65 6d 6f 76 65 43 68 69 6c tNode.removeChil
3980: 64 28 6c 69 6e 6b 29 0d 0a 09 09 65 6c 73 65 0d d(link)....else.
3990: 0a 09 09 7b 0d 0a 09 09 09 76 61 72 20 72 65 66 ...{.....var ref
39a0: 4e 61 6d 65 3d 47 65 74 41 74 74 72 69 62 28 6c Name=GetAttrib(l
39b0: 69 6e 6b 2c 20 22 74 79 70 65 22 29 0d 0a 09 09 ink, "type")....
39c0: 09 76 61 72 20 6f 62 6a 3d 78 6d 6c 2e 63 72 65 .var obj=xml.cre
39d0: 61 74 65 45 6c 65 6d 65 6e 74 28 22 6f 62 6a 65 ateElement("obje
39e0: 63 74 22 29 0d 0a 09 09 09 76 61 72 20 69 64 4e ct").....var idN
39f0: 61 6d 65 3d 22 68 68 6c 69 6e 6b 22 2b 72 65 66 ame="hhlink"+ref
3a00: 4e 61 6d 65 2b 69 0d 0a 09 09 09 53 65 74 41 74 Name+i.....SetAt
3a10: 74 72 69 62 28 6f 62 6a 2c 20 22 69 64 22 2c 20 trib(obj, "id",
3a20: 69 64 4e 61 6d 65 29 0d 0a 09 09 09 53 65 74 41 idName).....SetA
3a30: 74 74 72 69 62 28 6f 62 6a 2c 20 22 63 6c 61 73 ttrib(obj, "clas
3a40: 73 69 64 22 2c 20 22 63 6c 73 69 64 3a 61 64 62 sid", "clsid:adb
3a50: 38 38 30 61 36 2d 64 38 66 66 2d 31 31 63 66 2d 880a6-d8ff-11cf-
3a60: 39 33 37 37 2d 30 30 61 61 30 30 33 62 37 61 31 9377-00aa003b7a1
3a70: 31 22 29 0d 0a 09 09 09 53 65 74 41 74 74 72 69 1").....SetAttri
3a80: 62 28 6f 62 6a 2c 20 22 74 79 70 65 22 2c 20 22 b(obj, "type", "
3a90: 61 70 70 6c 69 63 61 74 69 6f 6e 2f 78 2d 6f 6c application/x-ol
3aa0: 65 6f 62 6a 65 63 74 22 29 0d 0a 09 09 09 76 61 eobject").....va
3ab0: 72 20 70 61 72 61 6d 3d 78 6d 6c 2e 63 72 65 61 r param=xml.crea
3ac0: 74 65 45 6c 65 6d 65 6e 74 28 22 70 61 72 61 6d teElement("param
3ad0: 22 29 0d 0a 09 09 09 53 65 74 41 74 74 72 69 62 ").....SetAttrib
3ae0: 28 70 61 72 61 6d 2c 20 22 6e 61 6d 65 22 2c 20 (param, "name",
3af0: 22 43 6f 6d 6d 61 6e 64 22 29 0d 0a 09 09 09 53 "Command").....S
3b00: 65 74 41 74 74 72 69 62 28 70 61 72 61 6d 2c 20 etAttrib(param,
3b10: 22 76 61 6c 75 65 22 2c 20 72 65 66 4e 61 6d 65 "value", refName
3b20: 29 0d 0a 09 09 09 6f 62 6a 2e 61 70 70 65 6e 64 ).....obj.append
3b30: 43 68 69 6c 64 28 70 61 72 61 6d 29 0d 0a 09 09 Child(param)....
3b40: 09 70 61 72 61 6d 3d 78 6d 6c 2e 63 72 65 61 74 .param=xml.creat
3b50: 65 45 6c 65 6d 65 6e 74 28 22 70 61 72 61 6d 22 eElement("param"
3b60: 29 0d 0a 09 09 09 53 65 74 41 74 74 72 69 62 28 ).....SetAttrib(
3b70: 70 61 72 61 6d 2c 20 22 6e 61 6d 65 22 2c 20 22 param, "name", "
3b80: 49 74 65 6d 31 22 29 0d 0a 09 09 09 53 65 74 41 Item1").....SetA
3b90: 74 74 72 69 62 28 70 61 72 61 6d 2c 20 22 76 61 ttrib(param, "va
3ba0: 6c 75 65 22 2c 20 22 22 29 0d 0a 09 09 09 6f 62 lue", "").....ob
3bb0: 6a 2e 61 70 70 65 6e 64 43 68 69 6c 64 28 70 61 j.appendChild(pa
3bc0: 72 61 6d 29 0d 0a 09 09 09 6b 65 79 77 6f 72 64 ram).....keyword
3bd0: 73 3d 6b 65 79 77 6f 72 64 73 2e 73 70 6c 69 74 s=keywords.split
3be0: 28 2f 5b 5c 72 5c 6e 5d 2f 29 0d 0a 09 09 09 66 (/[\r\n]/).....f
3bf0: 6f 72 28 76 61 72 20 6a 3d 30 3b 6a 3c 6b 65 79 or(var j=0;j<key
3c00: 77 6f 72 64 73 2e 6c 65 6e 67 74 68 3b 6a 2b 2b words.length;j++
3c10: 29 0d 0a 09 09 09 7b 0d 0a 09 09 09 09 70 61 72 ).....{......par
3c20: 61 6d 3d 78 6d 6c 2e 63 72 65 61 74 65 45 6c 65 am=xml.createEle
3c30: 6d 65 6e 74 28 22 70 61 72 61 6d 22 29 0d 0a 09 ment("param")...
3c40: 09 09 09 53 65 74 41 74 74 72 69 62 28 70 61 72 ...SetAttrib(par
3c50: 61 6d 2c 20 22 6e 61 6d 65 22 2c 20 22 49 74 65 am, "name", "Ite
3c60: 6d 22 2b 28 6a 2b 32 29 29 0d 0a 09 09 09 09 53 m"+(j+2))......S
3c70: 65 74 41 74 74 72 69 62 28 70 61 72 61 6d 2c 20 etAttrib(param,
3c80: 22 76 61 6c 75 65 22 2c 20 6b 65 79 77 6f 72 64 "value", keyword
3c90: 73 5b 6a 5d 2e 72 65 70 6c 61 63 65 28 2f 5e 5c s[j].replace(/^\
3ca0: 73 2b 7c 5c 73 2b 24 2f 67 2c 20 22 22 29 29 0d s+|\s+$/g, "")).
3cb0: 0a 09 09 09 09 6f 62 6a 2e 61 70 70 65 6e 64 43 .....obj.appendC
3cc0: 68 69 6c 64 28 70 61 72 61 6d 29 0d 0a 09 09 09 hild(param).....
3cd0: 7d 0d 0a 09 09 09 6b 65 79 73 2e 70 61 72 65 6e }.....keys.paren
3ce0: 74 4e 6f 64 65 2e 72 65 70 6c 61 63 65 43 68 69 tNode.replaceChi
3cf0: 6c 64 28 6f 62 6a 2c 20 6b 65 79 73 29 0d 0a 09 ld(obj, keys)...
3d00: 09 09 76 61 72 20 61 3d 6c 69 6e 6b 2e 73 65 6c ..var a=link.sel
3d10: 65 63 74 4e 6f 64 65 73 28 22 2e 2f 2f 61 5b 40 ectNodes(".//a[@
3d20: 68 72 65 66 3d 27 63 6c 69 63 6b 27 5d 22 29 0d href='click']").
3d30: 0a 09 09 09 66 6f 72 28 76 61 72 20 6a 3d 30 3b ....for(var j=0;
3d40: 6a 3c 61 2e 6c 65 6e 67 74 68 3b 6a 2b 2b 29 0d j<a.length;j++).
3d50: 0a 09 09 09 09 53 65 74 41 74 74 72 69 62 28 61 .....SetAttrib(a
3d60: 2e 69 74 65 6d 28 6a 29 2c 20 22 68 72 65 66 22 .item(j), "href"
3d70: 2c 20 22 4a 61 76 61 53 63 72 69 70 74 3a 22 2b , "JavaScript:"+
3d80: 69 64 4e 61 6d 65 2b 22 2e 43 6c 69 63 6b 28 29 idName+".Click()
3d90: 22 29 0d 0a 09 09 09 5f 43 6f 70 79 43 68 69 6c ")....._CopyChil
3da0: 64 73 28 6c 69 6e 6b 2c 20 6c 69 6e 6b 2c 20 74 ds(link, link, t
3db0: 72 75 65 29 0d 0a 09 09 7d 0d 0a 09 7d 0d 0a 7d rue)....}...}..}
3dc0: 0d 0a 0d 0a 2f 2f 20 d4 f3 ed ea f6 e8 ff 20 f4 ....// ....... .
3dd0: ee f0 ec e8 f0 f3 e5 f2 20 f1 f1 fb eb ea f3 20 ........ ......
3de0: ed e0 20 fd f2 ee f2 20 f2 ee ef e8 ea 0d 0a 2f .. .... ......./
3df0: 2f 20 e8 20 e2 ee e7 e2 f0 e0 f9 e0 e5 f2 20 e5 / . .......... .
3e00: e5 20 e2 e2 e8 e4 e5 20 f3 e7 eb e0 20 3c 68 72 . ..... .... <hr
3e10: 65 66 69 74 65 6d 3e 0d 0a 66 75 6e 63 74 69 6f efitem>..functio
3e20: 6e 20 44 6f 63 53 65 63 74 69 6f 6e 5f 4d 61 6b n DocSection_Mak
3e30: 65 48 72 65 66 28 29 0d 0a 7b 0d 0a 09 69 66 28 eHref()..{...if(
3e40: 21 74 68 69 73 2e 70 61 72 65 6e 74 29 0d 0a 09 !this.parent)...
3e50: 09 72 65 74 75 72 6e 20 6e 75 6c 6c 0d 0a 09 76 .return null...v
3e60: 61 72 20 68 72 65 66 3d 74 68 69 73 2e 63 68 6d ar href=this.chm
3e70: 69 6e 66 6f 2e 73 65 6c 65 63 74 53 69 6e 67 6c info.selectSingl
3e80: 65 4e 6f 64 65 28 22 68 72 65 66 22 29 0d 0a 09 eNode("href")...
3e90: 69 66 28 21 68 72 65 66 2e 68 61 73 43 68 69 6c if(!href.hasChil
3ea0: 64 4e 6f 64 65 73 28 29 29 0d 0a 09 09 72 65 74 dNodes())....ret
3eb0: 75 72 6e 20 6e 75 6c 6c 0d 0a 09 76 61 72 20 68 urn null...var h
3ec0: 72 65 66 69 6e 66 6f 3d 78 6d 6c 2e 63 72 65 61 refinfo=xml.crea
3ed0: 74 65 45 6c 65 6d 65 6e 74 28 22 68 72 65 66 69 teElement("hrefi
3ee0: 6e 66 6f 22 29 0d 0a 09 66 6f 72 28 76 61 72 20 nfo")...for(var
3ef0: 69 3d 30 3b 69 3c 68 72 65 66 2e 63 68 69 6c 64 i=0;i<href.child
3f00: 4e 6f 64 65 73 2e 6c 65 6e 67 74 68 3b 69 2b 2b Nodes.length;i++
3f10: 29 0d 0a 09 09 68 72 65 66 69 6e 66 6f 2e 61 70 )....hrefinfo.ap
3f20: 70 65 6e 64 43 68 69 6c 64 28 68 72 65 66 2e 63 pendChild(href.c
3f30: 68 69 6c 64 4e 6f 64 65 73 2e 69 74 65 6d 28 69 hildNodes.item(i
3f40: 29 2e 63 6c 6f 6e 65 4e 6f 64 65 28 74 72 75 65 ).cloneNode(true
3f50: 29 29 0d 0a 09 72 65 74 75 72 6e 20 68 72 65 66 ))...return href
3f60: 69 6e 66 6f 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 info..}....funct
3f70: 69 6f 6e 20 5f 43 6f 70 79 43 68 69 6c 64 73 28 ion _CopyChilds(
3f80: 6e 53 72 63 2c 20 6e 44 73 74 2c 20 62 52 65 6d nSrc, nDst, bRem
3f90: 6f 76 65 29 0d 0a 7b 0d 0a 09 66 6f 72 28 76 61 ove)..{...for(va
3fa0: 72 20 6b 3d 30 3b 6b 3c 6e 53 72 63 2e 63 68 69 r k=0;k<nSrc.chi
3fb0: 6c 64 4e 6f 64 65 73 2e 6c 65 6e 67 74 68 3b 6b ldNodes.length;k
3fc0: 2b 2b 29 0d 0a 09 09 6e 44 73 74 2e 70 61 72 65 ++)....nDst.pare
3fd0: 6e 74 4e 6f 64 65 2e 69 6e 73 65 72 74 42 65 66 ntNode.insertBef
3fe0: 6f 72 65 28 6e 53 72 63 2e 63 68 69 6c 64 4e 6f ore(nSrc.childNo
3ff0: 64 65 73 2e 69 74 65 6d 28 6b 29 2e 63 6c 6f 6e des.item(k).clon
4000: 65 4e 6f 64 65 28 74 72 75 65 29 2c 20 6e 44 73 eNode(true), nDs
4010: 74 29 0d 0a 09 69 66 28 62 52 65 6d 6f 76 65 29 t)...if(bRemove)
4020: 0d 0a 09 09 6e 44 73 74 2e 70 61 72 65 6e 74 4e ....nDst.parentN
4030: 6f 64 65 2e 72 65 6d 6f 76 65 43 68 69 6c 64 28 ode.removeChild(
4040: 6e 44 73 74 29 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 nDst)..}....func
4050: 74 69 6f 6e 20 44 6f 63 53 65 63 74 69 6f 6e 5f tion DocSection_
4060: 43 6f 6d 62 69 6e 65 48 72 65 66 73 28 29 0d 0a CombineHrefs()..
4070: 7b 0d 0a 09 76 61 72 20 63 6f 6d 62 69 6e 65 3d {...var combine=
4080: 74 68 69 73 2e 63 68 6d 69 6e 66 6f 2e 73 65 6c this.chminfo.sel
4090: 65 63 74 53 69 6e 67 6c 65 4e 6f 64 65 28 22 68 ectSingleNode("h
40a0: 72 65 66 63 6f 6d 62 69 6e 65 22 29 0d 0a 0d 0a refcombine")....
40b0: 09 76 61 72 20 68 72 65 66 73 3d 74 68 69 73 2e .var hrefs=this.
40c0: 6e 6f 64 65 2e 73 65 6c 65 63 74 4e 6f 64 65 73 node.selectNodes
40d0: 28 22 2e 2f 2f 68 72 65 66 69 6e 66 6f 22 29 0d (".//hrefinfo").
40e0: 0a 09 0d 0a 09 76 61 72 20 72 65 66 43 6f 6d 62 .....var refComb
40f0: 69 6e 65 64 3d 41 72 72 61 79 28 29 0d 0a 09 66 ined=Array()...f
4100: 6f 72 28 76 61 72 20 69 3d 30 3b 69 3c 68 72 65 or(var i=0;i<hre
4110: 66 73 2e 6c 65 6e 67 74 68 3b 69 2b 2b 29 0d 0a fs.length;i++)..
4120: 09 7b 0d 0a 09 09 76 61 72 20 68 72 65 66 3d 68 .{....var href=h
4130: 72 65 66 73 2e 69 74 65 6d 28 69 29 0d 0a 09 09 refs.item(i)....
4140: 72 65 66 43 6f 6d 62 69 6e 65 64 5b 72 65 66 43 refCombined[refC
4150: 6f 6d 62 69 6e 65 64 2e 6c 65 6e 67 74 68 5d 3d ombined.length]=
4160: 68 72 65 66 0d 0a 09 09 69 66 28 69 3d 3d 68 72 href....if(i==hr
4170: 65 66 73 2e 6c 65 6e 67 74 68 2d 31 20 7c 7c 20 efs.length-1 ||
4180: 21 28 68 72 65 66 2e 6e 65 78 74 53 69 62 6c 69 !(href.nextSibli
4190: 6e 67 20 26 26 20 68 72 65 66 2e 6e 65 78 74 53 ng && href.nextS
41a0: 69 62 6c 69 6e 67 2e 62 61 73 65 4e 61 6d 65 3d ibling.baseName=
41b0: 3d 22 68 72 65 66 69 6e 66 6f 22 20 26 26 20 68 ="hrefinfo" && h
41c0: 72 65 66 2e 6e 65 78 74 53 69 62 6c 69 6e 67 2e ref.nextSibling.
41d0: 70 61 72 65 6e 74 4e 6f 64 65 3d 3d 68 72 65 66 parentNode==href
41e0: 2e 70 61 72 65 6e 74 4e 6f 64 65 29 29 0d 0a 09 .parentNode))...
41f0: 09 7b 0d 0a 09 09 09 76 61 72 20 6e 43 6f 6d 62 .{.....var nComb
4200: 69 6e 65 3d 63 6f 6d 62 69 6e 65 2e 63 6c 6f 6e ine=combine.clon
4210: 65 4e 6f 64 65 28 74 72 75 65 29 0d 0a 09 09 09 eNode(true).....
4220: 76 61 72 20 66 6f 72 65 61 63 68 3d 6e 43 6f 6d var foreach=nCom
4230: 62 69 6e 65 2e 73 65 6c 65 63 74 53 69 6e 67 6c bine.selectSingl
4240: 65 4e 6f 64 65 28 22 2e 2f 2f 66 6f 72 65 61 63 eNode(".//foreac
4250: 68 22 29 0d 0a 09 09 09 69 66 28 21 66 6f 72 65 h").....if(!fore
4260: 61 63 68 29 0d 0a 09 09 09 7b 0d 0a 09 09 09 09 ach).....{......
4270: 66 6f 72 65 61 63 68 3d 78 6d 6c 2e 63 72 65 61 foreach=xml.crea
4280: 74 65 45 6c 65 6d 65 6e 74 28 22 66 6f 72 65 61 teElement("forea
4290: 63 68 22 29 0d 0a 09 09 09 09 6e 43 6f 6d 62 69 ch")......nCombi
42a0: 6e 65 2e 61 70 70 65 6e 64 43 68 69 6c 64 28 66 ne.appendChild(f
42b0: 6f 72 65 61 63 68 29 0d 0a 09 09 09 7d 0d 0a 09 oreach).....}...
42c0: 09 09 66 6f 72 28 76 61 72 20 6a 3d 30 3b 6a 3c ..for(var j=0;j<
42d0: 72 65 66 43 6f 6d 62 69 6e 65 64 2e 6c 65 6e 67 refCombined.leng
42e0: 74 68 3b 6a 2b 2b 29 0d 0a 09 09 09 7b 0d 0a 09 th;j++).....{...
42f0: 09 09 09 76 61 72 20 6e 46 6f 72 45 61 63 68 3d ...var nForEach=
4300: 66 6f 72 65 61 63 68 2e 63 6c 6f 6e 65 4e 6f 64 foreach.cloneNod
4310: 65 28 74 72 75 65 29 0d 0a 09 09 09 09 76 61 72 e(true)......var
4320: 20 6e 49 74 65 6d 3d 6e 46 6f 72 45 61 63 68 2e nItem=nForEach.
4330: 73 65 6c 65 63 74 53 69 6e 67 6c 65 4e 6f 64 65 selectSingleNode
4340: 28 22 2e 2f 2f 69 74 65 6d 22 29 0d 0a 09 09 09 (".//item").....
4350: 09 69 66 28 21 6e 49 74 65 6d 29 0d 0a 09 09 09 .if(!nItem).....
4360: 09 7b 0d 0a 09 09 09 09 09 6e 49 74 65 6d 3d 78 .{.......nItem=x
4370: 6d 6c 2e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 ml.createElement
4380: 28 22 69 74 65 6d 22 29 0d 0a 09 09 09 09 09 6e ("item").......n
4390: 46 6f 72 45 61 63 68 2e 61 70 70 65 6e 64 43 68 ForEach.appendCh
43a0: 69 6c 64 28 6e 49 74 65 6d 29 0d 0a 09 09 09 09 ild(nItem)......
43b0: 7d 0d 0a 09 09 09 09 5f 43 6f 70 79 43 68 69 6c }......_CopyChil
43c0: 64 73 28 72 65 66 43 6f 6d 62 69 6e 65 64 5b 6a ds(refCombined[j
43d0: 5d 2c 20 6e 49 74 65 6d 2c 20 74 72 75 65 29 0d ], nItem, true).
43e0: 0a 09 09 09 09 5f 43 6f 70 79 43 68 69 6c 64 73 ....._CopyChilds
43f0: 28 6e 46 6f 72 45 61 63 68 2c 20 66 6f 72 65 61 (nForEach, forea
4400: 63 68 2c 20 66 61 6c 73 65 29 0d 0a 09 09 09 7d ch, false).....}
4410: 0d 0a 09 09 09 66 6f 72 65 61 63 68 2e 70 61 72 .....foreach.par
4420: 65 6e 74 4e 6f 64 65 2e 72 65 6d 6f 76 65 43 68 entNode.removeCh
4430: 69 6c 64 28 66 6f 72 65 61 63 68 29 0d 0a 09 09 ild(foreach)....
4440: 09 5f 43 6f 70 79 43 68 69 6c 64 73 28 6e 43 6f ._CopyChilds(nCo
4450: 6d 62 69 6e 65 2c 20 72 65 66 43 6f 6d 62 69 6e mbine, refCombin
4460: 65 64 5b 30 5d 2c 20 74 72 75 65 29 0d 0a 09 09 ed[0], true)....
4470: 09 66 6f 72 28 76 61 72 20 6b 3d 31 3b 6b 3c 72 .for(var k=1;k<r
4480: 65 66 43 6f 6d 62 69 6e 65 64 2e 6c 65 6e 67 74 efCombined.lengt
4490: 68 3b 6b 2b 2b 29 0d 0a 09 09 09 09 72 65 66 43 h;k++)......refC
44a0: 6f 6d 62 69 6e 65 64 5b 6b 5d 2e 70 61 72 65 6e ombined[k].paren
44b0: 74 4e 6f 64 65 2e 72 65 6d 6f 76 65 43 68 69 6c tNode.removeChil
44c0: 64 28 72 65 66 43 6f 6d 62 69 6e 65 64 5b 6b 5d d(refCombined[k]
44d0: 29 0d 0a 09 09 09 72 65 66 43 6f 6d 62 69 6e 65 ).....refCombine
44e0: 64 2e 6c 65 6e 67 74 68 3d 30 0d 0a 09 09 7d 0d d.length=0....}.
44f0: 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69 ..}..}....functi
4500: 6f 6e 20 44 6f 63 53 65 63 74 69 6f 6e 5f 50 72 on DocSection_Pr
4510: 6f 63 65 73 73 4b 65 79 77 6f 72 64 73 28 29 0d ocessKeywords().
4520: 0a 7b 0d 0a 09 68 72 65 66 46 6e 61 6d 65 3d 74 .{...hrefFname=t
4530: 68 69 73 2e 46 69 6c 65 4e 61 6d 65 0d 0a 09 69 his.FileName...i
4540: 66 28 21 74 68 69 73 2e 49 73 54 6f 70 69 63 29 f(!this.IsTopic)
4550: 0d 0a 09 09 68 72 65 66 46 6e 61 6d 65 2b 3d 22 ....hrefFname+="
4560: 23 22 2b 74 68 69 73 2e 41 6e 63 68 6f 72 0d 0a #"+this.Anchor..
4570: 09 0d 0a 09 2f 2f 20 ce e1 f0 e0 e1 ee f2 e0 e5 ....// .........
4580: ec 20 4b 4c 69 6e 6b 09 0d 0a 09 76 61 72 20 61 . KLink....var a
4590: 6b 6c 69 6e 6b 73 3d 74 68 69 73 2e 63 68 6d 69 klinks=this.chmi
45a0: 6e 66 6f 2e 73 65 6c 65 63 74 4e 6f 64 65 73 28 nfo.selectNodes(
45b0: 22 6b 6c 69 6e 6b 73 22 29 0d 0a 09 66 6f 72 28 "klinks")...for(
45c0: 76 61 72 20 69 3d 30 3b 69 3c 61 6b 6c 69 6e 6b var i=0;i<aklink
45d0: 73 2e 6c 65 6e 67 74 68 3b 69 2b 2b 29 0d 0a 09 s.length;i++)...
45e0: 7b 0d 0a 09 09 76 61 72 20 6b 65 79 73 3d 61 6b {....var keys=ak
45f0: 6c 69 6e 6b 73 2e 69 74 65 6d 28 69 29 2e 74 65 links.item(i).te
4600: 78 74 2e 73 70 6c 69 74 28 2f 5b 5c 72 5c 6e 5d xt.split(/[\r\n]
4610: 2f 67 29 0d 0a 09 09 66 6f 72 28 76 61 72 20 6b /g)....for(var k
4620: 20 69 6e 20 6b 65 79 73 29 0d 0a 09 09 09 68 68 in keys).....hh
4630: 6b 52 6f 6f 74 2e 41 64 64 4b 65 79 77 6f 72 64 kRoot.AddKeyword
4640: 28 68 72 65 66 46 6e 61 6d 65 2c 20 6b 65 79 73 (hrefFname, keys
4650: 5b 6b 5d 29 0d 0a 09 7d 0d 0a 09 76 61 72 20 61 [k])...}...var a
4660: 6b 77 4d 6f 64 65 3d 70 61 72 73 65 49 6e 74 28 kwMode=parseInt(
4670: 47 65 74 41 74 74 72 69 62 28 74 68 69 73 2e 63 GetAttrib(this.c
4680: 68 6d 69 6e 66 6f 2e 73 65 6c 65 63 74 53 69 6e hminfo.selectSin
4690: 67 6c 65 4e 6f 64 65 28 22 61 75 74 6f 6b 77 22 gleNode("autokw"
46a0: 29 2c 20 22 6d 6f 64 65 22 29 29 0d 0a 0d 0a 09 ), "mode")).....
46b0: 69 66 28 61 6b 77 4d 6f 64 65 20 26 20 31 29 0d if(akwMode & 1).
46c0: 0a 09 09 68 68 6b 52 6f 6f 74 2e 41 64 64 4b 65 ...hhkRoot.AddKe
46d0: 79 77 6f 72 64 28 68 72 65 66 46 6e 61 6d 65 2c yword(hrefFname,
46e0: 20 74 68 69 73 2e 54 69 74 6c 65 2e 72 65 70 6c this.Title.repl
46f0: 61 63 65 28 2f 2c 2f 67 2c 20 22 22 29 29 0d 0a ace(/,/g, ""))..
4700: 09 69 66 28 61 6b 77 4d 6f 64 65 20 26 20 32 29 .if(akwMode & 2)
4710: 0d 0a 09 7b 0d 0a 09 09 76 61 72 20 6b 65 79 73 ...{....var keys
4720: 3d 74 68 69 73 2e 54 69 74 6c 65 2e 73 70 6c 69 =this.Title.spli
4730: 74 28 2f 5b 20 2c 3b 3a 5c 2f 5c 5c 5d 2f 29 0d t(/[ ,;:\/\\]/).
4740: 0a 09 09 66 6f 72 28 76 61 72 20 69 20 69 6e 20 ...for(var i in
4750: 6b 65 79 73 29 0d 0a 09 09 09 68 68 6b 52 6f 6f keys).....hhkRoo
4760: 74 2e 41 64 64 4b 65 79 77 6f 72 64 28 68 72 65 t.AddKeyword(hre
4770: 66 46 6e 61 6d 65 2c 20 6b 65 79 73 5b 69 5d 29 fFname, keys[i])
4780: 0d 0a 09 7d 0d 0a 09 0d 0a 09 2f 2f 20 d2 e5 ef ...}......// ...
4790: e5 f0 fc 20 ee e1 f0 e0 e1 ee f2 e0 e5 ec 20 41 ... .......... A
47a0: 4c 69 6e 6b 0d 0a 09 61 6b 6c 69 6e 6b 73 3d 74 Link...aklinks=t
47b0: 68 69 73 2e 63 68 6d 69 6e 66 6f 2e 73 65 6c 65 his.chminfo.sele
47c0: 63 74 4e 6f 64 65 73 28 22 61 6c 69 6e 6b 73 22 ctNodes("alinks"
47d0: 29 0d 0a 09 69 66 28 21 61 6b 6c 69 6e 6b 73 2e )...if(!aklinks.
47e0: 6c 65 6e 67 74 68 29 0d 0a 09 09 72 65 74 75 72 length)....retur
47f0: 6e 0d 0a 09 69 66 28 21 74 68 69 73 2e 49 73 54 n...if(!this.IsT
4800: 6f 70 69 63 29 0d 0a 09 7b 0d 0a 09 09 2f 2f 20 opic)...{....//
4810: 41 4c 69 6e 6b 20 ed e5 eb fc e7 ff 20 ef f0 e8 ALink ...... ...
4820: e2 ff e7 e0 f2 fc 20 ea 20 ec e5 f1 f2 f3 20 ed ...... . ..... .
4830: e0 20 f1 f2 f0 e0 ed e8 f6 e5 2c 0d 0a 09 09 2f . ........,..../
4840: 2f 20 ef ee fd f2 ee ec f3 20 ef f0 ee f1 f2 ee / ....... ......
4850: 20 ef e5 f0 e5 ea e8 ed e5 ec 20 e8 f5 20 e2 20 ......... .. .
4860: f0 ee e4 e8 f2 e5 eb fc f1 ea e8 e9 20 f2 ee ef ............ ...
4870: e8 ea 2c 0d 0a 09 09 2f 2f 20 ee ed 20 e5 f9 e5 ..,....// .. ...
4880: 20 ed e5 20 ee e1 f0 e0 e1 ee f2 e0 ed 0d 0a 09 .. ............
4890: 09 76 61 72 20 70 61 72 65 6e 74 3d 74 68 69 73 .var parent=this
48a0: 2e 70 61 72 65 6e 74 0d 0a 09 09 77 68 69 6c 65 .parent....while
48b0: 28 21 70 61 72 65 6e 74 2e 49 73 54 6f 70 69 63 (!parent.IsTopic
48c0: 29 0d 0a 09 09 09 70 61 72 65 6e 74 3d 70 61 72 ).....parent=par
48d0: 65 6e 74 2e 70 61 72 65 6e 74 0d 0a 09 09 66 6f ent.parent....fo
48e0: 72 28 76 61 72 20 69 3d 30 3b 69 3c 61 6b 6c 69 r(var i=0;i<akli
48f0: 6e 6b 73 2e 6c 65 6e 67 74 68 3b 69 2b 2b 29 0d nks.length;i++).
4900: 0a 09 09 09 70 61 72 65 6e 74 2e 63 68 6d 69 6e ....parent.chmin
4910: 66 6f 2e 61 70 70 65 6e 64 43 68 69 6c 64 28 61 fo.appendChild(a
4920: 6b 6c 69 6e 6b 73 2e 69 74 65 6d 28 69 29 29 0d klinks.item(i)).
4930: 0a 09 7d 0d 0a 09 65 6c 73 65 0d 0a 09 7b 0d 0a ..}...else...{..
4940: 09 09 2f 2f 20 e2 f1 f2 e0 e2 e8 ec 20 ee e1 fa ..// ....... ...
4950: e5 ea f2 0d 0a 09 09 76 61 72 20 61 6c 6c 6b 65 .......var allke
4960: 79 73 3d 22 22 0d 0a 09 09 66 6f 72 28 76 61 72 ys=""....for(var
4970: 20 69 3d 30 3b 69 3c 61 6b 6c 69 6e 6b 73 2e 6c i=0;i<aklinks.l
4980: 65 6e 67 74 68 3b 69 2b 2b 29 0d 0a 09 09 09 61 ength;i++).....a
4990: 6c 6c 6b 65 79 73 2b 3d 27 5c 6e 27 2b 61 6b 6c llkeys+='\n'+akl
49a0: 69 6e 6b 73 2e 69 74 65 6d 28 69 29 2e 74 65 78 inks.item(i).tex
49b0: 74 0d 0a 09 09 76 61 72 20 6f 62 20 3d 20 78 6d t....var ob = xm
49c0: 6c 2e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 l.createElement(
49d0: 22 6f 62 6a 65 63 74 22 29 0d 0a 09 09 53 65 74 "object")....Set
49e0: 41 74 74 72 69 62 28 6f 62 2c 20 22 74 79 70 65 Attrib(ob, "type
49f0: 22 2c 20 22 61 70 70 6c 69 63 61 74 69 6f 6e 2f ", "application/
4a00: 78 2d 6f 6c 65 6f 62 6a 65 63 74 22 29 0d 0a 09 x-oleobject")...
4a10: 09 53 65 74 41 74 74 72 69 62 28 6f 62 2c 20 22 .SetAttrib(ob, "
4a20: 63 6c 61 73 73 69 64 22 2c 20 22 63 6c 73 69 64 classid", "clsid
4a30: 3a 31 65 32 61 37 62 64 30 2d 64 61 62 39 2d 31 :1e2a7bd0-dab9-1
4a40: 31 64 30 2d 62 39 33 61 2d 30 30 63 30 34 66 63 1d0-b93a-00c04fc
4a50: 39 39 66 39 65 22 29 0d 0a 09 09 76 61 72 20 6b 99f9e")....var k
4a60: 65 79 73 3d 61 6c 6c 6b 65 79 73 2e 73 70 6c 69 eys=allkeys.spli
4a70: 74 28 2f 5b 5c 72 5c 6e 5d 2f 67 29 0d 0a 09 09 t(/[\r\n]/g)....
4a80: 66 6f 72 28 76 61 72 20 69 20 69 6e 20 6b 65 79 for(var i in key
4a90: 73 29 0d 0a 09 09 7b 0d 0a 09 09 09 76 61 72 20 s)....{.....var
4aa0: 6b 65 79 3d 6b 65 79 73 5b 69 5d 2e 72 65 70 6c key=keys[i].repl
4ab0: 61 63 65 28 2f 5e 5c 73 2b 7c 5c 73 2b 24 2f 67 ace(/^\s+|\s+$/g
4ac0: 2c 20 22 22 29 0d 0a 09 09 09 69 66 28 6b 65 79 , "").....if(key
4ad0: 2e 6c 65 6e 67 74 68 29 0d 0a 09 09 09 7b 0d 0a .length).....{..
4ae0: 09 09 09 09 76 61 72 20 70 61 72 61 20 3d 20 78 ....var para = x
4af0: 6d 6c 2e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 ml.createElement
4b00: 28 22 70 61 72 61 6d 22 29 0d 0a 09 09 09 09 53 ("param")......S
4b10: 65 74 41 74 74 72 69 62 28 70 61 72 61 2c 20 22 etAttrib(para, "
4b20: 4e 61 6d 65 22 2c 20 22 41 4c 69 6e 6b 20 4e 61 Name", "ALink Na
4b30: 6d 65 22 29 0d 0a 09 09 09 09 53 65 74 41 74 74 me")......SetAtt
4b40: 72 69 62 28 70 61 72 61 2c 20 22 76 61 6c 75 65 rib(para, "value
4b50: 22 2c 20 6b 65 79 29 0d 0a 09 09 09 09 6f 62 2e ", key)......ob.
4b60: 61 70 70 65 6e 64 43 68 69 6c 64 28 70 61 72 61 appendChild(para
4b70: 29 0d 0a 09 09 09 7d 0d 0a 09 09 7d 0d 0a 09 09 ).....}....}....
4b80: 74 68 69 73 2e 6e 6f 64 65 2e 61 70 70 65 6e 64 this.node.append
4b90: 43 68 69 6c 64 28 6f 62 29 0d 0a 09 7d 0d 0a 7d Child(ob)...}..}
4ba0: 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 44 6f 63 ....function Doc
4bb0: 53 65 63 74 69 6f 6e 5f 4d 61 6b 65 54 6f 63 28 Section_MakeToc(
4bc0: 6e 6f 64 65 29 0d 0a 7b 0d 0a 09 76 61 72 20 72 node)..{...var r
4bd0: 65 73 3d 22 22 0d 0a 09 66 6f 72 28 76 61 72 20 es=""...for(var
4be0: 69 3d 30 3b 69 3c 6e 6f 64 65 2e 63 68 69 6c 64 i=0;i<node.child
4bf0: 4e 6f 64 65 73 2e 6c 65 6e 67 74 68 3b 69 2b 2b Nodes.length;i++
4c00: 29 0d 0a 09 09 72 65 73 2b 3d 74 68 69 73 2e 4d )....res+=this.M
4c10: 61 6b 65 54 6f 63 28 6e 6f 64 65 2e 63 68 69 6c akeToc(node.chil
4c20: 64 4e 6f 64 65 73 2e 69 74 65 6d 28 69 29 29 0d dNodes.item(i)).
4c30: 0a 0d 0a 09 73 77 69 74 63 68 28 6e 6f 64 65 2e ....switch(node.
4c40: 62 61 73 65 4e 61 6d 65 29 0d 0a 09 7b 0d 0a 09 baseName)...{...
4c50: 63 61 73 65 20 22 66 6f 6c 64 65 72 22 3a 0d 0a case "folder":..
4c60: 09 09 72 65 74 75 72 6e 20 27 3c 4c 49 3e 3c 4f ..return '<LI><O
4c70: 42 4a 45 43 54 20 74 79 70 65 3d 22 74 65 78 74 BJECT type="text
4c80: 2f 73 69 74 65 6d 61 70 22 3e 5c 72 5c 6e 27 2b /sitemap">\r\n'+
4c90: 0d 0a 09 09 09 09 27 3c 70 61 72 61 6d 20 6e 61 ......'<param na
4ca0: 6d 65 3d 22 4e 61 6d 65 22 20 76 61 6c 75 65 3d me="Name" value=
4cb0: 22 27 20 2b 20 6e 6f 72 6d 28 47 65 74 41 74 74 "' + norm(GetAtt
4cc0: 72 69 62 28 6e 6f 64 65 2c 20 22 6e 61 6d 65 22 rib(node, "name"
4cd0: 29 29 20 2b 20 27 22 3e 5c 72 5c 6e 27 2b 0d 0a )) + '">\r\n'+..
4ce0: 09 09 09 09 27 3c 2f 4f 42 4a 45 43 54 3e 5c 72 ....'</OBJECT>\r
4cf0: 5c 6e 3c 55 4c 3e 27 2b 72 65 73 2b 22 3c 2f 55 \n<UL>'+res+"</U
4d00: 4c 3e 22 0d 0a 09 63 61 73 65 20 22 6d 65 72 67 L>"...case "merg
4d10: 65 22 3a 0d 0a 09 09 76 61 72 20 66 69 6c 65 3d e":....var file=
4d20: 47 65 74 41 74 74 72 69 62 28 6e 6f 64 65 2c 20 GetAttrib(node,
4d30: 22 66 69 6c 65 22 29 0d 0a 09 09 72 65 74 75 72 "file")....retur
4d40: 6e 20 27 3c 2f 55 4c 3e 3c 4f 42 4a 45 43 54 20 n '</UL><OBJECT
4d50: 74 79 70 65 3d 22 74 65 78 74 2f 73 69 74 65 6d type="text/sitem
4d60: 61 70 22 3e 5c 72 5c 6e 27 2b 0d 0a 09 09 09 27 ap">\r\n'+.....'
4d70: 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 4d 65 72 <param name="Mer
4d80: 67 65 22 20 76 61 6c 75 65 3d 22 27 2b 20 66 69 ge" value="'+ fi
4d90: 6c 65 2b 27 2e 63 68 6d 3a 3a 5c 5c 27 2b 66 69 le+'.chm::\\'+fi
4da0: 6c 65 2b 27 2e 68 68 63 22 3e 5c 72 5c 6e 5c 72 le+'.hhc">\r\n\r
4db0: 5c 6e 27 2b 0d 0a 09 09 09 27 3c 2f 4f 42 4a 45 \n'+.....'</OBJE
4dc0: 43 54 3e 5c 72 5c 6e 3c 55 4c 3e 27 0d 0a 09 63 CT>\r\n<UL>'...c
4dd0: 61 73 65 20 22 73 65 6c 66 22 3a 0d 0a 09 09 74 ase "self":....t
4de0: 68 69 73 2e 63 6e 74 54 69 74 6c 65 3d 74 68 69 his.cntTitle=thi
4df0: 73 2e 63 68 6d 69 6e 66 6f 2e 73 65 6c 65 63 74 s.chminfo.select
4e00: 53 69 6e 67 6c 65 4e 6f 64 65 28 22 63 6e 74 74 SingleNode("cntt
4e10: 69 74 6c 65 22 29 0d 0a 09 09 74 68 69 73 2e 63 itle")....this.c
4e20: 6e 74 54 69 74 6c 65 3d 28 74 68 69 73 2e 63 6e ntTitle=(this.cn
4e30: 74 54 69 74 6c 65 20 26 26 20 74 68 69 73 2e 63 tTitle && this.c
4e40: 6e 74 54 69 74 6c 65 2e 68 61 73 43 68 69 6c 64 ntTitle.hasChild
4e50: 4e 6f 64 65 73 28 29 29 3f 74 68 69 73 2e 63 6e Nodes())?this.cn
4e60: 74 54 69 74 6c 65 2e 74 65 78 74 3a 74 68 69 73 tTitle.text:this
4e70: 2e 54 69 74 6c 65 0d 0a 09 09 76 61 72 20 66 4e .Title....var fN
4e80: 61 6d 65 3d 74 68 69 73 2e 46 69 6c 65 4e 61 6d ame=this.FileNam
4e90: 65 0d 0a 09 09 69 66 28 21 74 68 69 73 2e 49 73 e....if(!this.Is
4ea0: 54 6f 70 69 63 29 0d 0a 09 09 09 66 4e 61 6d 65 Topic).....fName
4eb0: 2b 3d 22 23 22 2b 74 68 69 73 2e 41 6e 63 68 6f +="#"+this.Ancho
4ec0: 72 0d 0a 09 09 69 66 28 72 65 73 2e 6c 65 6e 67 r....if(res.leng
4ed0: 74 68 29 0d 0a 09 09 09 72 65 73 3d 27 3c 55 4c th).....res='<UL
4ee0: 3e 5c 72 5c 6e 27 20 2b 20 72 65 73 20 2b 20 27 >\r\n' + res + '
4ef0: 3c 2f 55 4c 3e 5c 72 5c 6e 27 0d 0a 09 09 72 65 </UL>\r\n'....re
4f00: 74 75 72 6e 20 27 3c 4c 49 3e 3c 4f 42 4a 45 43 turn '<LI><OBJEC
4f10: 54 20 74 79 70 65 3d 22 74 65 78 74 2f 73 69 74 T type="text/sit
4f20: 65 6d 61 70 22 3e 5c 72 5c 6e 27 2b 0d 0a 09 09 emap">\r\n'+....
4f30: 09 09 09 27 3c 70 61 72 61 6d 20 6e 61 6d 65 3d ...'<param name=
4f40: 22 4e 61 6d 65 22 20 76 61 6c 75 65 3d 22 27 20 "Name" value="'
4f50: 2b 20 6e 6f 72 6d 28 74 68 69 73 2e 63 6e 74 54 + norm(this.cntT
4f60: 69 74 6c 65 29 20 2b 20 27 22 3e 5c 72 5c 6e 27 itle) + '">\r\n'
4f70: 2b 0d 0a 09 09 09 09 09 27 3c 70 61 72 61 6d 20 +.......'<param
4f80: 6e 61 6d 65 3d 22 4c 6f 63 61 6c 22 20 76 61 6c name="Local" val
4f90: 75 65 3d 22 27 20 2b 20 66 4e 61 6d 65 20 2b 27 ue="' + fName +'
4fa0: 22 3e 5c 72 5c 6e 27 2b 0d 0a 09 09 09 09 09 27 ">\r\n'+.......'
4fb0: 3c 2f 4f 42 4a 45 43 54 3e 5c 72 5c 6e 27 2b 72 </OBJECT>\r\n'+r
4fc0: 65 73 0d 0a 09 63 61 73 65 20 22 63 68 69 6c 64 es...case "child
4fd0: 73 74 6f 63 22 3a 0d 0a 09 09 72 65 74 75 72 6e stoc":....return
4fe0: 20 74 68 69 73 2e 43 68 69 6c 64 73 43 6f 6e 74 this.ChildsCont
4ff0: 65 6e 74 0d 0a 09 7d 0d 0a 09 72 65 74 75 72 6e ent...}...return
5000: 20 72 65 73 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 res..}....funct
5010: 69 6f 6e 20 44 6f 63 53 65 63 74 69 6f 6e 5f 53 ion DocSection_S
5020: 61 76 65 28 29 0d 0a 7b 0d 0a 09 2f 2f 20 c7 e0 ave()..{...// ..
5030: ec e5 ed e8 ec 20 73 75 62 73 74 27 fb 0d 0a 09 ..... subst'....
5040: 4d 61 6b 65 52 65 70 6c 61 63 65 73 28 74 68 69 MakeReplaces(thi
5050: 73 2e 6e 6f 64 65 2c 20 22 2e 2f 2f 73 75 62 73 s.node, ".//subs
5060: 74 22 29 0d 0a 0d 0a 09 2f 2f 20 d3 e4 e0 eb e8 t").....// .....
5070: ec 20 63 68 6d 69 6e 66 6f 0d 0a 09 74 68 69 73 . chminfo...this
5080: 2e 63 68 6d 69 6e 66 6f 2e 70 61 72 65 6e 74 4e .chminfo.parentN
5090: 6f 64 65 2e 72 65 6d 6f 76 65 43 68 69 6c 64 28 ode.removeChild(
50a0: 74 68 69 73 2e 63 68 6d 69 6e 66 6f 29 0d 0a 0d this.chminfo)...
50b0: 0a 09 2f 2f 20 d1 e4 e5 eb e0 e5 ec 20 e7 e0 ec ..// ....... ...
50c0: e5 ed fb 0d 0a 09 74 68 69 73 2e 4d 61 6b 65 53 ......this.MakeS
50d0: 75 62 73 74 28 29 0d 0a 09 2f 2f 20 ce e1 f0 e0 ubst()...// ....
50e0: e1 ee f2 e0 e5 ec 20 ea eb fe f7 e5 e2 fb e5 20 ...... ........
50f0: f1 eb ee e2 e0 0d 0a 09 74 68 69 73 2e 50 72 6f ........this.Pro
5100: 63 65 73 73 4b 65 79 77 6f 72 64 73 28 29 0d 0a cessKeywords()..
5110: 09 2f 2f 20 ce e1 f0 e0 e1 ee f2 e0 e5 ec 20 f1 .// .......... .
5120: f1 fb eb ea e8 20 e8 e7 20 fd f2 ee e9 20 f1 e5 ..... .. .... ..
5130: ea f6 e8 e8 20 ed e0 20 e4 ee f7 e5 f0 ed e8 e5 .... .. ........
5140: 0d 0a 09 74 68 69 73 2e 43 6f 6d 62 69 6e 65 48 ...this.CombineH
5150: 72 65 66 73 28 29 0d 0a 0d 0a 09 2f 2f 20 ce e1 refs().....// ..
5160: f0 e0 e1 ee f2 ea e0 20 ef ee f1 f2 f0 ee e5 ed ....... ........
5170: e8 ff 20 f1 ee e4 e5 f0 e6 e0 ed e8 ff 0d 0a 09 .. .............
5180: 76 61 72 20 6e 43 6f 6e 74 65 6e 74 73 3d 74 68 var nContents=th
5190: 69 73 2e 63 68 6d 69 6e 66 6f 2e 73 65 6c 65 63 is.chminfo.selec
51a0: 74 53 69 6e 67 6c 65 4e 6f 64 65 28 22 74 6f 63 tSingleNode("toc
51b0: 22 29 0d 0a 09 69 66 28 21 6e 43 6f 6e 74 65 6e ")...if(!nConten
51c0: 74 73 29 0d 0a 09 7b 0d 0a 09 09 6e 43 6f 6e 74 ts)...{....nCont
51d0: 65 6e 74 73 3d 78 6d 6c 2e 63 72 65 61 74 65 45 ents=xml.createE
51e0: 6c 65 6d 65 6e 74 28 22 74 6f 63 22 29 0d 0a 09 lement("toc")...
51f0: 09 76 61 72 20 73 65 6c 66 3d 78 6d 6c 2e 63 72 .var self=xml.cr
5200: 65 61 74 65 45 6c 65 6d 65 6e 74 28 22 73 65 6c eateElement("sel
5210: 66 22 29 0d 0a 09 09 73 65 6c 66 2e 61 70 70 65 f")....self.appe
5220: 6e 64 43 68 69 6c 64 28 78 6d 6c 2e 63 72 65 61 ndChild(xml.crea
5230: 74 65 45 6c 65 6d 65 6e 74 28 22 63 68 69 6c 64 teElement("child
5240: 73 74 6f 63 22 29 29 0d 0a 09 09 6e 43 6f 6e 74 stoc"))....nCont
5250: 65 6e 74 73 2e 61 70 70 65 6e 64 43 68 69 6c 64 ents.appendChild
5260: 28 73 65 6c 66 29 0d 0a 09 7d 0d 0a 09 76 61 72 (self)...}...var
5270: 20 43 6f 6e 74 65 6e 74 73 3d 74 68 69 73 2e 4d Contents=this.M
5280: 61 6b 65 54 6f 63 28 6e 43 6f 6e 74 65 6e 74 73 akeToc(nContents
5290: 29 0d 0a 0d 0a 09 69 66 28 74 68 69 73 2e 70 61 ).....if(this.pa
52a0: 72 65 6e 74 29 0d 0a 09 09 74 68 69 73 2e 70 61 rent)....this.pa
52b0: 72 65 6e 74 2e 43 68 69 6c 64 73 43 6f 6e 74 65 rent.ChildsConte
52c0: 6e 74 2b 3d 43 6f 6e 74 65 6e 74 73 0d 0a 09 65 nt+=Contents...e
52d0: 6c 73 65 0d 0a 09 09 74 68 69 73 2e 43 68 69 6c lse....this.Chil
52e0: 64 73 43 6f 6e 74 65 6e 74 3d 43 6f 6e 74 65 6e dsContent=Conten
52f0: 74 73 0d 0a 09 09 0d 0a 09 2f 2f 20 c5 f1 eb e8 ts.......// ....
5300: 20 fd f2 ee 20 f2 ee ef e8 ea 2c 20 f1 ea e8 ed ... ....., ....
5310: e5 ec 20 e2 20 f4 e0 e9 eb 0d 0a 09 69 66 28 74 .. . .......if(t
5320: 68 69 73 2e 49 73 54 6f 70 69 63 29 0d 0a 09 7b his.IsTopic)...{
5330: 0d 0a 09 09 2f 2f 20 cf ee e4 e3 ee f2 ee e2 e8 ....// .........
5340: ec 20 f1 f1 fb eb ea f3 20 ed e0 20 fd f2 f3 20 . ...... .. ...
5350: f1 e5 ea f6 e8 fe 0d 0a 09 09 76 61 72 20 6e 48 ..........var nH
5360: 52 65 66 3d 74 68 69 73 2e 4d 61 6b 65 48 72 65 Ref=this.MakeHre
5370: 66 28 29 0d 0a 09 09 69 66 28 6e 48 52 65 66 29 f()....if(nHRef)
5380: 0d 0a 09 09 09 74 68 69 73 2e 6e 6f 64 65 2e 70 .....this.node.p
5390: 61 72 65 6e 74 4e 6f 64 65 2e 72 65 70 6c 61 63 arentNode.replac
53a0: 65 43 68 69 6c 64 28 6e 48 52 65 66 2c 20 74 68 eChild(nHRef, th
53b0: 69 73 2e 6e 6f 64 65 29 0d 0a 0d 0a 09 09 76 61 is.node)......va
53c0: 72 20 78 6d 6c 4e 65 77 3d 6e 65 77 20 41 63 74 r xmlNew=new Act
53d0: 69 76 65 58 4f 62 6a 65 63 74 28 78 6d 6c 50 72 iveXObject(xmlPr
53e0: 6f 67 49 44 29 0d 0a 09 09 76 61 72 20 6e 6e 48 ogID)....var nnH
53f0: 74 6d 6c 20 3d 20 78 6d 6c 4e 65 77 2e 63 72 65 tml = xmlNew.cre
5400: 61 74 65 45 6c 65 6d 65 6e 74 28 22 68 74 6d 6c ateElement("html
5410: 22 29 0d 0a 09 09 6e 6e 48 74 6d 6c 2e 61 70 70 ")....nnHtml.app
5420: 65 6e 64 43 68 69 6c 64 28 6e 6f 64 65 48 65 61 endChild(nodeHea
5430: 64 2e 63 6c 6f 6e 65 4e 6f 64 65 28 74 72 75 65 d.cloneNode(true
5440: 29 29 0d 0a 0d 0a 09 09 76 61 72 20 63 68 6d 54 ))......var chmT
5450: 69 74 6c 65 3d 74 68 69 73 2e 63 68 6d 69 6e 66 itle=this.chminf
5460: 6f 2e 73 65 6c 65 63 74 53 69 6e 67 6c 65 4e 6f o.selectSingleNo
5470: 64 65 28 22 63 68 6d 74 69 74 6c 65 22 29 0d 0a de("chmtitle")..
5480: 09 09 63 68 6d 54 69 74 6c 65 3d 28 63 68 6d 54 ..chmTitle=(chmT
5490: 69 74 6c 65 20 26 26 20 63 68 6d 54 69 74 6c 65 itle && chmTitle
54a0: 2e 68 61 73 43 68 69 6c 64 4e 6f 64 65 73 28 29 .hasChildNodes()
54b0: 29 3f 63 68 6d 54 69 74 6c 65 2e 74 65 78 74 3a )?chmTitle.text:
54c0: 74 68 69 73 2e 63 6e 74 54 69 74 6c 65 0d 0a 09 this.cntTitle...
54d0: 09 6e 6e 48 74 6d 6c 2e 73 65 6c 65 63 74 53 69 .nnHtml.selectSi
54e0: 6e 67 6c 65 4e 6f 64 65 28 22 2f 2f 74 69 74 6c ngleNode("//titl
54f0: 65 22 29 2e 74 65 78 74 3d 63 68 6d 54 69 74 6c e").text=chmTitl
5500: 65 0d 0a 09 09 0d 0a 09 09 76 61 72 20 62 64 20 e........var bd
5510: 3d 20 6e 6f 64 65 42 6f 64 79 2e 63 6c 6f 6e 65 = nodeBody.clone
5520: 4e 6f 64 65 28 66 61 6c 73 65 29 0d 0a 09 09 0d Node(false).....
5530: 0a 09 09 69 66 28 21 74 68 69 73 2e 70 61 72 65 ...if(!this.pare
5540: 6e 74 20 26 26 20 6e 6f 64 65 43 6f 6d 6d 6f 6e nt && nodeCommon
5550: 29 0d 0a 09 09 09 6e 6f 64 65 43 6f 6d 6d 6f 6e ).....nodeCommon
5560: 2e 70 61 72 65 6e 74 4e 6f 64 65 2e 72 65 6d 6f .parentNode.remo
5570: 76 65 43 68 69 6c 64 28 6e 6f 64 65 43 6f 6d 6d veChild(nodeComm
5580: 6f 6e 29 0d 0a 09 09 0d 0a 09 09 76 61 72 20 64 on)........var d
5590: 65 63 6f 72 3d 74 68 69 73 2e 63 68 6d 69 6e 66 ecor=this.chminf
55a0: 6f 2e 73 65 6c 65 63 74 53 69 6e 67 6c 65 4e 6f o.selectSingleNo
55b0: 64 65 28 22 64 65 63 6f 72 61 74 69 6f 6e 22 29 de("decoration")
55c0: 0d 0a 09 09 76 61 72 20 69 6e 73 3d 64 65 63 6f ....var ins=deco
55d0: 72 2e 73 65 6c 65 63 74 53 69 6e 67 6c 65 4e 6f r.selectSingleNo
55e0: 64 65 28 22 2e 2f 2f 74 6f 70 69 63 22 29 0d 0a de(".//topic")..
55f0: 09 09 69 66 28 69 6e 73 29 0d 0a 09 09 09 69 6e ..if(ins).....in
5600: 73 2e 70 61 72 65 6e 74 4e 6f 64 65 2e 72 65 70 s.parentNode.rep
5610: 6c 61 63 65 43 68 69 6c 64 28 74 68 69 73 2e 6e laceChild(this.n
5620: 6f 64 65 2c 20 69 6e 73 29 0d 0a 09 09 65 6c 73 ode, ins)....els
5630: 65 0d 0a 09 09 09 64 65 63 6f 72 2e 61 70 70 65 e.....decor.appe
5640: 6e 64 43 68 69 6c 64 28 74 68 69 73 2e 6e 6f 64 ndChild(this.nod
5650: 65 29 0d 0a 09 09 0d 0a 09 09 66 6f 72 28 76 61 e)........for(va
5660: 72 20 6b 3d 30 3b 6b 3c 64 65 63 6f 72 2e 63 68 r k=0;k<decor.ch
5670: 69 6c 64 4e 6f 64 65 73 2e 6c 65 6e 67 74 68 3b ildNodes.length;
5680: 6b 2b 2b 29 0d 0a 09 09 09 62 64 2e 61 70 70 65 k++).....bd.appe
5690: 6e 64 43 68 69 6c 64 28 64 65 63 6f 72 2e 63 68 ndChild(decor.ch
56a0: 69 6c 64 4e 6f 64 65 73 2e 69 74 65 6d 28 6b 29 ildNodes.item(k)
56b0: 2e 63 6c 6f 6e 65 4e 6f 64 65 28 74 72 75 65 29 .cloneNode(true)
56c0: 29 0d 0a 0d 0a 09 09 6e 6e 48 74 6d 6c 2e 61 70 )......nnHtml.ap
56d0: 70 65 6e 64 43 68 69 6c 64 28 62 64 29 0d 0a 09 pendChild(bd)...
56e0: 09 78 6d 6c 4e 65 77 2e 61 70 70 65 6e 64 43 68 .xmlNew.appendCh
56f0: 69 6c 64 28 6e 6e 48 74 6d 6c 29 0d 0a 09 09 76 ild(nnHtml)....v
5700: 61 72 20 66 69 6c 65 3d 43 72 65 61 74 65 46 69 ar file=CreateFi
5710: 6c 65 28 69 6e 74 44 69 72 2b 74 68 69 73 2e 46 le(intDir+this.F
5720: 69 6c 65 4e 61 6d 65 29 0d 0a 09 09 66 69 6c 65 ileName)....file
5730: 2e 57 72 69 74 65 28 78 6d 6c 4e 65 77 2e 78 6d .Write(xmlNew.xm
5740: 6c 29 0d 0a 09 09 66 69 6c 65 2e 43 6c 6f 73 65 l)....file.Close
5750: 28 29 0d 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 2f 2f 20 ()...}..}....//
5760: cf ee e4 e3 ee f2 ee e2 ea e0 20 e2 f5 ee e4 ed .......... .....
5770: ee e3 ee 20 f4 e0 e9 eb e0 0d 0a 66 75 6e 63 74 ... .......funct
5780: 69 6f 6e 20 50 72 65 70 65 61 72 65 46 69 6c 65 ion PrepeareFile
5790: 28 70 61 74 68 29 0d 0a 7b 0d 0a 09 2f 2f 20 cf (path)..{...// .
57a0: f0 ee e2 e5 f0 e8 ec 20 f1 f3 f9 e5 f1 f2 e2 ee ....... ........
57b0: e2 e0 ed e8 e5 20 f4 e0 e9 eb e0 0d 0a 09 74 72 ..... ........tr
57c0: 79 7b 0d 0a 09 09 76 61 72 20 66 3d 66 73 6f 2e y{....var f=fso.
57d0: 47 65 74 46 69 6c 65 28 70 61 74 68 29 0d 0a 09 GetFile(path)...
57e0: 7d 63 61 74 63 68 28 65 29 0d 0a 09 7b 0d 0a 09 }catch(e)...{...
57f0: 09 46 61 74 61 6c 45 72 72 6f 72 28 22 63 61 6e .FatalError("can
5800: 27 74 20 67 65 74 20 66 69 6c 65 20 22 2b 70 61 't get file "+pa
5810: 74 68 2b 27 5c 6e 27 2b 65 2e 44 65 73 63 72 69 th+'\n'+e.Descri
5820: 70 74 69 6f 6e 29 0d 0a 09 7d 0d 0a 0d 0a 09 2f ption)...}...../
5830: 2f 20 c7 e0 ef ee ec ed e8 ec 20 e5 e3 ee 20 ea / ........ ... .
5840: e0 f2 e0 eb ee e3 2c 20 fd f2 ee 20 e1 f3 e4 e5 ......, ... ....
5850: f2 20 e8 20 ea e0 f2 e0 eb ee e3 20 ef f0 ee ec . . ....... ....
5860: e5 e6 f3 f2 ee f7 ed fb f5 20 f4 e0 e9 eb ee e2 ......... ......
5870: 0d 0a 09 69 6e 74 44 69 72 3d 66 2e 50 61 72 65 ...intDir=f.Pare
5880: 6e 74 46 6f 6c 64 65 72 2e 50 61 74 68 0d 0a 09 ntFolder.Path...
5890: 69 66 28 21 69 6e 74 44 69 72 2e 6d 61 74 63 68 if(!intDir.match
58a0: 28 2f 5c 5c 24 2f 29 29 0d 0a 09 09 69 6e 74 44 (/\\$/))....intD
58b0: 69 72 2b 3d 27 5c 5c 27 0d 0a 09 0d 0a 09 69 6e ir+='\\'......in
58c0: 46 69 6c 65 4e 61 6d 65 3d 66 2e 4e 61 6d 65 2e FileName=f.Name.
58d0: 72 65 70 6c 61 63 65 28 2f 5c 2e 5b 5e 5c 2e 5d replace(/\.[^\.]
58e0: 2a 24 2f 2c 20 22 22 29 0d 0a 09 66 3d 6e 75 6c *$/, "")...f=nul
58f0: 6c 0d 0a 09 0d 0a 09 2f 2f 20 c4 e0 eb e5 e5 20 l......// .....
5900: ed e0 e4 ee 3a 0d 0a 09 2f 2f 20 e7 e0 ec e5 ed ....:...// .....
5910: e8 f2 fc 20 63 6f 64 65 70 61 67 65 20 ed e0 20 ... codepage ..
5920: 77 69 6e 64 6f 77 73 2d 31 32 35 31 0d 0a 09 2f windows-1251.../
5930: 2f 20 f3 e1 f0 e0 f2 fc 20 ea ee ec ec e5 ed f2 / ...... .......
5940: e0 f0 e8 e8 20 e2 ee ea f0 f3 e3 20 63 68 6d 69 .... ...... chmi
5950: 6e 66 6f 0d 0a 09 2f 2f 20 e7 e0 ef e8 f1 e0 f2 nfo...// .......
5960: fc 20 f4 e0 e9 eb 0d 0a 20 20 20 20 76 61 72 20 . ...... var
5970: 49 6e 46 69 6c 65 20 3d 20 66 73 6f 2e 4f 70 65 InFile = fso.Ope
5980: 6e 54 65 78 74 46 69 6c 65 28 70 61 74 68 29 0d nTextFile(path).
5990: 0a 0d 0a 09 76 61 72 20 6c 69 6e 65 3d 49 6e 46 ....var line=InF
59a0: 69 6c 65 2e 52 65 61 64 4c 69 6e 65 28 29 0d 0a ile.ReadLine()..
59b0: 09 69 66 28 6c 69 6e 65 2e 73 65 61 72 63 68 28 .if(line.search(
59c0: 2f 63 70 31 32 35 31 2f 69 29 3e 3d 30 29 0d 0a /cp1251/i)>=0)..
59d0: 09 7b 0d 0a 09 09 2f 2f 20 c5 f1 eb e8 20 e2 20 .{....// .... .
59e0: f1 f2 f0 ee ea e5 20 e5 f1 f2 fc 20 43 50 31 32 ...... .... CP12
59f0: 35 31 2c 20 e7 ed e0 f7 e8 f2 2c 20 f4 e0 e9 eb 51, ......, ....
5a00: 20 f2 ee eb fc ea ee 20 f7 f2 ee 20 f1 ee e7 e4 ...... ... ....
5a10: e0 ed 0d 0a 09 09 2f 2f 20 72 65 73 74 27 ee ec ......// rest'..
5a20: 2c 20 ed e0 e4 ee 20 f0 e0 f1 ea f0 fb f2 fc 20 , .... ........
5a30: ea ee ec ec e5 ed f2 e0 f0 e8 e8 2e 0d 0a 09 09 ................
5a40: 2f 2f 20 d2 e0 ea e6 e5 20 f3 e4 e0 eb e8 ec 20 // ..... ......
5a50: f1 f1 fb eb ea e8 20 ed e0 20 e2 f1 ff ea e8 e5 ...... .. ......
5a60: 20 e2 ed e5 f8 ed e8 e5 20 f1 f5 e5 ec fb 2c 20 ....... .....,
5a70: ef f0 e0 e2 e4 e0 0d 0a 09 09 2f 2f 20 ef f0 e8 ..........// ...
5a80: e4 e5 f2 f1 ff 20 ee ef e8 f1 e0 f2 fc 20 26 6e ..... ....... &n
5a90: 62 73 70 3b 0d 0a 09 09 76 61 72 20 69 6e 54 65 bsp;....var inTe
5aa0: 78 74 20 3d 20 6c 69 6e 65 2e 72 65 70 6c 61 63 xt = line.replac
5ab0: 65 28 2f 63 70 31 32 35 31 2f 69 2c 20 22 77 69 e(/cp1251/i, "wi
5ac0: 6e 64 6f 77 73 2d 31 32 35 31 22 29 2b 0d 0a 09 ndows-1251")+...
5ad0: 09 09 27 5c 72 5c 6e 3c 21 44 4f 43 54 59 50 45 ..'\r\n<!DOCTYPE
5ae0: 20 72 65 73 74 20 5b 3c 21 45 4e 54 49 54 59 20 rest [<!ENTITY
5af0: 6e 62 73 70 20 22 26 23 31 36 30 3b 22 3e 5d 3e nbsp " ">]>
5b00: 5c 72 5c 6e 3c 68 74 6d 6c 3e 27 0d 0a 20 20 20 \r\n<html>'..
5b10: 20 09 49 6e 46 69 6c 65 2e 52 65 61 64 4c 69 6e .InFile.ReadLin
5b20: 65 28 29 0d 0a 09 09 49 6e 46 69 6c 65 2e 52 65 e()....InFile.Re
5b30: 61 64 4c 69 6e 65 28 29 0d 0a 09 09 0d 0a 09 09 adLine()........
5b40: 2f 2f 20 d2 e5 ef e5 f0 fc 20 e1 f3 e4 e5 ec 20 // ...... .....
5b50: e8 f1 ea e0 f2 fc 20 63 6f 64 65 70 61 67 65 20 ...... codepage
5b60: e2 20 e7 e0 e3 ee eb ee e2 ea e5 20 3c 6d 65 74 . ......... <met
5b70: 61 3e 0d 0a 09 09 77 68 69 6c 65 28 21 49 6e 46 a>....while(!InF
5b80: 69 6c 65 2e 41 74 45 6e 64 4f 66 53 74 72 65 61 ile.AtEndOfStrea
5b90: 6d 29 0d 0a 09 09 7b 0d 0a 09 09 09 6c 69 6e 65 m)....{.....line
5ba0: 20 3d 20 49 6e 46 69 6c 65 2e 52 65 61 64 4c 69 = InFile.ReadLi
5bb0: 6e 65 28 29 0d 0a 09 09 09 69 66 28 6c 69 6e 65 ne().....if(line
5bc0: 2e 73 65 61 72 63 68 28 2f 63 70 31 32 35 31 2f .search(/cp1251/
5bd0: 69 29 3e 3d 30 29 0d 0a 09 09 09 7b 0d 0a 09 09 i)>=0).....{....
5be0: 09 09 69 6e 54 65 78 74 20 2b 3d 20 22 5c 72 5c ..inText += "\r\
5bf0: 6e 22 20 2b 20 6c 69 6e 65 2e 72 65 70 6c 61 63 n" + line.replac
5c00: 65 28 2f 63 70 31 32 35 31 2f 69 2c 20 22 77 69 e(/cp1251/i, "wi
5c10: 6e 64 6f 77 73 2d 31 32 35 31 22 29 0d 0a 09 09 ndows-1251")....
5c20: 09 09 62 72 65 61 6b 0d 0a 09 09 09 7d 0d 0a 09 ..break.....}...
5c30: 09 09 69 6e 54 65 78 74 20 2b 3d 20 22 5c 72 5c ..inText += "\r\
5c40: 6e 22 20 2b 20 6c 69 6e 65 0d 0a 09 09 7d 0d 0a n" + line....}..
5c50: 09 09 0d 0a 09 09 2f 2f 20 c4 ee f7 e8 f2 e0 e5 ......// .......
5c60: ec 20 ee f1 f2 e0 eb fc ed ee e5 20 e8 e7 20 f4 . ......... .. .
5c70: e0 e9 eb e0 0d 0a 09 09 69 6e 54 65 78 74 20 2b ........inText +
5c80: 3d 20 22 5c 72 5c 6e 22 20 2b 20 49 6e 46 69 6c = "\r\n" + InFil
5c90: 65 2e 52 65 61 64 41 6c 6c 28 29 0d 0a 09 09 2f e.ReadAll()..../
5ca0: 2f 20 c8 20 e7 e0 ef e8 f8 e5 ec 20 ee e1 f0 e0 / . ....... ....
5cb0: f2 ed ee 2c 20 f3 e1 f0 e0 e2 20 ea e0 ec e5 ed ..., ..... .....
5cc0: f2 fb 20 e2 ee ea f0 f3 e3 20 63 68 6d 69 6e 66 .. ...... chminf
5cd0: 6f 0d 0a 09 09 49 6e 46 69 6c 65 2e 43 6c 6f 73 o....InFile.Clos
5ce0: 65 28 29 0d 0a 09 09 49 6e 46 69 6c 65 20 3d 20 e()....InFile =
5cf0: 66 73 6f 2e 43 72 65 61 74 65 54 65 78 74 46 69 fso.CreateTextFi
5d00: 6c 65 28 70 61 74 68 29 0d 0a 09 09 49 6e 46 69 le(path)....InFi
5d10: 6c 65 2e 57 72 69 74 65 28 69 6e 54 65 78 74 2e le.Write(inText.
5d20: 0d 0a 09 09 09 72 65 70 6c 61 63 65 28 2f 3c 21 .....replace(/<!
5d30: 2d 2d 5c 73 2a 28 3f 3d 3c 63 68 6d 69 6e 66 6f --\s*(?=<chminfo
5d40: 29 2f 67 69 2c 20 22 22 29 2e 0d 0a 09 09 09 72 )/gi, "")......r
5d50: 65 70 6c 61 63 65 28 2f 5c 2f 63 68 6d 69 6e 66 eplace(/\/chminf
5d60: 6f 3e 5c 73 2a 2d 2d 3e 2f 67 69 2c 20 22 2f 63 o>\s*-->/gi, "/c
5d70: 68 6d 69 6e 66 6f 3e 22 29 2e 0d 0a 09 09 09 72 hminfo>")......r
5d80: 65 70 6c 61 63 65 28 2f 63 68 6d 69 6e 66 6f 5c eplace(/chminfo\
5d90: 2f 3e 5c 73 2a 2d 2d 3e 2f 67 69 2c 20 22 63 68 />\s*-->/gi, "ch
5da0: 6d 69 6e 66 6f 2f 3e 22 29 29 0d 0a 09 7d 0d 0a minfo/>"))...}..
5db0: 20 20 20 20 49 6e 46 69 6c 65 2e 43 6c 6f 73 65 InFile.Close
5dc0: 28 29 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f ()..}....functio
5dd0: 6e 20 6e 6f 72 6d 28 74 65 78 74 29 0d 0a 7b 0d n norm(text)..{.
5de0: 0a 09 72 65 74 75 72 6e 20 74 65 78 74 2e 72 65 ..return text.re
5df0: 70 6c 61 63 65 28 2f 26 2f 67 2c 22 26 61 6d 70 place(/&/g,"&
5e00: 3b 22 29 2e 72 65 70 6c 61 63 65 28 2f 22 2f 67 ;").replace(/"/g
5e10: 2c 22 26 71 75 6f 74 3b 22 29 2e 72 65 70 6c 61 ,""").repla
5e20: 63 65 28 2f 3c 2f 67 2c 20 22 26 6c 74 3b 22 29 ce(/</g, "<")
5e30: 2e 72 65 70 6c 61 63 65 28 2f 3e 2f 67 2c 20 22 .replace(/>/g, "
5e40: 26 67 74 3b 22 29 0d 0a 7d 0d 0a 0d 0a 66 75 6e >")..}....fun
5e50: 63 74 69 6f 6e 20 4d 61 6b 65 53 65 63 74 69 6f ction MakeSectio
5e60: 6e 28 6e 61 6d 65 2c 20 70 61 72 65 6e 74 29 0d n(name, parent).
5e70: 0a 7b 0d 0a 09 76 61 72 20 74 61 72 67 65 74 3d .{...var target=
5e80: 6e 6f 64 65 44 6f 63 75 6d 65 6e 74 2e 73 65 6c nodeDocument.sel
5e90: 65 63 74 53 69 6e 67 6c 65 4e 6f 64 65 28 22 2e ectSingleNode(".
5ea0: 2f 2f 61 5b 40 6e 61 6d 65 3d 27 22 2b 6e 61 6d //a[@name='"+nam
5eb0: 65 2e 73 75 62 73 74 72 28 31 29 2b 22 27 5d 22 e.substr(1)+"']"
5ec0: 29 0d 0a 09 77 68 69 6c 65 28 74 61 72 67 65 74 )...while(target
5ed0: 29 0d 0a 09 7b 0d 0a 09 09 74 61 72 67 65 74 3d )...{....target=
5ee0: 74 61 72 67 65 74 2e 70 61 72 65 6e 74 4e 6f 64 target.parentNod
5ef0: 65 3b 0d 0a 09 09 69 66 28 74 61 72 67 65 74 2e e;....if(target.
5f00: 62 61 73 65 4e 61 6d 65 2e 74 6f 4c 6f 77 65 72 baseName.toLower
5f10: 43 61 73 65 28 29 3d 3d 22 64 69 76 22 20 26 26 Case()=="div" &&
5f20: 20 47 65 74 41 74 74 72 69 62 28 74 61 72 67 65 GetAttrib(targe
5f30: 74 2c 20 22 63 6c 61 73 73 22 29 2e 6d 61 74 63 t, "class").matc
5f40: 68 28 2f 73 65 63 74 69 6f 6e 2f 69 29 29 0d 0a h(/section/i))..
5f50: 09 09 09 72 65 74 75 72 6e 20 6e 65 77 20 44 6f ...return new Do
5f60: 63 53 65 63 74 69 6f 6e 28 70 61 72 65 6e 74 2c cSection(parent,
5f70: 20 74 61 72 67 65 74 29 0d 0a 09 7d 0d 0a 09 72 target)...}...r
5f80: 65 74 75 72 6e 20 6e 75 6c 6c 0d 0a 7d 0d 0a 0d eturn null..}...
5f90: 0a 66 75 6e 63 74 69 6f 6e 20 50 72 6f 63 65 73 .function Proces
5fa0: 73 43 6f 6e 74 65 6e 74 4c 69 73 74 28 6e 6f 64 sContentList(nod
5fb0: 65 2c 20 70 61 72 65 6e 74 53 65 63 74 69 6f 6e e, parentSection
5fc0: 29 0d 0a 7b 0d 0a 20 20 20 20 76 61 72 20 63 68 )..{.. var ch
5fd0: 69 6c 64 73 3d 6e 65 77 20 45 6e 75 6d 65 72 61 ilds=new Enumera
5fe0: 74 6f 72 28 6e 6f 64 65 2e 63 68 69 6c 64 4e 6f tor(node.childNo
5ff0: 64 65 73 29 0d 0a 20 20 20 20 66 6f 72 28 3b 21 des).. for(;!
6000: 63 68 69 6c 64 73 2e 61 74 45 6e 64 28 29 3b 63 childs.atEnd();c
6010: 68 69 6c 64 73 2e 6d 6f 76 65 4e 65 78 74 28 29 hilds.moveNext()
6020: 29 0d 0a 20 20 20 20 7b 0d 0a 09 09 76 61 72 20 ).. {....var
6030: 6c 69 3d 63 68 69 6c 64 73 2e 69 74 65 6d 28 29 li=childs.item()
6040: 0d 0a 09 09 69 66 20 28 6c 69 2e 62 61 73 65 4e ....if (li.baseN
6050: 61 6d 65 2e 74 6f 4c 6f 77 65 72 43 61 73 65 28 ame.toLowerCase(
6060: 29 3d 3d 22 6c 69 22 29 0d 0a 09 09 7b 0d 0a 09 )=="li")....{...
6070: 09 09 76 61 72 20 61 3d 6c 69 2e 73 65 6c 65 63 ..var a=li.selec
6080: 74 53 69 6e 67 6c 65 4e 6f 64 65 28 22 61 22 29 tSingleNode("a")
6090: 0d 0a 09 09 09 76 61 72 20 73 65 63 74 69 6f 6e .....var section
60a0: 3d 4d 61 6b 65 53 65 63 74 69 6f 6e 28 47 65 74 =MakeSection(Get
60b0: 41 74 74 72 69 62 28 61 2c 20 22 68 72 65 66 22 Attrib(a, "href"
60c0: 29 2c 20 70 61 72 65 6e 74 53 65 63 74 69 6f 6e ), parentSection
60d0: 29 0d 0a 0d 0a 09 09 09 76 61 72 20 75 6c 3d 6c ).......var ul=l
60e0: 69 2e 73 65 6c 65 63 74 53 69 6e 67 6c 65 4e 6f i.selectSingleNo
60f0: 64 65 28 22 75 6c 22 29 0d 0a 09 09 09 69 66 28 de("ul").....if(
6100: 75 6c 29 0d 0a 09 09 09 09 50 72 6f 63 65 73 73 ul)......Process
6110: 43 6f 6e 74 65 6e 74 4c 69 73 74 28 75 6c 2c 20 ContentList(ul,
6120: 73 65 63 74 69 6f 6e 29 0d 0a 09 09 09 73 65 63 section).....sec
6130: 74 69 6f 6e 2e 41 66 74 65 72 43 68 69 6c 64 50 tion.AfterChildP
6140: 72 6f 63 65 73 73 65 64 28 29 0d 0a 09 09 7d 0d rocessed()....}.
6150: 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 2f 2f 20 d4 f3 ed ..}..}....// ...
6160: ea f6 e8 ff 20 ee e1 f0 e0 e1 e0 f2 fb e2 e0 e5 .... ...........
6170: f2 20 f1 ee e4 e5 f0 e6 e0 ed e8 e5 20 68 74 6d . .......... htm
6180: 6c 2d f4 e0 e9 eb e0 2c 20 e8 20 ef ee e4 e3 ee l-....., . .....
6190: f2 e0 e2 eb e8 e2 e0 e5 f2 0d 0a 2f 2f 20 e4 e5 ...........// ..
61a0: f0 e5 e2 ee 20 f1 e5 ea f6 e8 e9 20 28 44 6f 63 .... ...... (Doc
61b0: 53 65 63 74 69 6f 6e 29 20 ed e0 20 e5 e3 ee 20 Section) .. ...
61c0: ee f1 ed ee e2 e5 2e 20 ce e4 ed ee e2 f0 e5 ec ....... ........
61d0: e5 ed ed ee 20 f1 ee e7 e4 e0 e5 f2 f1 ff 0d 0a .... ...........
61e0: 2f 2f 20 f4 e0 e9 eb 20 f1 ee e4 e5 f0 e6 e0 ed // .... ........
61f0: e8 ff 20 e4 eb ff 20 63 68 6d 2d ef f0 ee e5 ea .. ... chm-.....
6200: f2 e0 0d 0a 66 75 6e 63 74 69 6f 6e 20 53 70 6c ....function Spl
6210: 69 74 32 54 6f 70 69 63 28 63 6f 6e 74 65 6e 74 it2Topic(content
6220: 29 0d 0a 7b 0d 0a 09 50 72 6f 63 65 73 73 43 6f )..{...ProcessCo
6230: 6e 74 65 6e 74 4c 69 73 74 28 63 6f 6e 74 65 6e ntentList(conten
6240: 74 2e 73 65 6c 65 63 74 53 69 6e 67 6c 65 4e 6f t.selectSingleNo
6250: 64 65 28 22 2e 2f 2f 75 6c 22 29 2c 20 52 6f 6f de(".//ul"), Roo
6260: 74 54 6f 70 69 63 29 0d 0a 20 20 20 20 52 6f 6f tTopic).. Roo
6270: 74 54 6f 70 69 63 2e 41 66 74 65 72 43 68 69 6c tTopic.AfterChil
6280: 64 50 72 6f 63 65 73 73 65 64 28 29 0d 0a 20 20 dProcessed()..
6290: 20 20 0d 0a 20 20 20 20 63 6f 6e 74 65 6e 74 2e .. content.
62a0: 70 61 72 65 6e 74 4e 6f 64 65 2e 72 65 6d 6f 76 parentNode.remov
62b0: 65 43 68 69 6c 64 28 63 6f 6e 74 65 6e 74 29 0d eChild(content).
62c0: 0a 20 20 20 20 0d 0a 20 20 20 20 66 6f 72 28 76 . .. for(v
62d0: 61 72 20 69 20 69 6e 20 53 65 63 74 69 6f 6e 46 ar i in SectionF
62e0: 72 6f 6d 43 68 69 6c 64 29 0d 0a 09 09 53 65 63 romChild)....Sec
62f0: 74 69 6f 6e 46 72 6f 6d 43 68 69 6c 64 5b 69 5d tionFromChild[i]
6300: 2e 53 61 76 65 28 29 0d 0a 7d 0d 0a 0d 0a 66 75 .Save()..}....fu
6310: 6e 63 74 69 6f 6e 20 4d 61 6b 65 48 48 50 46 69 nction MakeHHPFi
6320: 6c 65 73 28 29 0d 0a 7b 0d 0a 20 20 20 20 76 61 les()..{.. va
6330: 72 20 66 4e 61 6d 65 3d 69 6e 74 44 69 72 2b 69 r fName=intDir+i
6340: 6e 46 69 6c 65 4e 61 6d 65 2b 22 2e 68 68 63 22 nFileName+".hhc"
6350: 0d 0a 20 20 20 20 68 68 63 46 69 6c 65 3d 43 72 .. hhcFile=Cr
6360: 65 61 74 65 46 69 6c 65 28 66 4e 61 6d 65 29 0d eateFile(fName).
6370: 0a 20 20 20 20 69 66 28 21 68 68 63 46 69 6c 65 . if(!hhcFile
6380: 29 0d 0a 09 09 46 61 74 61 6c 45 72 72 6f 72 28 )....FatalError(
6390: 22 63 61 6e 27 74 20 63 72 65 61 74 65 20 63 6f "can't create co
63a0: 6e 74 65 6e 74 20 66 69 6c 65 3a 20 22 2b 66 4e ntent file: "+fN
63b0: 61 6d 65 29 0d 0a 09 68 68 63 46 69 6c 65 2e 57 ame)...hhcFile.W
63c0: 72 69 74 65 28 27 3c 48 54 4d 4c 3e 3c 55 4c 3e rite('<HTML><UL>
63d0: 27 2b 52 6f 6f 74 54 6f 70 69 63 2e 43 68 69 6c '+RootTopic.Chil
63e0: 64 73 43 6f 6e 74 65 6e 74 2e 72 65 70 6c 61 63 dsContent.replac
63f0: 65 28 2f 3c 55 4c 3e 5c 73 2a 3c 5c 2f 55 4c 3e e(/<UL>\s*<\/UL>
6400: 2f 67 69 2c 20 22 22 29 2b 27 3c 2f 55 4c 3e 3c /gi, "")+'</UL><
6410: 2f 48 54 4d 4c 3e 27 29 0d 0a 09 68 68 63 46 69 /HTML>')...hhcFi
6420: 6c 65 2e 43 6c 6f 73 65 28 29 3b 0d 0a 09 68 68 le.Close();...hh
6430: 63 46 69 6c 65 3d 6e 75 6c 6c 0d 0a 09 0d 0a 09 cFile=null......
6440: 76 61 72 20 63 6e 74 46 69 6c 65 4e 61 6d 65 3d var cntFileName=
6450: 69 6e 46 69 6c 65 4e 61 6d 65 0d 0a 09 76 61 72 inFileName...var
6460: 20 64 65 66 46 69 6c 65 3d 52 6f 6f 74 54 6f 70 defFile=RootTop
6470: 69 63 2e 46 69 6c 65 4e 61 6d 65 0d 0a 09 76 61 ic.FileName...va
6480: 72 20 4d 61 69 6e 54 69 74 6c 65 3d 52 6f 6f 74 r MainTitle=Root
6490: 54 69 74 6c 65 0d 0a 09 0d 0a 09 76 61 72 20 63 Title......var c
64a0: 6f 6c 6c 65 63 74 69 6f 6e 3d 6e 75 6c 6c 0d 0a ollection=null..
64b0: 09 69 66 28 6e 6f 64 65 43 6f 6d 6d 6f 6e 29 0d .if(nodeCommon).
64c0: 0a 09 7b 0d 0a 09 09 63 6f 6c 6c 65 63 74 69 6f ..{....collectio
64d0: 6e 3d 6e 6f 64 65 43 6f 6d 6d 6f 6e 2e 73 65 6c n=nodeCommon.sel
64e0: 65 63 74 53 69 6e 67 6c 65 4e 6f 64 65 28 22 2e ectSingleNode(".
64f0: 2f 2f 63 6f 6d 6d 6f 6e 2f 63 6f 6c 6c 65 63 74 //common/collect
6500: 69 6f 6e 5b 66 69 6c 65 5b 40 6e 61 6d 65 3d 27 ion[file[@name='
6510: 22 2b 69 6e 46 69 6c 65 4e 61 6d 65 2b 22 27 5d "+inFileName+"']
6520: 5d 22 29 0d 0a 09 09 69 66 28 63 6f 6c 6c 65 63 ]")....if(collec
6530: 74 69 6f 6e 29 0d 0a 09 09 7b 0d 0a 09 09 09 4d tion)....{.....M
6540: 61 69 6e 54 69 74 6c 65 3d 47 65 74 41 74 74 72 ainTitle=GetAttr
6550: 69 62 28 63 6f 6c 6c 65 63 74 69 6f 6e 2c 20 22 ib(collection, "
6560: 74 69 74 6c 65 22 29 0d 0a 09 09 09 76 61 72 20 title").....var
6570: 6d 61 73 74 65 72 3d 47 65 74 41 74 74 72 69 62 master=GetAttrib
6580: 28 63 6f 6c 6c 65 63 74 69 6f 6e 2c 20 22 6d 61 (collection, "ma
6590: 73 74 65 72 22 29 0d 0a 09 09 09 69 66 28 6d 61 ster").....if(ma
65a0: 73 74 65 72 2e 6c 65 6e 67 74 68 20 26 26 20 6d ster.length && m
65b0: 61 73 74 65 72 21 3d 69 6e 46 69 6c 65 4e 61 6d aster!=inFileNam
65c0: 65 29 0d 0a 09 09 09 7b 0d 0a 09 09 09 09 63 6e e).....{......cn
65d0: 74 46 69 6c 65 4e 61 6d 65 3d 6d 61 73 74 65 72 tFileName=master
65e0: 2b 22 2e 63 68 6d 3a 3a 5c 5c 22 2b 6d 61 73 74 +".chm::\\"+mast
65f0: 65 72 0d 0a 09 09 09 09 64 65 66 46 69 6c 65 3d er......defFile=
6600: 63 6e 74 46 69 6c 65 4e 61 6d 65 2b 22 30 2e 68 cntFileName+"0.h
6610: 74 6d 6c 22 0d 0a 09 09 09 7d 0d 0a 09 09 7d 0d tml".....}....}.
6620: 0a 09 7d 0d 0a 0d 0a 20 20 20 20 6f 75 74 70 75 ..}.... outpu
6630: 74 20 3d 20 43 72 65 61 74 65 46 69 6c 65 28 69 t = CreateFile(i
6640: 6e 74 44 69 72 2b 69 6e 46 69 6c 65 4e 61 6d 65 ntDir+inFileName
6650: 20 2b 20 22 2e 68 68 70 22 29 0d 0a 20 20 20 20 + ".hhp")..
6660: 69 66 28 21 6f 75 74 70 75 74 29 0d 0a 09 09 46 if(!output)....F
6670: 61 74 61 6c 45 72 72 6f 72 28 22 44 6f 6e 27 74 atalError("Don't
6680: 20 63 72 65 61 74 65 20 68 68 70 20 66 69 6c 65 create hhp file
6690: 22 29 0d 0a 20 20 20 20 6f 75 74 70 75 74 2e 57 ").. output.W
66a0: 72 69 74 65 4c 69 6e 65 28 22 5b 4f 70 74 69 6f riteLine("[Optio
66b0: 6e 73 5d 22 29 0d 0a 20 20 20 20 6f 75 74 70 75 ns]").. outpu
66c0: 74 2e 57 72 69 74 65 4c 69 6e 65 28 22 41 75 74 t.WriteLine("Aut
66d0: 6f 20 49 6e 64 65 78 20 3d 20 59 65 73 22 29 0d o Index = Yes").
66e0: 0a 20 20 20 20 6f 75 74 70 75 74 2e 57 72 69 74 . output.Writ
66f0: 65 4c 69 6e 65 28 22 42 69 6e 61 72 79 20 54 4f eLine("Binary TO
6700: 43 20 3d 20 59 65 73 22 29 0d 0a 20 20 20 20 6f C = Yes").. o
6710: 75 74 70 75 74 2e 57 72 69 74 65 4c 69 6e 65 28 utput.WriteLine(
6720: 22 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 3d "Compatibility =
6730: 20 31 2e 31 20 4f 72 20 6c 61 74 65 72 22 29 0d 1.1 Or later").
6740: 0a 20 20 20 20 6f 75 74 70 75 74 2e 57 72 69 74 . output.Writ
6750: 65 4c 69 6e 65 28 22 43 6f 6d 70 69 6c 65 64 20 eLine("Compiled
6760: 46 69 6c 65 20 3d 20 22 20 2b 20 6f 75 74 44 69 File = " + outDi
6770: 72 20 2b 20 69 6e 46 69 6c 65 4e 61 6d 65 20 2b r + inFileName +
6780: 20 22 2e 63 68 6d 22 29 0d 0a 20 20 20 20 6f 75 ".chm").. ou
6790: 74 70 75 74 2e 57 72 69 74 65 4c 69 6e 65 28 22 tput.WriteLine("
67a0: 43 6f 6e 74 65 6e 74 73 20 46 69 6c 65 20 3d 20 Contents File =
67b0: 22 20 2b 20 69 6e 46 69 6c 65 4e 61 6d 65 20 2b " + inFileName +
67c0: 20 22 2e 68 68 63 22 29 0d 0a 20 20 20 20 6f 75 ".hhc").. ou
67d0: 74 70 75 74 2e 57 72 69 74 65 4c 69 6e 65 28 22 tput.WriteLine("
67e0: 44 65 66 61 75 6c 74 20 57 69 6e 64 6f 77 20 3d Default Window =
67f0: 20 4d 61 69 6e 22 29 0d 0a 20 20 20 20 6f 75 74 Main").. out
6800: 70 75 74 2e 57 72 69 74 65 4c 69 6e 65 28 22 44 put.WriteLine("D
6810: 65 66 61 75 6c 74 20 74 6f 70 69 63 20 3d 20 22 efault topic = "
6820: 20 2b 20 52 6f 6f 74 54 6f 70 69 63 2e 46 69 6c + RootTopic.Fil
6830: 65 4e 61 6d 65 29 0d 0a 20 20 20 20 6f 75 74 70 eName).. outp
6840: 75 74 2e 57 72 69 74 65 4c 69 6e 65 28 22 44 69 ut.WriteLine("Di
6850: 73 70 6c 61 79 20 63 6f 6d 70 69 6c 65 20 70 72 splay compile pr
6860: 6f 67 72 65 73 73 3d 4e 6f 22 29 0d 0a 20 20 20 ogress=No")..
6870: 20 6f 75 74 70 75 74 2e 57 72 69 74 65 4c 69 6e output.WriteLin
6880: 65 28 22 46 75 6c 6c 2d 74 65 78 74 20 73 65 61 e("Full-text sea
6890: 72 63 68 3d 59 65 73 22 29 0d 0a 20 20 20 20 6f rch=Yes").. o
68a0: 75 74 70 75 74 2e 57 72 69 74 65 4c 69 6e 65 28 utput.WriteLine(
68b0: 22 49 6e 64 65 78 20 66 69 6c 65 3d 22 20 2b 20 "Index file=" +
68c0: 69 6e 46 69 6c 65 4e 61 6d 65 20 2b 20 22 2e 68 inFileName + ".h
68d0: 68 6b 22 29 0d 0a 20 20 20 20 6f 75 74 70 75 74 hk").. output
68e0: 2e 57 72 69 74 65 4c 69 6e 65 28 22 4c 61 6e 67 .WriteLine("Lang
68f0: 75 61 67 65 3d 30 78 34 31 39 20 d0 f3 f1 f1 ea uage=0x419 .....
6900: e8 e9 22 29 0d 0a 20 20 20 20 6f 75 74 70 75 74 ..").. output
6910: 2e 57 72 69 74 65 4c 69 6e 65 28 22 54 69 74 6c .WriteLine("Titl
6920: 65 3d 22 20 2b 20 52 6f 6f 74 54 69 74 6c 65 29 e=" + RootTitle)
6930: 0d 0a 20 20 20 20 6f 75 74 70 75 74 2e 57 72 69 .. output.Wri
6940: 74 65 4c 69 6e 65 28 22 22 29 0d 0a 20 20 20 20 teLine("")..
6950: 6f 75 74 70 75 74 2e 57 72 69 74 65 4c 69 6e 65 output.WriteLine
6960: 28 22 5b 57 69 6e 64 6f 77 73 5d 22 29 0d 0a 20 ("[Windows]")..
6970: 20 20 20 6f 75 74 70 75 74 2e 57 72 69 74 65 4c output.WriteL
6980: 69 6e 65 28 27 6d 61 69 6e 3d 22 27 2b 4d 61 69 ine('main="'+Mai
6990: 6e 54 69 74 6c 65 2b 27 22 2c 22 27 20 2b 20 63 nTitle+'","' + c
69a0: 6e 74 46 69 6c 65 4e 61 6d 65 20 2b 20 27 2e 68 ntFileName + '.h
69b0: 68 63 22 2c 22 27 20 2b 20 69 6e 46 69 6c 65 4e hc","' + inFileN
69c0: 61 6d 65 20 2b 20 27 2e 68 68 6b 22 2c 22 27 2b ame + '.hhk","'+
69d0: 0d 0a 09 09 64 65 66 46 69 6c 65 20 2b 20 27 22 ....defFile + '"
69e0: 2c 22 27 20 2b 20 64 65 66 46 69 6c 65 20 2b 20 ,"' + defFile +
69f0: 27 22 2c 2c 2c 2c 2c 30 78 33 32 34 32 30 2c 2c '",,,,,0x32420,,
6a00: 30 78 36 30 33 38 30 65 2c 2c 30 78 62 30 30 30 0x60380e,,0xb000
6a10: 30 2c 2c 2c 2c 2c 2c 30 27 29 0d 0a 20 20 20 20 0,,,,,,0')..
6a20: 6f 75 74 70 75 74 2e 57 72 69 74 65 4c 69 6e 65 output.WriteLine
6a30: 28 22 22 29 0d 0a 20 20 20 20 6f 75 74 70 75 74 ("").. output
6a40: 2e 57 72 69 74 65 4c 69 6e 65 28 22 5b 46 69 6c .WriteLine("[Fil
6a50: 65 73 5d 22 29 0d 0a 0d 0a 09 76 61 72 20 6e 54 es]").....var nT
6a60: 6f 70 69 63 73 3d 30 20 20 20 20 0d 0a 20 20 20 opics=0 ..
6a70: 20 66 6f 72 28 76 61 72 20 69 20 69 6e 20 53 65 for(var i in Se
6a80: 63 74 69 6f 6e 46 72 6f 6d 50 61 72 65 6e 74 29 ctionFromParent)
6a90: 0d 0a 20 20 20 20 7b 0d 0a 09 09 69 66 28 53 65 .. {....if(Se
6aa0: 63 74 69 6f 6e 46 72 6f 6d 50 61 72 65 6e 74 5b ctionFromParent[
6ab0: 69 5d 2e 49 73 54 6f 70 69 63 29 0d 0a 09 09 7b i].IsTopic)....{
6ac0: 0d 0a 09 09 09 6f 75 74 70 75 74 2e 57 72 69 74 .....output.Writ
6ad0: 65 4c 69 6e 65 28 53 65 63 74 69 6f 6e 46 72 6f eLine(SectionFro
6ae0: 6d 50 61 72 65 6e 74 5b 69 5d 2e 46 69 6c 65 4e mParent[i].FileN
6af0: 61 6d 65 29 0d 0a 09 09 09 6e 54 6f 70 69 63 73 ame).....nTopics
6b00: 2b 2b 0d 0a 09 09 7d 0d 0a 09 7d 0d 0a 09 69 66 ++....}...}...if
6b10: 28 63 6f 6c 6c 65 63 74 69 6f 6e 29 0d 0a 09 7b (collection)...{
6b20: 0d 0a 09 09 76 61 72 20 6d 65 72 67 65 3d 63 6f ....var merge=co
6b30: 6c 6c 65 63 74 69 6f 6e 2e 73 65 6c 65 63 74 4e llection.selectN
6b40: 6f 64 65 73 28 22 66 69 6c 65 5b 40 6e 61 6d 65 odes("file[@name
6b50: 21 3d 27 22 2b 69 6e 46 69 6c 65 4e 61 6d 65 2b !='"+inFileName+
6b60: 22 27 5d 22 29 0d 0a 09 09 69 66 28 6d 65 72 67 "']")....if(merg
6b70: 65 2e 6c 65 6e 67 74 68 29 0d 0a 09 09 7b 0d 0a e.length)....{..
6b80: 09 09 09 6f 75 74 70 75 74 2e 57 72 69 74 65 4c ...output.WriteL
6b90: 69 6e 65 28 22 5b 4d 45 52 47 45 20 46 49 4c 45 ine("[MERGE FILE
6ba0: 53 5d 22 29 0d 0a 09 09 09 66 6f 72 28 76 61 72 S]").....for(var
6bb0: 20 69 3d 30 3b 69 3c 6d 65 72 67 65 2e 6c 65 6e i=0;i<merge.len
6bc0: 67 74 68 3b 69 2b 2b 29 0d 0a 09 09 09 09 6f 75 gth;i++)......ou
6bd0: 74 70 75 74 2e 57 72 69 74 65 4c 69 6e 65 28 47 tput.WriteLine(G
6be0: 65 74 41 74 74 72 69 62 28 6d 65 72 67 65 2e 69 etAttrib(merge.i
6bf0: 74 65 6d 28 69 29 2c 20 22 6e 61 6d 65 22 29 20 tem(i), "name")
6c00: 2b 20 22 2e 63 68 6d 22 29 0d 0a 09 09 7d 0d 0a + ".chm")....}..
6c10: 09 7d 0d 0a 20 20 20 20 6f 75 74 70 75 74 2e 43 .}.. output.C
6c20: 6c 6f 73 65 28 29 0d 0a 0d 0a 20 20 20 20 68 68 lose().... hh
6c30: 6b 46 69 6c 65 20 3d 20 43 72 65 61 74 65 46 69 kFile = CreateFi
6c40: 6c 65 28 69 6e 74 44 69 72 2b 69 6e 46 69 6c 65 le(intDir+inFile
6c50: 4e 61 6d 65 20 2b 20 22 2e 68 68 6b 22 29 0d 0a Name + ".hhk")..
6c60: 20 20 20 20 69 66 28 21 68 68 6b 46 69 6c 65 29 if(!hhkFile)
6c70: 0d 0a 09 09 46 61 74 61 6c 45 72 72 6f 72 28 22 ....FatalError("
6c80: 44 6f 6e 27 74 20 63 72 65 61 74 65 20 68 68 6b Don't create hhk
6c90: 20 66 69 6c 65 22 29 0d 0a 09 68 68 6b 46 69 6c file")...hhkFil
6ca0: 65 2e 57 72 69 74 65 4c 69 6e 65 28 27 3c 48 54 e.WriteLine('<HT
6cb0: 4d 4c 3e 27 29 0d 0a 09 68 68 6b 52 6f 6f 74 2e ML>')...hhkRoot.
6cc0: 53 61 76 65 28 29 0d 0a 09 68 68 6b 46 69 6c 65 Save()...hhkFile
6cd0: 2e 57 72 69 74 65 28 27 3c 2f 48 54 4d 4c 3e 27 .Write('</HTML>'
6ce0: 29 0d 0a 09 68 68 6b 46 69 6c 65 2e 43 6c 6f 73 )...hhkFile.Clos
6cf0: 65 28 29 0d 0a 09 53 68 6f 77 54 65 78 74 28 22 e()...ShowText("
6d00: 20 20 20 20 53 65 63 74 69 6f 6e 73 3a 20 22 2b Sections: "+
6d10: 53 65 63 74 69 6f 6e 46 72 6f 6d 50 61 72 65 6e SectionFromParen
6d20: 74 2e 6c 65 6e 67 74 68 2b 22 2c 20 54 6f 70 69 t.length+", Topi
6d30: 63 73 3a 20 22 2b 6e 54 6f 70 69 63 73 29 0d 0a cs: "+nTopics)..
6d40: 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 50 72 }....function Pr
6d50: 6f 63 65 73 73 41 4b 6c 69 6e 6b 42 75 74 74 6f ocessAKlinkButto
6d60: 6e 73 28 70 61 72 61 6d 4e 61 6d 65 2c 20 72 65 ns(paramName, re
6d70: 66 4e 61 6d 65 29 0d 0a 7b 0d 0a 09 76 61 72 20 fName)..{...var
6d80: 6c 69 6e 6b 73 3d 6e 6f 64 65 44 6f 63 75 6d 65 links=nodeDocume
6d90: 6e 74 2e 73 65 6c 65 63 74 4e 6f 64 65 73 28 22 nt.selectNodes("
6da0: 2e 2f 2f 61 5b 40 68 72 65 66 3d 27 22 2b 72 65 .//a[@href='"+re
6db0: 66 4e 61 6d 65 2b 22 27 5d 22 29 0d 0a 09 66 6f fName+"']")...fo
6dc0: 72 28 76 61 72 20 69 64 3d 30 3b 69 64 3c 6c 69 r(var id=0;id<li
6dd0: 6e 6b 73 2e 6c 65 6e 67 74 68 3b 69 64 2b 2b 29 nks.length;id++)
6de0: 0d 0a 09 7b 0d 0a 09 09 76 61 72 20 6c 69 6e 6b ...{....var link
6df0: 3d 6c 69 6e 6b 73 2e 69 74 65 6d 28 69 64 29 0d =links.item(id).
6e00: 0a 09 09 76 61 72 20 72 65 66 54 65 78 74 3d 6c ...var refText=l
6e10: 69 6e 6b 2e 74 65 78 74 2e 6d 61 74 63 68 28 2f ink.text.match(/
6e20: 5b 5e 5c 7c 5d 2b 2f 67 29 0d 0a 09 09 69 66 28 [^\|]+/g)....if(
6e30: 21 72 65 66 54 65 78 74 20 7c 7c 20 72 65 66 54 !refText || refT
6e40: 65 78 74 2e 6c 65 6e 67 74 68 3d 3d 31 29 0d 0a ext.length==1)..
6e50: 09 09 09 53 68 6f 77 54 65 78 74 28 22 77 61 72 ...ShowText("war
6e60: 6e 69 6e 67 3a 20 22 2b 6c 69 6e 6b 2e 78 6d 6c ning: "+link.xml
6e70: 2b 22 20 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 6b +" not contain k
6e80: 65 79 77 6f 72 64 73 22 29 0d 0a 09 09 65 6c 73 eywords")....els
6e90: 65 0d 0a 09 09 7b 0d 0a 09 09 09 6c 69 6e 6b 2e e....{.....link.
6ea0: 74 65 78 74 3d 72 65 66 54 65 78 74 5b 30 5d 0d text=refText[0].
6eb0: 0a 09 09 09 76 61 72 20 6f 62 6a 3d 78 6d 6c 2e ....var obj=xml.
6ec0: 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 22 6f createElement("o
6ed0: 62 6a 65 63 74 22 29 0d 0a 09 09 09 76 61 72 20 bject").....var
6ee0: 69 64 4e 61 6d 65 3d 22 68 68 63 74 72 22 2b 72 idName="hhctr"+r
6ef0: 65 66 4e 61 6d 65 2b 69 64 0d 0a 09 09 09 53 65 efName+id.....Se
6f00: 74 41 74 74 72 69 62 28 6f 62 6a 2c 20 22 69 64 tAttrib(obj, "id
6f10: 22 2c 20 69 64 4e 61 6d 65 29 0d 0a 09 09 09 53 ", idName).....S
6f20: 65 74 41 74 74 72 69 62 28 6f 62 6a 2c 20 22 63 etAttrib(obj, "c
6f30: 6c 61 73 73 69 64 22 2c 20 22 63 6c 73 69 64 3a lassid", "clsid:
6f40: 61 64 62 38 38 30 61 36 2d 64 38 66 66 2d 31 31 adb880a6-d8ff-11
6f50: 63 66 2d 39 33 37 37 2d 30 30 61 61 30 30 33 62 cf-9377-00aa003b
6f60: 37 61 31 31 22 29 0d 0a 09 09 09 53 65 74 41 74 7a11").....SetAt
6f70: 74 72 69 62 28 6f 62 6a 2c 20 22 74 79 70 65 22 trib(obj, "type"
6f80: 2c 20 22 61 70 70 6c 69 63 61 74 69 6f 6e 2f 78 , "application/x
6f90: 2d 6f 6c 65 6f 62 6a 65 63 74 22 29 0d 0a 09 09 -oleobject")....
6fa0: 09 53 65 74 41 74 74 72 69 62 28 6f 62 6a 2c 20 .SetAttrib(obj,
6fb0: 22 77 69 64 74 68 22 2c 20 22 30 22 29 0d 0a 09 "width", "0")...
6fc0: 09 09 53 65 74 41 74 74 72 69 62 28 6f 62 6a 2c ..SetAttrib(obj,
6fd0: 20 22 68 65 69 67 68 74 22 2c 20 22 30 22 29 0d "height", "0").
6fe0: 0a 09 09 09 76 61 72 20 70 61 72 61 6d 3d 78 6d ....var param=xm
6ff0: 6c 2e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 l.createElement(
7000: 22 70 61 72 61 6d 22 29 0d 0a 09 09 09 53 65 74 "param").....Set
7010: 41 74 74 72 69 62 28 70 61 72 61 6d 2c 20 22 6e Attrib(param, "n
7020: 61 6d 65 22 2c 20 22 43 6f 6d 6d 61 6e 64 22 29 ame", "Command")
7030: 0d 0a 09 09 09 53 65 74 41 74 74 72 69 62 28 70 .....SetAttrib(p
7040: 61 72 61 6d 2c 20 22 76 61 6c 75 65 22 2c 20 70 aram, "value", p
7050: 61 72 61 6d 4e 61 6d 65 29 0d 0a 09 09 09 6f 62 aramName).....ob
7060: 6a 2e 61 70 70 65 6e 64 43 68 69 6c 64 28 70 61 j.appendChild(pa
7070: 72 61 6d 29 0d 0a 09 09 09 70 61 72 61 6d 3d 78 ram).....param=x
7080: 6d 6c 2e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 ml.createElement
7090: 28 22 70 61 72 61 6d 22 29 0d 0a 09 09 09 53 65 ("param").....Se
70a0: 74 41 74 74 72 69 62 28 70 61 72 61 6d 2c 20 22 tAttrib(param, "
70b0: 6e 61 6d 65 22 2c 20 22 49 74 65 6d 31 22 29 0d name", "Item1").
70c0: 0a 09 09 09 53 65 74 41 74 74 72 69 62 28 70 61 ....SetAttrib(pa
70d0: 72 61 6d 2c 20 22 76 61 6c 75 65 22 2c 20 22 22 ram, "value", ""
70e0: 29 0d 0a 09 09 09 6f 62 6a 2e 61 70 70 65 6e 64 ).....obj.append
70f0: 43 68 69 6c 64 28 70 61 72 61 6d 29 0d 0a 09 09 Child(param)....
7100: 09 0d 0a 09 09 09 66 6f 72 28 76 61 72 20 69 3d ......for(var i=
7110: 31 3b 69 3c 72 65 66 54 65 78 74 2e 6c 65 6e 67 1;i<refText.leng
7120: 74 68 3b 69 2b 2b 29 0d 0a 09 09 09 7b 0d 0a 09 th;i++).....{...
7130: 09 09 09 70 61 72 61 6d 3d 78 6d 6c 2e 63 72 65 ...param=xml.cre
7140: 61 74 65 45 6c 65 6d 65 6e 74 28 22 70 61 72 61 ateElement("para
7150: 6d 22 29 0d 0a 09 09 09 09 53 65 74 41 74 74 72 m")......SetAttr
7160: 69 62 28 70 61 72 61 6d 2c 20 22 6e 61 6d 65 22 ib(param, "name"
7170: 2c 20 22 49 74 65 6d 22 2b 28 69 2b 31 29 29 0d , "Item"+(i+1)).
7180: 0a 09 09 09 09 53 65 74 41 74 74 72 69 62 28 70 .....SetAttrib(p
7190: 61 72 61 6d 2c 20 22 76 61 6c 75 65 22 2c 20 72 aram, "value", r
71a0: 65 66 54 65 78 74 5b 69 5d 29 0d 0a 09 09 09 09 efText[i])......
71b0: 6f 62 6a 2e 61 70 70 65 6e 64 43 68 69 6c 64 28 obj.appendChild(
71c0: 70 61 72 61 6d 29 0d 0a 09 09 09 7d 0d 0a 09 09 param).....}....
71d0: 09 53 65 74 41 74 74 72 69 62 28 6c 69 6e 6b 2c .SetAttrib(link,
71e0: 20 22 68 72 65 66 22 2c 20 22 4a 61 76 61 53 63 "href", "JavaSc
71f0: 72 69 70 74 3a 22 2b 69 64 4e 61 6d 65 2b 22 2e ript:"+idName+".
7200: 43 6c 69 63 6b 28 29 22 29 0d 0a 09 09 09 6c 69 Click()").....li
7210: 6e 6b 2e 70 61 72 65 6e 74 4e 6f 64 65 2e 69 6e nk.parentNode.in
7220: 73 65 72 74 42 65 66 6f 72 65 28 6f 62 6a 2c 20 sertBefore(obj,
7230: 6c 69 6e 6b 29 0d 0a 09 09 7d 0d 0a 09 7d 0d 0a link)....}...}..
7240: 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 6d 61 }....function ma
7250: 69 6e 28 29 0d 0a 7b 0d 0a 09 76 61 72 20 61 72 in()..{...var ar
7260: 67 63 3d 57 53 63 72 69 70 74 2e 41 72 67 75 6d gc=WScript.Argum
7270: 65 6e 74 73 2e 43 6f 75 6e 74 28 29 0d 0a 09 69 ents.Count()...i
7280: 66 28 21 61 72 67 63 29 0d 0a 09 09 46 61 74 61 f(!argc)....Fata
7290: 6c 45 72 72 6f 72 28 22 75 73 61 67 65 3a 20 63 lError("usage: c
72a0: 73 63 72 69 70 74 2e 65 78 65 20 68 74 6d 6c 32 script.exe html2
72b0: 63 68 6d 2e 6a 73 20 49 6e 46 69 6c 65 4e 61 6d chm.js InFileNam
72c0: 65 20 5b 6f 75 74 46 69 6c 65 73 44 69 72 5d 22 e [outFilesDir]"
72d0: 29 0d 0a 09 0d 0a 09 2f 2f 20 c3 ee f2 ee e2 e8 )......// ......
72e0: ec 20 e2 f5 ee e4 ed ee e9 20 f4 e0 e9 eb 0d 0a . ....... ......
72f0: 09 50 72 65 70 65 61 72 65 46 69 6c 65 28 57 53 .PrepeareFile(WS
7300: 63 72 69 70 74 2e 41 72 67 75 6d 65 6e 74 73 2e cript.Arguments.
7310: 69 74 65 6d 28 30 29 29 0d 0a 09 0d 0a 09 6f 75 item(0))......ou
7320: 74 44 69 72 3d 69 6e 74 44 69 72 0d 0a 09 2f 2f tDir=intDir...//
7330: 20 c2 ee e7 ec ee e6 ed ee 20 e7 e0 e4 e0 ed 20 ........ .....
7340: e2 fb f5 ee e4 ed ee e9 20 ea e0 f2 e0 eb ee e3 ........ .......
7350: 20 e2 20 ef e0 f0 e0 ec e5 f2 f0 e0 f5 0d 0a 09 . .............
7360: 69 66 28 61 72 67 63 3e 31 29 0d 0a 09 7b 0d 0a if(argc>1)...{..
7370: 09 09 74 72 79 7b 0d 0a 09 09 09 76 61 72 20 66 ..try{.....var f
7380: 4f 75 74 44 69 72 3d 66 73 6f 2e 47 65 74 46 6f OutDir=fso.GetFo
7390: 6c 64 65 72 28 57 53 63 72 69 70 74 2e 41 72 67 lder(WScript.Arg
73a0: 75 6d 65 6e 74 73 2e 69 74 65 6d 28 31 29 29 0d uments.item(1)).
73b0: 0a 09 09 7d 63 61 74 63 68 28 65 29 0d 0a 09 09 ...}catch(e)....
73c0: 7b 0d 0a 09 09 09 46 61 74 61 6c 45 72 72 6f 72 {.....FatalError
73d0: 28 22 63 61 6e 27 74 20 67 65 74 20 6f 75 74 64 ("can't get outd
73e0: 69 72 20 22 2b 57 53 63 72 69 70 74 2e 41 72 67 ir "+WScript.Arg
73f0: 75 6d 65 6e 74 73 2e 69 74 65 6d 28 31 29 2b 27 uments.item(1)+'
7400: 5c 6e 27 2b 65 2e 44 65 73 63 72 69 70 74 69 6f \n'+e.Descriptio
7410: 6e 29 0d 0a 09 09 7d 0d 0a 09 09 6f 75 74 44 69 n)....}....outDi
7420: 72 3d 66 4f 75 74 44 69 72 2e 50 61 74 68 0d 0a r=fOutDir.Path..
7430: 09 7d 0d 0a 09 2f 2f 20 c4 ee ef ee eb ed e8 ec .}...// ........
7440: 20 ef ee 20 ed e5 ee e1 f5 ee e4 e8 ec ee f1 f2 .. ............
7450: e8 20 f1 eb fd f8 e5 ec 0d 0a 09 69 66 28 21 6f . .........if(!o
7460: 75 74 44 69 72 2e 6d 61 74 63 68 28 2f 5c 5c 24 utDir.match(/\\$
7470: 2f 29 29 0d 0a 09 09 6f 75 74 44 69 72 2b 3d 27 /))....outDir+='
7480: 5c 5c 27 0d 0a 0d 0a 09 78 6d 6c 3d 6e 65 77 20 \\'.....xml=new
7490: 41 63 74 69 76 65 58 4f 62 6a 65 63 74 28 78 6d ActiveXObject(xm
74a0: 6c 50 72 6f 67 49 44 29 0d 0a 09 69 66 28 21 78 lProgID)...if(!x
74b0: 6d 6c 29 0d 0a 09 09 46 61 74 61 6c 45 72 72 6f ml)....FatalErro
74c0: 72 28 22 45 72 72 6f 72 20 63 72 65 61 74 65 20 r("Error create
74d0: 78 6d 6c 20 64 6f 63 22 29 0d 0a 0d 0a 20 20 20 xml doc")....
74e0: 20 78 6d 6c 2e 61 73 79 6e 63 20 3d 20 66 61 6c xml.async = fal
74f0: 73 65 0d 0a 20 20 20 20 78 6d 6c 2e 76 61 6c 69 se.. xml.vali
7500: 64 61 74 65 4f 6e 50 61 72 73 65 20 3d 20 66 61 dateOnParse = fa
7510: 6c 73 65 0d 0a 20 20 20 20 78 6d 6c 2e 72 65 73 lse.. xml.res
7520: 6f 6c 76 65 45 78 74 65 72 6e 61 6c 73 20 3d 20 olveExternals =
7530: 66 61 6c 73 65 0d 0a 20 20 20 20 69 66 28 21 78 false.. if(!x
7540: 6d 6c 2e 6c 6f 61 64 28 57 53 63 72 69 70 74 2e ml.load(WScript.
7550: 41 72 67 75 6d 65 6e 74 73 2e 69 74 65 6d 28 30 Arguments.item(0
7560: 29 29 29 0d 0a 09 09 46 61 74 61 6c 45 72 72 6f )))....FatalErro
7570: 72 28 22 6e 6f 74 20 6c 6f 61 64 20 78 6d 6c 5c r("not load xml\
7580: 72 5c 6e 6c 69 6e 65 3a 20 22 2b 78 6d 6c 2e 70 r\nline: "+xml.p
7590: 61 72 73 65 45 72 72 6f 72 2e 6c 69 6e 65 2b 22 arseError.line+"
75a0: 5c 72 5c 6e 72 65 61 73 6f 6e 3a 20 22 2b 78 6d \r\nreason: "+xm
75b0: 6c 2e 70 61 72 73 65 45 72 72 6f 72 2e 72 65 61 l.parseError.rea
75c0: 73 6f 6e 29 0d 0a 09 0d 0a 09 0d 0a 09 76 61 72 son).........var
75d0: 20 6e 6f 64 65 48 74 6d 6c 3d 78 6d 6c 2e 64 6f nodeHtml=xml.do
75e0: 63 75 6d 65 6e 74 45 6c 65 6d 65 6e 74 09 0d 0a cumentElement...
75f0: 09 6e 6f 64 65 48 65 61 64 3d 6e 6f 64 65 48 74 .nodeHead=nodeHt
7600: 6d 6c 2e 73 65 6c 65 63 74 53 69 6e 67 6c 65 4e ml.selectSingleN
7610: 6f 64 65 28 22 68 65 61 64 22 29 0d 0a 09 6e 6f ode("head")...no
7620: 64 65 42 6f 64 79 3d 6e 6f 64 65 48 74 6d 6c 2e deBody=nodeHtml.
7630: 73 65 6c 65 63 74 53 69 6e 67 6c 65 4e 6f 64 65 selectSingleNode
7640: 28 22 62 6f 64 79 22 29 2e 63 6c 6f 6e 65 4e 6f ("body").cloneNo
7650: 64 65 28 66 61 6c 73 65 29 0d 0a 09 6e 6f 64 65 de(false)...node
7660: 44 6f 63 75 6d 65 6e 74 3d 6e 6f 64 65 48 74 6d Document=nodeHtm
7670: 6c 2e 73 65 6c 65 63 74 53 69 6e 67 6c 65 4e 6f l.selectSingleNo
7680: 64 65 28 22 2f 2f 64 69 76 5b 40 63 6c 61 73 73 de("//div[@class
7690: 3d 27 64 6f 63 75 6d 65 6e 74 27 5d 22 29 0d 0a ='document']")..
76a0: 09 6e 6f 64 65 43 6f 6d 6d 6f 6e 3d 6e 6f 64 65 .nodeCommon=node
76b0: 48 74 6d 6c 2e 73 65 6c 65 63 74 53 69 6e 67 6c Html.selectSingl
76c0: 65 4e 6f 64 65 28 22 2f 2f 78 6d 6c 5b 63 6f 6d eNode("//xml[com
76d0: 6d 6f 6e 5d 22 29 0d 0a 09 09 0d 0a 09 69 66 28 mon]").......if(
76e0: 21 6e 6f 64 65 44 6f 63 75 6d 65 6e 74 29 0d 0a !nodeDocument)..
76f0: 09 09 46 61 74 61 6c 45 72 72 6f 72 28 22 6e 6f ..FatalError("no
7700: 74 20 66 69 6e 64 20 64 6f 63 75 6d 65 6e 74 22 t find document"
7710: 29 0d 0a 09 2f 2f 20 d3 e4 e0 eb e8 ec 20 e2 f1 )...// ...... ..
7720: e5 20 ea e0 ec e5 ed f2 fb 0d 0a 09 76 61 72 20 . ..........var
7730: 63 6f 6d 6d 65 6e 74 73 3d 6e 6f 64 65 48 74 6d comments=nodeHtm
7740: 6c 2e 73 65 6c 65 63 74 4e 6f 64 65 73 28 22 2f l.selectNodes("/
7750: 2f 63 6f 6d 6d 65 6e 74 28 29 22 29 0d 0a 09 66 /comment()")...f
7760: 6f 72 28 76 61 72 20 69 3d 30 3b 69 3c 63 6f 6d or(var i=0;i<com
7770: 6d 65 6e 74 73 2e 6c 65 6e 67 74 68 3b 69 2b 2b ments.length;i++
7780: 29 0d 0a 09 09 63 6f 6d 6d 65 6e 74 73 2e 69 74 )....comments.it
7790: 65 6d 28 69 29 2e 70 61 72 65 6e 74 4e 6f 64 65 em(i).parentNode
77a0: 2e 72 65 6d 6f 76 65 43 68 69 6c 64 28 63 6f 6d .removeChild(com
77b0: 6d 65 6e 74 73 2e 69 74 65 6d 28 69 29 29 0d 0a ments.item(i))..
77c0: 0d 0a 09 76 61 72 20 74 69 74 6c 65 3d 6e 6f 64 ...var title=nod
77d0: 65 44 6f 63 75 6d 65 6e 74 2e 73 65 6c 65 63 74 eDocument.select
77e0: 53 69 6e 67 6c 65 4e 6f 64 65 28 22 68 31 5b 63 SingleNode("h1[c
77f0: 6f 6e 74 61 69 6e 73 28 40 63 6c 61 73 73 2c 20 ontains(@class,
7800: 27 74 69 74 6c 65 27 29 5d 22 29 0d 0a 09 69 66 'title')]")...if
7810: 28 21 74 69 74 6c 65 29 0d 0a 09 09 46 61 74 61 (!title)....Fata
7820: 6c 45 72 72 6f 72 28 22 4e 6f 74 20 66 6f 75 6e lError("Not foun
7830: 64 20 74 69 74 6c 65 22 29 0d 0a 09 52 6f 6f 74 d title")...Root
7840: 54 69 74 6c 65 3d 74 69 74 6c 65 2e 74 65 78 74 Title=title.text
7850: 0d 0a 09 0d 0a 09 76 61 72 20 63 6f 6e 74 65 6e ......var conten
7860: 74 3d 6e 6f 64 65 44 6f 63 75 6d 65 6e 74 2e 73 t=nodeDocument.s
7870: 65 6c 65 63 74 53 69 6e 67 6c 65 4e 6f 64 65 28 electSingleNode(
7880: 22 64 69 76 5b 40 63 6c 61 73 73 3d 27 63 6f 6e "div[@class='con
7890: 74 65 6e 74 73 20 74 6f 70 69 63 27 5d 22 29 0d tents topic']").
78a0: 0a 09 69 66 28 21 63 6f 6e 74 65 6e 74 29 0d 0a ..if(!content)..
78b0: 09 09 46 61 74 61 6c 45 72 72 6f 72 28 22 4e 6f ..FatalError("No
78c0: 74 20 66 6f 75 6e 64 20 63 6f 6e 74 65 6e 74 73 t found contents
78d0: 20 74 6f 70 69 63 22 29 0d 0a 09 0d 0a 09 2f 2f topic")......//
78e0: 20 d1 f0 e0 e7 f3 20 e7 e0 ec e5 ed e8 ec 20 e2 ..... ....... .
78f0: ee 20 e2 f1 e5 ec 20 e4 ee ea f3 ec e5 ed f2 e5 . .... .........
7900: 20 f1 f1 fb eb ea e8 20 ed e0 20 6b 6c 69 6e 6b ...... .. klink
7910: 2f 61 6c 69 6e 6b 0d 0a 09 50 72 6f 63 65 73 73 /alink...Process
7920: 41 4b 6c 69 6e 6b 42 75 74 74 6f 6e 73 28 22 41 AKlinkButtons("A
7930: 4c 69 6e 6b 22 2c 20 22 61 6c 69 6e 6b 22 29 0d Link", "alink").
7940: 0a 09 50 72 6f 63 65 73 73 41 4b 6c 69 6e 6b 42 ..ProcessAKlinkB
7950: 75 74 74 6f 6e 73 28 22 4b 4c 69 6e 6b 22 2c 20 uttons("KLink",
7960: 22 6b 6c 69 6e 6b 22 29 0d 0a 09 0d 0a 09 2f 2f "klink")......//
7970: 20 d1 ee e7 e4 e0 e4 e8 ec 20 ea ee f0 ed e5 e2 ........ ......
7980: f3 fe 20 f1 e5 ea f6 e8 fe 0d 0a 09 2f 2f 64 65 .. .........//de
7990: 62 75 67 67 65 72 0d 0a 09 52 6f 6f 74 54 6f 70 bugger...RootTop
79a0: 69 63 3d 6e 65 77 20 44 6f 63 53 65 63 74 69 6f ic=new DocSectio
79b0: 6e 28 6e 75 6c 6c 2c 20 6e 6f 64 65 44 6f 63 75 n(null, nodeDocu
79c0: 6d 65 6e 74 29 0d 0a 09 2f 2f 20 d1 ee e7 e4 e0 ment)...// .....
79d0: e4 e8 ec 20 ea ee f0 e5 ed fc 20 e4 eb ff 20 e4 ... ...... ... .
79e0: e5 f0 e5 e2 e0 20 e8 ed e4 e5 ea f1 ee e2 0d 0a ..... ..........
79f0: 09 68 68 6b 52 6f 6f 74 3d 6e 65 77 20 48 48 4b .hhkRoot=new HHK
7a00: 4e 6f 64 65 28 29 0d 0a 0d 0a 09 2f 2f 20 d0 e0 Node().....// ..
7a10: e7 ee e1 fa e5 ec 20 e4 ee ea f3 ec e5 ed f2 20 ...... ........
7a20: ed e0 20 f2 ee ef e8 ea e8 0d 0a 09 53 70 6c 69 .. .........Spli
7a30: 74 32 54 6f 70 69 63 28 63 6f 6e 74 65 6e 74 29 t2Topic(content)
7a40: 0d 0a 09 0d 0a 09 2f 2f 20 d1 ee e7 e4 e0 e4 e8 ......// .......
7a50: ec 20 f4 e0 e9 eb fb 20 ef f0 ee e5 ea f2 e0 0d . ..... ........
7a60: 0a 09 4d 61 6b 65 48 48 50 46 69 6c 65 73 28 29 ..MakeHHPFiles()
7a70: 0d 0a 09 0d 0a 09 2f 2f 20 c8 20 ed e0 ef ee f1 ......// . .....
7a80: eb e5 e4 ee ea 20 f4 e0 e9 eb 20 e7 e0 f7 e8 f1 ..... .... .....
7a90: f2 ea e8 0d 0a 09 76 61 72 20 65 72 61 73 65 66 ......var erasef
7aa0: 69 6c 65 3d 66 73 6f 2e 43 72 65 61 74 65 54 65 ile=fso.CreateTe
7ab0: 78 74 46 69 6c 65 28 69 6e 74 44 69 72 2b 69 6e xtFile(intDir+in
7ac0: 46 69 6c 65 4e 61 6d 65 2b 22 64 65 6c 2e 62 61 FileName+"del.ba
7ad0: 74 22 29 0d 0a 09 65 72 61 73 65 66 69 6c 65 2e t")...erasefile.
7ae0: 57 72 69 74 65 4c 69 6e 65 28 22 40 65 63 68 6f WriteLine("@echo
7af0: 20 6f 66 66 22 29 0d 0a 09 66 6f 72 28 76 61 72 off")...for(var
7b00: 20 69 20 69 6e 20 43 72 65 61 74 65 64 46 69 6c i in CreatedFil
7b10: 65 73 29 0d 0a 09 09 65 72 61 73 65 66 69 6c 65 es)....erasefile
7b20: 2e 57 72 69 74 65 4c 69 6e 65 28 27 64 65 6c 20 .WriteLine('del
7b30: 22 27 2b 69 2b 27 22 27 29 0d 0a 09 65 72 61 73 "'+i+'"')...eras
7b40: 65 66 69 6c 65 2e 43 6c 6f 73 65 28 29 0d 0a 7d efile.Close()..}
7b50: 0d 0a 0d 0a 6d 61 69 6e 28 29 0d 0a 57 53 63 72 ....main()..WScr
7b60: 69 70 74 2e 51 75 69 74 28 30 29 ipt.Quit(0)