| ofs | hex dump | ascii |
|---|
| 0000 | 65 73 78 6d 6c 2d 32 30 32 35 30 34 32 31 2e 31 36 33 32 2f 00 00 00 00 00 00 00 00 00 00 00 00 | esxml-20250421.1632/............ |
| 0020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0060 | 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000755.0000000.0000000.0000 |
| 0080 | 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 31 33 34 00 20 35 00 00 00 | 0000000.00000000000.012134..5... |
| 00a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 00c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 00e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0100 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... |
| 0120 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... |
| 0140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 01a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 01c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 01e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0200 | 65 73 78 6d 6c 2d 32 30 32 35 30 34 32 31 2e 31 36 33 32 2f 65 73 78 6d 6c 2d 70 6b 67 2e 65 6c | esxml-20250421.1632/esxml-pkg.el |
| 0220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0260 | 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000644.0000000.0000000.0000 |
| 0280 | 30 30 30 30 36 33 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 33 36 34 00 20 30 00 00 00 | 0000630.00000000000.014364..0... |
| 02a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 02c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 02e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0300 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... |
| 0320 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... |
| 0340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 03a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 03c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 03e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0400 | 3b 3b 20 2d 2a 2d 20 6e 6f 2d 62 79 74 65 2d 63 6f 6d 70 69 6c 65 3a 20 74 3b 20 6c 65 78 69 63 | ;;.-*-.no-byte-compile:.t;.lexic |
| 0420 | 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 6e 69 6c 20 2d 2a 2d 0a 28 64 65 66 69 6e 65 2d 70 61 63 6b | al-binding:.nil.-*-.(define-pack |
| 0440 | 61 67 65 20 22 65 73 78 6d 6c 22 20 22 32 30 32 35 30 34 32 31 2e 31 36 33 32 22 0a 20 20 22 4c | age."esxml"."20250421.1632"..."L |
| 0460 | 69 62 72 61 72 79 20 66 6f 72 20 77 6f 72 6b 69 6e 67 20 77 69 74 68 20 78 6d 6c 20 76 69 61 20 | ibrary.for.working.with.xml.via. |
| 0480 | 65 73 78 6d 6c 20 61 6e 64 20 73 78 6d 6c 2e 22 0a 20 20 27 28 28 65 6d 61 63 73 20 20 22 32 34 | esxml.and.sxml."...'((emacs.."24 |
| 04a0 | 2e 31 22 29 0a 20 20 20 20 28 63 6c 2d 6c 69 62 20 22 30 2e 35 22 29 29 0a 20 20 3a 75 72 6c 20 | .1").....(cl-lib."0.5"))...:url. |
| 04c0 | 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 74 61 6c 69 37 31 33 2f 65 73 78 6d | "https://github.com/tali713/esxm |
| 04e0 | 6c 22 0a 20 20 3a 63 6f 6d 6d 69 74 20 22 61 66 66 61 64 61 31 34 33 66 65 64 37 65 32 64 61 30 | l"...:commit."affada143fed7e2da0 |
| 0500 | 38 66 32 62 33 64 39 32 37 61 30 32 37 66 32 36 61 64 34 61 38 66 22 0a 20 20 3a 72 65 76 64 65 | 8f2b3d927a027f26ad4a8f"...:revde |
| 0520 | 73 63 20 22 61 66 66 61 64 61 31 34 33 66 65 64 22 0a 20 20 3a 6b 65 79 77 6f 72 64 73 20 27 28 | sc."affada143fed"...:keywords.'( |
| 0540 | 22 74 6f 6f 6c 73 22 20 22 6c 69 73 70 22 20 22 63 6f 6d 6d 22 29 0a 20 20 3a 61 75 74 68 6f 72 | "tools"."lisp"."comm")...:author |
| 0560 | 73 20 27 28 28 22 56 61 6e 79 61 20 49 7a 61 6b 73 6f 6e 61 73 2d 53 6d 69 74 68 22 20 2e 20 22 | s.'(("Vanya.Izaksonas-Smith"..." |
| 0580 | 69 7a 61 6b 30 30 30 32 61 74 75 6d 6e 64 6f 74 65 64 75 22 29 29 29 0a 00 00 00 00 00 00 00 00 | izak0002atumndotedu")))......... |
| 05a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 05c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 05e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0600 | 65 73 78 6d 6c 2d 32 30 32 35 30 34 32 31 2e 31 36 33 32 2f 65 73 78 6d 6c 2d 71 75 65 72 79 2e | esxml-20250421.1632/esxml-query. |
| 0620 | 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | el.............................. |
| 0640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0660 | 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000644.0000000.0000000.0000 |
| 0680 | 30 30 37 31 30 33 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 37 35 37 00 20 30 00 00 00 | 0071035.00000000000.014757..0... |
| 06a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 06c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 06e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0700 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... |
| 0720 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... |
| 0740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 07a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 07c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 07e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0800 | 3b 3b 3b 20 65 73 78 6d 6c 2d 71 75 65 72 79 2e 65 6c 20 2d 2d 2d 20 73 65 6c 65 63 74 20 65 73 | ;;;.esxml-query.el.---.select.es |
| 0820 | 78 6d 6c 20 6e 6f 64 65 73 20 6a 51 75 65 72 79 2d 73 74 79 6c 65 20 20 2d 2a 2d 20 6c 65 78 69 | xml.nodes.jQuery-style..-*-.lexi |
| 0840 | 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 | cal-binding:.t;.-*-..;;.Copyrigh |
| 0860 | 74 20 28 43 29 20 32 30 31 37 20 56 61 73 69 6c 69 6a 20 53 63 68 6e 65 69 64 65 72 6d 61 6e 6e | t.(C).2017.Vasilij.Schneidermann |
| 0880 | 20 3c 6d 61 69 6c 40 76 61 73 69 6c 69 6a 2e 64 65 3e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 56 | .<mail@vasilij.de>..;;.Author:.V |
| 08a0 | 61 73 69 6c 69 6a 20 53 63 68 6e 65 69 64 65 72 6d 61 6e 6e 20 3c 6d 61 69 6c 40 76 61 73 69 6c | asilij.Schneidermann.<mail@vasil |
| 08c0 | 69 6a 2e 64 65 3e 0a 3b 3b 20 4d 61 69 6e 74 61 69 6e 65 72 3a 20 56 61 73 69 6c 69 6a 20 53 63 | ij.de>.;;.Maintainer:.Vasilij.Sc |
| 08e0 | 68 6e 65 69 64 65 72 6d 61 6e 6e 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 64 61 74 61 2c 20 6c | hneidermann.;;.Keywords:.data,.l |
| 0900 | 69 73 70 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 71 75 69 72 65 73 3a 20 28 28 63 6c 2d 6c 69 | isp.;;.Package-Requires:.((cl-li |
| 0920 | 62 20 22 30 2e 31 22 29 29 0a 3b 3b 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 | b."0.1")).;;.;;.This.program.is. |
| 0940 | 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 | free.software;.you.can.redistrib |
| 0960 | 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 0a 3b 3b 20 6d 6f 64 69 66 79 20 69 74 20 75 6e 64 65 72 | ute.it.and/or.;;.modify.it.under |
| 0980 | 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 | .the.terms.of.the.GNU.General.Pu |
| 09a0 | 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 0a 3b 3b 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 | blic.License.as.;;.published.by. |
| 09c0 | 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 | the.Free.Software.Foundation,.ei |
| 09e0 | 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 0a 3b 3b 20 4c 69 63 65 6e 73 65 | ther.version.3.of.the.;;.License |
| 0a00 | 2c 20 6f 72 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 | ,.or.(at.your.option).any.later. |
| 0a20 | 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 | version...;;.This.program.is.dis |
| 0a40 | 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c | tributed.in.the.hope.that.it.wil |
| 0a60 | 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 | l.be.useful,.;;.but.WITHOUT.ANY. |
| 0a80 | 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 | WARRANTY;.without.even.the.impli |
| 0aa0 | 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 | ed.warranty.of.;;.MERCHANTABILIT |
| 0ac0 | 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 | Y.or.FITNESS.FOR.A.PARTICULAR.PU |
| 0ae0 | 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 | RPOSE...See.the.;;.GNU.General.P |
| 0b00 | 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a | ublic.License.for.more.details.. |
| 0b20 | 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 | .;;.You.should.have.received.a.c |
| 0b40 | 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 | opy.of.the.GNU.General.Public.Li |
| 0b60 | 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d | cense.;;.along.with.this.program |
| 0b80 | 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f | ...If.not,.see.<http://www.gnu.o |
| 0ba0 | 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a | rg/licenses/>...;;;.Commentary:. |
| 0bc0 | 0a 3b 3b 20 54 72 61 64 69 74 69 6f 6e 61 6c 6c 79 20 70 65 6f 70 6c 65 20 70 69 63 6b 20 6f 6e | .;;.Traditionally.people.pick.on |
| 0be0 | 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6f 70 74 69 6f 6e 73 20 77 68 65 6e 20 | e.of.the.following.options.when. |
| 0c00 | 66 61 63 65 64 0a 3b 3b 20 77 69 74 68 20 74 68 65 20 74 61 73 6b 20 6f 66 20 65 78 74 72 61 63 | faced.;;.with.the.task.of.extrac |
| 0c20 | 74 69 6e 67 20 64 61 74 61 20 66 72 6f 6d 20 58 4d 4c 20 69 6e 20 45 6d 61 63 73 20 4c 69 73 70 | ting.data.from.XML.in.Emacs.Lisp |
| 0c40 | 3a 0a 3b 3b 0a 3b 3b 20 2d 20 55 73 69 6e 67 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 | :.;;.;;.-.Using.regular.expressi |
| 0c60 | 6f 6e 73 20 6f 6e 20 74 68 65 20 75 6e 70 61 72 73 65 64 20 64 6f 63 75 6d 65 6e 74 0a 3b 3b 20 | ons.on.the.unparsed.document.;;. |
| 0c80 | 2d 20 4d 61 6e 75 61 6c 20 74 72 65 65 20 74 72 61 76 65 72 73 61 6c 20 77 69 74 68 20 60 61 73 | -.Manual.tree.traversal.with.`as |
| 0ca0 | 73 6f 63 27 2c 20 60 63 61 72 27 20 61 6e 64 20 60 63 64 72 27 0a 3b 3b 0a 3b 3b 20 42 72 6f 77 | soc',.`car'.and.`cdr'.;;.;;.Brow |
| 0cc0 | 73 65 72 73 20 66 61 63 65 64 20 61 20 73 69 6d 69 6c 61 72 20 70 72 6f 62 6c 65 6d 20 75 6e 74 | sers.faced.a.similar.problem.unt |
| 0ce0 | 69 6c 20 6a 51 75 65 72 79 20 68 61 70 70 65 6e 65 64 2c 20 73 68 6f 72 74 6c 79 0a 3b 3b 20 61 | il.jQuery.happened,.shortly.;;.a |
| 0d00 | 66 74 65 72 77 61 72 64 73 20 74 68 65 79 20 73 74 61 72 74 65 64 20 70 72 6f 76 69 64 69 6e 67 | fterwards.they.started.providing |
| 0d20 | 20 74 68 65 20 60 6e 6f 64 65 2e 71 75 65 72 79 53 65 6c 65 63 74 6f 72 27 20 61 6e 64 0a 3b 3b | .the.`node.querySelector'.and.;; |
| 0d40 | 20 60 6e 6f 64 65 2e 71 75 65 72 79 53 65 6c 65 63 74 6f 72 41 6c 6c 27 20 41 50 49 20 66 6f 72 | .`node.querySelectorAll'.API.for |
| 0d60 | 20 72 65 74 72 69 65 76 69 6e 67 20 6f 6e 65 20 6f 72 20 61 6c 6c 20 6e 6f 64 65 73 0a 3b 3b 20 | .retrieving.one.or.all.nodes.;;. |
| 0d80 | 6d 61 74 63 68 69 6e 67 20 61 20 67 69 76 65 6e 20 43 53 53 20 73 65 6c 65 63 74 6f 72 2e 20 20 | matching.a.given.CSS.selector... |
| 0da0 | 54 68 69 73 20 63 6f 64 65 20 69 6d 70 6c 65 6d 65 6e 74 73 20 74 68 65 20 73 61 6d 65 20 41 50 | This.code.implements.the.same.AP |
| 0dc0 | 49 0a 3b 3b 20 77 69 74 68 20 74 68 65 20 60 65 73 78 6d 6c 2d 71 75 65 72 79 27 20 61 6e 64 20 | I.;;.with.the.`esxml-query'.and. |
| 0de0 | 60 65 73 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 27 20 66 75 6e 63 74 69 6f 6e 73 2e 20 20 54 68 | `esxml-query-all'.functions...Th |
| 0e00 | 65 0a 3b 3b 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 75 6d 6d 61 72 69 7a 65 73 20 | e.;;.following.table.summarizes. |
| 0e20 | 74 68 65 20 63 75 72 72 65 6e 74 6c 79 20 73 75 70 70 6f 72 74 65 64 20 6d 6f 64 69 66 69 65 72 | the.currently.supported.modifier |
| 0e40 | 73 20 61 6e 64 0a 3b 3b 20 63 6f 6d 62 69 6e 61 74 6f 72 73 3a 0a 3b 3b 0a 3b 3b 20 7c 20 4e 61 | s.and.;;.combinators:.;;.;;.|.Na |
| 0e60 | 6d 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | me.............................. |
| 0e80 | 20 7c 20 53 75 70 70 6f 72 74 65 64 3f 20 7c 20 53 79 6e 74 61 78 20 20 20 20 20 20 7c 0a 3b 3b | .|.Supported?.|.Syntax......|.;; |
| 0ea0 | 20 7c 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | .|------------------------------ |
| 0ec0 | 2d 2d 2d 2d 2d 2d 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ------+------------+------------ |
| 0ee0 | 2d 7c 0a 3b 3b 20 7c 20 4e 61 6d 65 73 70 61 63 65 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -|.;;.|.Namespaces.............. |
| 0f00 | 20 20 20 20 20 20 20 20 20 20 20 7c 20 4e 6f 20 20 20 20 20 20 20 20 20 7c 20 66 6f 6f 7c 62 61 | ...........|.No.........|.foo|ba |
| 0f20 | 72 20 20 20 20 20 7c 0a 3b 3b 20 7c 20 43 6f 6d 6d 61 73 20 20 20 20 20 20 20 20 20 20 20 20 20 | r.....|.;;.|.Commas............. |
| 0f40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 59 65 73 20 20 20 20 20 20 20 20 7c 20 66 | ................|.Yes........|.f |
| 0f60 | 6f 6f 2c 20 62 61 72 20 20 20 20 7c 0a 3b 3b 20 7c 20 44 65 73 63 65 6e 64 61 6e 74 20 63 6f 6d | oo,.bar....|.;;.|.Descendant.com |
| 0f80 | 62 69 6e 61 74 6f 72 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 59 65 73 20 20 20 20 20 20 | binator..............|.Yes...... |
| 0fa0 | 20 20 7c 20 66 6f 6f 20 62 61 72 20 20 20 20 20 7c 0a 3b 3b 20 7c 20 43 68 69 6c 64 20 63 6f 6d | ..|.foo.bar.....|.;;.|.Child.com |
| 0fc0 | 62 69 6e 61 74 6f 72 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 59 65 73 20 | binator...................|.Yes. |
| 0fe0 | 20 20 20 20 20 20 20 7c 20 66 6f 6f 3e 62 61 72 20 20 20 20 20 7c 0a 3b 3b 20 7c 20 41 64 6a 61 | .......|.foo>bar.....|.;;.|.Adja |
| 1000 | 63 65 6e 74 20 73 69 62 6c 69 6e 67 20 63 6f 6d 62 69 6e 61 74 6f 72 20 20 20 20 20 20 20 20 7c | cent.sibling.combinator........| |
| 1020 | 20 4e 6f 20 20 20 20 20 20 20 20 20 7c 20 66 6f 6f 2b 62 61 72 20 20 20 20 20 7c 0a 3b 3b 20 7c | .No.........|.foo+bar.....|.;;.| |
| 1040 | 20 47 65 6e 65 72 61 6c 20 73 69 62 6c 69 6e 67 20 63 6f 6d 62 69 6e 61 74 6f 72 20 20 20 20 20 | .General.sibling.combinator..... |
| 1060 | 20 20 20 20 7c 20 4e 6f 20 20 20 20 20 20 20 20 20 7c 20 66 6f 6f 7e 62 61 72 20 20 20 20 20 7c | ....|.No.........|.foo~bar.....| |
| 1080 | 0a 3b 3b 20 7c 20 55 6e 69 76 65 72 73 61 6c 20 73 65 6c 65 63 74 6f 72 20 20 20 20 20 20 20 20 | .;;.|.Universal.selector........ |
| 10a0 | 20 20 20 20 20 20 20 20 20 7c 20 59 65 73 20 20 20 20 20 20 20 20 7c 20 2a 20 20 20 20 20 20 20 | .........|.Yes........|.*....... |
| 10c0 | 20 20 20 20 7c 0a 3b 3b 20 7c 20 54 79 70 65 20 73 65 6c 65 63 74 6f 72 20 20 20 20 20 20 20 20 | ....|.;;.|.Type.selector........ |
| 10e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 59 65 73 20 20 20 20 20 20 20 20 7c 20 74 61 67 | ..............|.Yes........|.tag |
| 1100 | 20 20 20 20 20 20 20 20 20 7c 0a 3b 3b 20 7c 20 49 44 20 73 65 6c 65 63 74 6f 72 20 20 20 20 20 | .........|.;;.|.ID.selector..... |
| 1120 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 59 65 73 20 20 20 20 20 20 20 20 | ...................|.Yes........ |
| 1140 | 7c 20 23 66 6f 6f 20 20 20 20 20 20 20 20 7c 0a 3b 3b 20 7c 20 43 6c 61 73 73 20 73 65 6c 65 63 | |.#foo........|.;;.|.Class.selec |
| 1160 | 74 6f 72 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 59 65 73 20 20 20 | tor.....................|.Yes... |
| 1180 | 20 20 20 20 20 7c 20 2e 66 6f 6f 20 20 20 20 20 20 20 20 7c 0a 3b 3b 20 7c 20 41 74 74 72 69 62 | .....|..foo........|.;;.|.Attrib |
| 11a0 | 75 74 65 20 73 65 6c 65 63 74 6f 72 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 59 | ute.selector.................|.Y |
| 11c0 | 65 73 20 20 20 20 20 20 20 20 7c 20 5b 66 6f 6f 5d 20 20 20 20 20 20 20 7c 0a 3b 3b 20 7c 20 45 | es........|.[foo].......|.;;.|.E |
| 11e0 | 78 61 63 74 20 6d 61 74 63 68 20 61 74 74 72 69 62 75 74 65 20 73 65 6c 65 63 74 6f 72 20 20 20 | xact.match.attribute.selector... |
| 1200 | 20 20 7c 20 59 65 73 20 20 20 20 20 20 20 20 7c 20 5b 66 6f 6f 3d 62 61 72 5d 20 20 20 7c 0a 3b | ..|.Yes........|.[foo=bar]...|.; |
| 1220 | 3b 20 7c 20 50 72 65 66 69 78 20 6d 61 74 63 68 20 61 74 74 72 69 62 75 74 65 20 73 65 6c 65 63 | ;.|.Prefix.match.attribute.selec |
| 1240 | 74 6f 72 20 20 20 20 7c 20 59 65 73 20 20 20 20 20 20 20 20 7c 20 5b 66 6f 6f 5e 3d 62 61 72 5d | tor....|.Yes........|.[foo^=bar] |
| 1260 | 20 20 7c 0a 3b 3b 20 7c 20 53 75 66 66 69 78 20 6d 61 74 63 68 20 61 74 74 72 69 62 75 74 65 20 | ..|.;;.|.Suffix.match.attribute. |
| 1280 | 73 65 6c 65 63 74 6f 72 20 20 20 20 7c 20 59 65 73 20 20 20 20 20 20 20 20 7c 20 5b 66 6f 6f 24 | selector....|.Yes........|.[foo$ |
| 12a0 | 3d 62 61 72 5d 20 20 7c 0a 3b 3b 20 7c 20 53 75 62 73 74 72 69 6e 67 20 6d 61 74 63 68 20 61 74 | =bar]..|.;;.|.Substring.match.at |
| 12c0 | 74 72 69 62 75 74 65 20 73 65 6c 65 63 74 6f 72 20 7c 20 59 65 73 20 20 20 20 20 20 20 20 7c 20 | tribute.selector.|.Yes........|. |
| 12e0 | 5b 66 6f 6f 2a 3d 62 61 72 5d 20 20 7c 0a 3b 3b 20 7c 20 49 6e 63 6c 75 64 65 20 6d 61 74 63 68 | [foo*=bar]..|.;;.|.Include.match |
| 1300 | 20 61 74 74 72 69 62 75 74 65 20 73 65 6c 65 63 74 6f 72 20 20 20 7c 20 59 65 73 20 20 20 20 20 | .attribute.selector...|.Yes..... |
| 1320 | 20 20 20 7c 20 5b 66 6f 6f 7e 3d 62 61 72 5d 20 20 7c 0a 3b 3b 20 7c 20 44 61 73 68 20 6d 61 74 | ...|.[foo~=bar]..|.;;.|.Dash.mat |
| 1340 | 63 68 20 61 74 74 72 69 62 75 74 65 20 73 65 6c 65 63 74 6f 72 20 20 20 20 20 20 7c 20 59 65 73 | ch.attribute.selector......|.Yes |
| 1360 | 20 20 20 20 20 20 20 20 7c 20 5b 66 6f 6f 7c 3d 62 61 72 5d 20 20 7c 0a 3b 3b 20 7c 20 41 74 74 | ........|.[foo|=bar]..|.;;.|.Att |
| 1380 | 72 69 62 75 74 65 20 73 65 6c 65 63 74 6f 72 20 6d 6f 64 69 66 69 65 72 73 20 20 20 20 20 20 20 | ribute.selector.modifiers....... |
| 13a0 | 7c 20 4e 6f 20 20 20 20 20 20 20 20 20 7c 20 5b 66 6f 6f 3d 62 61 72 20 69 5d 20 7c 0a 3b 3b 20 | |.No.........|.[foo=bar.i].|.;;. |
| 13c0 | 7c 20 50 73 65 75 64 6f 20 65 6c 65 6d 65 6e 74 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |.Pseudo.elements............... |
| 13e0 | 20 20 20 20 20 7c 20 4e 6f 20 20 20 20 20 20 20 20 20 7c 20 3a 3a 66 6f 6f 20 20 20 20 20 20 20 | .....|.No.........|.::foo....... |
| 1400 | 7c 0a 3b 3b 20 7c 20 50 73 65 75 64 6f 20 63 6c 61 73 73 65 73 20 20 20 20 20 20 20 20 20 20 20 | |.;;.|.Pseudo.classes........... |
| 1420 | 20 20 20 20 20 20 20 20 20 20 7c 20 4e 6f 20 20 20 20 20 20 20 20 20 7c 20 3a 66 6f 6f 20 20 20 | ..........|.No.........|.:foo... |
| 1440 | 20 20 20 20 20 7c 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 63 6c 2d | .....|..;;;.Code:..(require.'cl- |
| 1460 | 6c 69 62 29 0a 0a 0c 0a 3b 3b 3b 20 43 53 53 20 73 65 6c 65 63 74 6f 72 20 70 61 72 73 69 6e 67 | lib)....;;;.CSS.selector.parsing |
| 1480 | 0a 0a 3b 3b 20 68 74 74 70 73 3a 2f 2f 77 77 77 2e 77 33 2e 6f 72 67 2f 54 52 2f 73 65 6c 65 63 | ..;;.https://www.w3.org/TR/selec |
| 14a0 | 74 6f 72 73 2f 23 77 33 63 73 65 6c 67 72 61 6d 6d 61 72 0a 3b 3b 20 68 74 74 70 73 3a 2f 2f 77 | tors/#w3cselgrammar.;;.https://w |
| 14c0 | 77 77 2e 77 33 2e 6f 72 67 2f 54 52 2f 73 65 6c 65 63 74 6f 72 73 34 2f 23 67 72 61 6d 6d 61 72 | ww.w3.org/TR/selectors4/#grammar |
| 14e0 | 0a 3b 3b 20 68 74 74 70 73 3a 2f 2f 77 77 77 2e 77 33 2e 6f 72 67 2f 54 52 2f 32 30 30 33 2f 57 | .;;.https://www.w3.org/TR/2003/W |
| 1500 | 44 2d 63 73 73 33 2d 73 79 6e 74 61 78 2d 32 30 30 33 30 38 31 33 2f 23 64 65 74 61 69 6c 65 64 | D-css3-syntax-20030813/#detailed |
| 1520 | 2d 67 72 61 6d 6d 61 72 0a 3b 3b 20 68 74 74 70 73 3a 2f 2f 77 77 77 2e 77 33 2e 6f 72 67 2f 54 | -grammar.;;.https://www.w3.org/T |
| 1540 | 52 2f 32 30 30 33 2f 57 44 2d 63 73 73 33 2d 73 79 6e 74 61 78 2d 32 30 30 33 30 38 31 33 2f 23 | R/2003/WD-css3-syntax-20030813/# |
| 1560 | 74 6f 6b 65 6e 69 7a 61 74 69 6f 6e 0a 0a 3b 3b 20 79 6f 75 20 6d 69 67 68 74 20 62 65 20 77 6f | tokenization..;;.you.might.be.wo |
| 1580 | 6e 64 65 72 69 6e 67 20 77 68 79 20 49 27 6d 20 75 73 69 6e 67 20 62 6f 74 68 20 6c 65 76 65 6c | ndering.why.I'm.using.both.level |
| 15a0 | 20 33 20 61 6e 64 20 34 20 73 74 61 6e 64 61 72 64 73 2c 0a 3b 3b 20 77 65 6c 6c 2c 20 74 68 65 | .3.and.4.standards,.;;.well,.the |
| 15c0 | 20 6c 65 76 65 6c 20 33 20 6f 6e 65 20 68 61 73 20 61 20 62 75 67 67 79 20 6c 65 78 65 72 20 73 | .level.3.one.has.a.buggy.lexer.s |
| 15e0 | 65 63 74 69 6f 6e 20 77 68 65 72 65 61 73 20 6c 65 76 65 6c 20 34 0a 3b 3b 20 6f 6d 69 74 73 20 | ection.whereas.level.4.;;.omits. |
| 1600 | 63 72 75 63 69 61 6c 20 70 61 72 73 65 72 20 64 65 66 69 6e 69 74 69 6f 6e 73 2c 20 73 6f 20 62 | crucial.parser.definitions,.so.b |
| 1620 | 6f 74 68 20 68 61 76 65 20 74 6f 20 62 65 20 75 73 65 64 2e 2e 2e 0a 0a 3b 3b 20 54 4f 44 4f 3a | oth.have.to.be.used.....;;.TODO: |
| 1640 | 20 72 65 6e 61 6d 65 20 74 6f 20 64 6f 6d 2d 71 75 65 72 79 2d 73 65 6c 65 63 74 6f 72 2f 2d 71 | .rename.to.dom-query-selector/-q |
| 1660 | 75 65 72 79 2d 73 65 6c 65 63 74 6f 72 2d 61 6c 6c 0a 3b 3b 20 54 4f 44 4f 3a 20 70 72 65 66 69 | uery-selector-all.;;.TODO:.prefi |
| 1680 | 78 20 65 76 65 72 79 74 68 69 6e 67 20 77 69 74 68 20 64 6f 6d 2d 0a 0a 3b 3b 20 54 4f 44 4f 3a | x.everything.with.dom-..;;.TODO: |
| 16a0 | 20 73 75 70 70 6f 72 74 20 3a 6e 6f 74 0a 28 64 65 66 76 61 72 20 65 73 78 6d 6c 2d 2d 63 73 73 | .support.:not.(defvar.esxml--css |
| 16c0 | 2d 73 65 6c 65 63 74 6f 72 2d 74 6f 6b 65 6e 2d 6d 61 74 63 68 65 72 73 0a 20 20 28 6c 65 74 2a | -selector-token-matchers...(let* |
| 16e0 | 20 28 28 68 20 22 5b 30 2d 39 61 2d 66 5d 22 29 0a 20 20 20 20 20 20 20 20 20 28 6e 6c 20 22 5c | .((h."[0-9a-f]")..........(nl."\ |
| 1700 | 6e 5c 5c 7c 5c 72 5c 6e 5c 5c 7c 5c 72 5c 5c 7c 5c 66 22 29 0a 20 20 20 20 20 20 20 20 20 28 6e | n\\|\r\n\\|\r\\|\f")..........(n |
| 1720 | 6f 6e 61 73 63 69 69 20 22 5b 5c 32 30 30 2d 5c 55 30 30 31 30 66 66 66 66 5d 22 29 0a 20 20 20 | onascii."[\200-\U0010ffff]").... |
| 1740 | 20 20 20 20 20 20 28 75 6e 69 63 6f 64 65 20 28 66 6f 72 6d 61 74 20 22 5c 5c 5c 5c 25 73 5c 5c | ......(unicode.(format."\\\\%s\\ |
| 1760 | 7b 31 2c 36 5c 5c 7d 5b 20 5c 74 5c 72 5c 6e 5c 66 5d 3f 22 20 68 29 29 0a 20 20 20 20 20 20 20 | {1,6\\}[.\t\r\n\f]?".h))........ |
| 1780 | 20 20 28 65 73 63 61 70 65 20 28 66 6f 72 6d 61 74 20 22 5c 5c 28 3f 3a 25 73 5c 5c 29 5c 5c 7c | ..(escape.(format."\\(?:%s\\)\\| |
| 17a0 | 5c 5c 5c 5c 5b 20 2d 7e 5c 32 30 30 2d 5c 55 30 30 31 30 66 66 66 66 5d 22 20 75 6e 69 63 6f 64 | \\\\[.-~\200-\U0010ffff]".unicod |
| 17c0 | 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 6d 73 74 61 72 74 20 28 66 6f 72 6d 61 74 20 22 5b | e))..........(nmstart.(format."[ |
| 17e0 | 61 2d 7a 5f 5d 5c 5c 7c 25 73 5c 5c 7c 5c 5c 28 3f 3a 25 73 5c 5c 29 22 20 6e 6f 6e 61 73 63 69 | a-z_]\\|%s\\|\\(?:%s\\)".nonasci |
| 1800 | 69 20 65 73 63 61 70 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 6d 63 68 61 72 20 28 66 6f 72 | i.escape))..........(nmchar.(for |
| 1820 | 6d 61 74 20 22 5b 61 2d 7a 30 2d 39 5f 2d 5d 5c 5c 7c 25 73 5c 5c 7c 5c 5c 28 3f 3a 25 73 5c 5c | mat."[a-z0-9_-]\\|%s\\|\\(?:%s\\ |
| 1840 | 29 22 20 6e 6f 6e 61 73 63 69 69 20 65 73 63 61 70 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e | )".nonascii.escape))..........(n |
| 1860 | 75 6d 20 22 5b 30 2d 39 5d 2b 5c 5c 7c 5b 30 2d 39 5d 2a 5c 5c 2e 5b 30 2d 39 5d 2b 22 29 0a 20 | um."[0-9]+\\|[0-9]*\\.[0-9]+").. |
| 1880 | 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 31 20 28 66 6f 72 6d 61 74 20 22 5c 22 5c 5c 28 3f | ........(string1.(format."\"\\(? |
| 18a0 | 3a 5b 5c 74 20 21 23 24 25 25 26 28 2d 7e 5d 5c 5c 7c 5c 5c 5c 5c 5c 5c 28 3f 3a 25 73 5c 5c 29 | :[\t.!#$%%&(-~]\\|\\\\\\(?:%s\\) |
| 18c0 | 5c 5c 7c 27 5c 5c 7c 25 73 5c 5c 7c 5c 5c 28 3f 3a 25 73 5c 5c 29 5c 5c 29 2a 5c 22 22 20 6e 6c | \\|'\\|%s\\|\\(?:%s\\)\\)*\"".nl |
| 18e0 | 20 6e 6f 6e 61 73 63 69 69 20 65 73 63 61 70 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 74 72 | .nonascii.escape))..........(str |
| 1900 | 69 6e 67 32 20 28 66 6f 72 6d 61 74 20 22 27 5c 5c 28 3f 3a 5b 5c 74 20 21 23 24 25 25 26 28 2d | ing2.(format."'\\(?:[\t.!#$%%&(- |
| 1920 | 7e 5d 5c 5c 7c 5c 5c 5c 5c 5c 5c 28 3f 3a 25 73 5c 5c 29 5c 5c 7c 5c 22 5c 5c 7c 25 73 5c 5c 7c | ~]\\|\\\\\\(?:%s\\)\\|\"\\|%s\\| |
| 1940 | 5c 5c 28 3f 3a 25 73 5c 5c 29 5c 5c 29 2a 27 22 20 6e 6c 20 6e 6f 6e 61 73 63 69 69 20 65 73 63 | \\(?:%s\\)\\)*'".nl.nonascii.esc |
| 1960 | 61 70 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 69 64 65 6e 74 20 28 66 6f 72 6d 61 74 20 22 5b | ape))..........(ident.(format."[ |
| 1980 | 2d 5d 3f 5c 5c 28 3f 3a 25 73 5c 5c 29 5c 5c 28 3f 3a 25 73 5c 5c 29 2a 22 20 6e 6d 73 74 61 72 | -]?\\(?:%s\\)\\(?:%s\\)*".nmstar |
| 19a0 | 74 20 6e 6d 63 68 61 72 29 29 0a 20 20 20 20 20 20 20 20 20 28 75 6e 69 74 20 28 66 6f 72 6d 61 | t.nmchar))..........(unit.(forma |
| 19c0 | 74 20 22 5b 2d 5d 3f 5c 5c 28 3f 3a 25 73 5c 5c 29 5c 5c 28 3f 3a 25 73 5c 5c 29 2b 22 20 6e 6d | t."[-]?\\(?:%s\\)\\(?:%s\\)+".nm |
| 19e0 | 73 74 61 72 74 20 6e 6d 63 68 61 72 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 61 6d 65 20 28 66 | start.nmchar))..........(name.(f |
| 1a00 | 6f 72 6d 61 74 20 22 5c 5c 28 3f 3a 25 73 5c 5c 29 2b 22 20 6e 6d 63 68 61 72 29 29 29 0a 0a 20 | ormat."\\(?:%s\\)+".nmchar)))... |
| 1a20 | 20 20 20 60 28 28 77 68 69 74 65 73 70 61 63 65 20 2e 20 22 5b 20 5c 74 5c 72 5c 6e 5c 66 5d 2b | ...`((whitespace..."[.\t\r\n\f]+ |
| 1a40 | 22 29 0a 20 20 20 20 20 20 28 73 74 72 69 6e 67 20 2e 20 2c 28 66 6f 72 6d 61 74 20 22 5c 5c 28 | ").......(string...,(format."\\( |
| 1a60 | 3f 3a 25 73 5c 5c 7c 25 73 5c 5c 29 22 20 73 74 72 69 6e 67 31 20 73 74 72 69 6e 67 32 29 29 0a | ?:%s\\|%s\\)".string1.string2)). |
| 1a80 | 20 20 20 20 20 20 28 69 64 65 6e 74 20 2e 20 2c 69 64 65 6e 74 29 0a 20 20 20 20 20 20 28 68 61 | ......(ident...,ident).......(ha |
| 1aa0 | 73 68 20 2e 20 2c 28 66 6f 72 6d 61 74 20 22 23 25 73 22 20 6e 61 6d 65 29 29 0a 20 20 20 20 20 | sh...,(format."#%s".name))...... |
| 1ac0 | 20 28 66 75 6e 63 74 69 6f 6e 20 2e 20 2c 28 66 6f 72 6d 61 74 20 22 25 73 28 22 20 69 64 65 6e | .(function...,(format."%s(".iden |
| 1ae0 | 74 29 29 0a 20 20 20 20 20 20 28 6e 75 6d 62 65 72 20 2e 20 2c 6e 75 6d 29 0a 20 20 20 20 20 20 | t)).......(number...,num)....... |
| 1b00 | 28 64 69 6d 65 6e 73 69 6f 6e 20 2e 20 2c 28 66 6f 72 6d 61 74 20 22 5c 5c 28 3f 3a 25 73 5c 5c | (dimension...,(format."\\(?:%s\\ |
| 1b20 | 29 25 73 22 20 6e 75 6d 20 75 6e 69 74 29 29 0a 20 20 20 20 20 20 28 70 72 65 66 69 78 2d 6d 61 | )%s".num.unit)).......(prefix-ma |
| 1b40 | 74 63 68 20 2e 20 22 5c 5c 5e 3d 22 29 0a 20 20 20 20 20 20 28 73 75 66 66 69 78 2d 6d 61 74 63 | tch..."\\^=").......(suffix-matc |
| 1b60 | 68 20 2e 20 22 5c 5c 24 3d 22 29 0a 20 20 20 20 20 20 28 73 75 62 73 74 72 69 6e 67 2d 6d 61 74 | h..."\\$=").......(substring-mat |
| 1b80 | 63 68 20 2e 20 22 5c 5c 2a 3d 22 29 0a 20 20 20 20 20 20 28 69 6e 63 6c 75 64 65 2d 6d 61 74 63 | ch..."\\*=").......(include-matc |
| 1ba0 | 68 20 2e 20 22 7e 3d 22 29 0a 20 20 20 20 20 20 28 64 61 73 68 2d 6d 61 74 63 68 20 2e 20 22 7c | h..."~=").......(dash-match..."| |
| 1bc0 | 3d 22 29 0a 20 20 20 20 20 20 28 63 6f 6d 6d 61 20 2e 20 22 2c 22 29 0a 20 20 20 20 20 20 28 67 | =").......(comma...",").......(g |
| 1be0 | 74 20 2e 20 22 3e 22 29 0a 20 20 20 20 20 20 28 70 6c 75 73 20 2e 20 22 5c 5c 2b 22 29 0a 20 20 | t...">").......(plus..."\\+")... |
| 1c00 | 20 20 20 20 28 6d 69 6e 75 73 20 2e 20 22 2d 22 29 0a 20 20 20 20 20 20 28 74 69 6c 64 65 20 2e | ....(minus..."-").......(tilde.. |
| 1c20 | 20 22 7e 22 29 0a 20 20 20 20 20 20 28 61 73 74 65 72 69 73 6b 20 2e 20 22 5c 5c 2a 22 29 0a 20 | ."~").......(asterisk..."\\*").. |
| 1c40 | 20 20 20 20 20 28 70 65 72 69 6f 64 20 2e 20 22 5c 5c 2e 22 29 0a 20 20 20 20 20 20 28 65 71 75 | .....(period..."\\.").......(equ |
| 1c60 | 61 6c 73 20 2e 20 22 3d 22 29 0a 20 20 20 20 20 20 28 63 6f 6c 6f 6e 20 2e 20 22 3a 22 29 0a 20 | als..."=").......(colon...":").. |
| 1c80 | 20 20 20 20 20 28 6c 62 72 61 63 6b 65 74 20 2e 20 22 5c 5c 5b 22 29 0a 20 20 20 20 20 20 28 72 | .....(lbracket..."\\[").......(r |
| 1ca0 | 62 72 61 63 6b 65 74 20 2e 20 22 5c 5c 5d 22 29 0a 20 20 20 20 20 20 28 72 70 61 72 65 6e 20 2e | bracket..."\\]").......(rparen.. |
| 1cc0 | 20 22 29 22 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 74 6f 6b 65 6e 69 7a 65 | .")"))))..(defun.esxml--tokenize |
| 1ce0 | 2d 63 73 73 2d 73 65 6c 65 63 74 6f 72 20 28 73 74 72 69 6e 67 29 0a 20 20 28 6c 65 74 20 28 72 | -css-selector.(string)...(let.(r |
| 1d00 | 65 73 75 6c 74 29 0a 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 | esult).....(with-temp-buffer.... |
| 1d20 | 20 20 20 28 69 6e 73 65 72 74 20 73 74 72 69 6e 67 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 | ...(insert.string).......(goto-c |
| 1d40 | 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 6e | har.(point-min)).......(while.(n |
| 1d60 | 6f 74 20 28 65 6f 62 70 29 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6d 61 78 2d 6c 65 | ot.(eobp)).........(let.((max-le |
| 1d80 | 6e 67 74 68 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f 6e 67 65 73 74 29 0a 20 | ngth.0)...............longest).. |
| 1da0 | 20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 6d 61 74 63 68 65 72 20 65 73 78 6d 6c 2d | .........(dolist.(matcher.esxml- |
| 1dc0 | 2d 63 73 73 2d 73 65 6c 65 63 74 6f 72 2d 74 6f 6b 65 6e 2d 6d 61 74 63 68 65 72 73 29 0a 20 20 | -css-selector-token-matchers)... |
| 1de0 | 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 64 20 28 63 61 72 20 6d 61 74 63 68 65 72 | ..........(let.((id.(car.matcher |
| 1e00 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 20 28 63 64 72 20 6d 61 | ))...................(re.(cdr.ma |
| 1e20 | 74 63 68 65 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 6c 6f | tcher)))...............(when.(lo |
| 1e40 | 6f 6b 69 6e 67 2d 61 74 20 72 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 | oking-at.re).................(le |
| 1e60 | 74 2a 20 28 28 74 6f 6b 65 6e 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 30 29 29 0a 20 20 20 | t*.((token.(match-string.0)).... |
| 1e80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 6e 67 74 68 20 28 6c 65 6e | ....................(length.(len |
| 1ea0 | 67 74 68 20 74 6f 6b 65 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | gth.token)))...................( |
| 1ec0 | 77 68 65 6e 20 28 3e 20 6c 65 6e 67 74 68 20 6d 61 78 2d 6c 65 6e 67 74 68 29 0a 20 20 20 20 20 | when.(>.length.max-length)...... |
| 1ee0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 78 2d 6c 65 6e 67 74 68 20 | ...............(setq.max-length. |
| 1f00 | 6c 65 6e 67 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 | length).....................(set |
| 1f20 | 71 20 6c 6f 6e 67 65 73 74 20 28 63 6f 6e 73 20 69 64 20 74 6f 6b 65 6e 29 29 29 29 29 29 29 0a | q.longest.(cons.id.token))))))). |
| 1f40 | 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 6c 6f 6e 67 65 73 74 29 0a 20 20 | ..........(when.(not.longest)... |
| 1f60 | 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 49 6e 76 61 6c 69 64 20 74 6f 6b 65 6e 20 | ..........(error."Invalid.token. |
| 1f80 | 64 65 74 65 63 74 65 64 3a 20 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | detected:.%s"................... |
| 1fa0 | 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 20 28 70 6f 69 6e 74 29 20 28 70 6f 69 6e | .(buffer-substring.(point).(poin |
| 1fc0 | 74 2d 6d 61 78 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 6c 6f 6e 67 65 73 | t-max))))...........(push.longes |
| 1fe0 | 74 20 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 | t.result)...........(goto-char.( |
| 2000 | 2b 20 28 70 6f 69 6e 74 29 20 6d 61 78 2d 6c 65 6e 67 74 68 29 29 29 29 29 0a 20 20 20 20 28 6e | +.(point).max-length))))).....(n |
| 2020 | 72 65 76 65 72 73 65 20 72 65 73 75 6c 74 29 29 29 0a 0a 3b 3b 20 74 68 65 20 61 6c 74 65 72 6e | reverse.result)))..;;.the.altern |
| 2040 | 61 74 69 76 65 20 69 73 20 63 72 65 61 74 69 6e 67 20 61 20 6d 75 74 61 62 6c 65 20 6f 62 6a 65 | ative.is.creating.a.mutable.obje |
| 2060 | 63 74 20 77 69 74 68 20 70 65 65 6b 2f 6e 65 78 74 20 6d 65 74 68 6f 64 73 0a 3b 3b 20 61 6e 64 | ct.with.peek/next.methods.;;.and |
| 2080 | 20 70 61 73 73 69 6e 67 20 69 74 20 61 72 6f 75 6e 64 2c 20 73 6f 20 49 20 63 68 6f 73 65 20 74 | .passing.it.around,.so.I.chose.t |
| 20a0 | 68 65 20 6f 6e 65 20 72 65 71 75 69 72 69 6e 67 20 6c 65 73 73 20 74 79 70 69 6e 67 2c 20 61 0a | he.one.requiring.less.typing,.a. |
| 20c0 | 3b 3b 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 62 6f 75 6e 64 20 76 61 72 69 61 62 6c 65 20 3a 3c | ;;.dynamically.bound.variable.:< |
| 20e0 | 0a 0a 28 64 65 66 76 61 72 20 65 73 78 6d 6c 2d 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 29 0a 0a | ..(defvar.esxml--token-stream).. |
| 2100 | 3b 3b 20 54 4f 44 4f 3a 20 73 75 70 70 6f 72 74 20 3a 6e 6f 74 0a 3b 3b 20 54 4f 44 4f 3a 20 70 | ;;.TODO:.support.:not.;;.TODO:.p |
| 2120 | 61 72 73 65 20 61 72 69 74 68 6d 65 74 69 63 73 20 77 69 74 68 20 73 68 75 6e 74 69 6e 67 20 79 | arse.arithmetics.with.shunting.y |
| 2140 | 61 72 64 20 6f 72 20 70 72 61 74 74 0a 3b 3b 20 4e 4f 54 45 3a 20 68 74 74 70 3a 2f 2f 6a 6f 75 | ard.or.pratt.;;.NOTE:.http://jou |
| 2160 | 72 6e 61 6c 2e 73 74 75 66 66 77 69 74 68 73 74 75 66 66 2e 63 6f 6d 2f 32 30 31 31 2f 30 33 2f | rnal.stuffwithstuff.com/2011/03/ |
| 2180 | 31 39 2f 70 72 61 74 74 2d 70 61 72 73 65 72 73 2d 65 78 70 72 65 73 73 69 6f 6e 2d 70 61 72 73 | 19/pratt-parsers-expression-pars |
| 21a0 | 69 6e 67 2d 6d 61 64 65 2d 65 61 73 79 2f 0a 3b 3b 20 63 73 73 2d 73 65 6c 65 63 74 6f 72 3a 0a | ing-made-easy/.;;.css-selector:. |
| 21c0 | 3b 3b 20 20 20 63 73 73 2d 73 65 6c 65 63 74 6f 72 2d 6c 69 73 74 3b 0a 3b 3b 20 63 73 73 2d 73 | ;;...css-selector-list;.;;.css-s |
| 21e0 | 65 6c 65 63 74 6f 72 2d 6c 69 73 74 3a 0a 3b 3b 20 20 20 63 6f 6d 70 6c 65 78 2d 63 73 73 2d 73 | elector-list:.;;...complex-css-s |
| 2200 | 65 6c 65 63 74 6f 72 20 5b 20 63 6f 6d 6d 61 20 77 68 69 74 65 73 70 61 63 65 2a 20 63 6f 6d 70 | elector.[.comma.whitespace*.comp |
| 2220 | 6c 65 78 2d 63 73 73 2d 73 65 6c 65 63 74 6f 72 20 5d 2a 3b 0a 3b 3b 20 63 6f 6d 70 6c 65 78 2d | lex-css-selector.]*;.;;.complex- |
| 2240 | 63 73 73 2d 73 65 6c 65 63 74 6f 72 3a 0a 3b 3b 20 20 20 63 6f 6d 70 6f 75 6e 64 2d 63 73 73 2d | css-selector:.;;...compound-css- |
| 2260 | 73 65 6c 65 63 74 6f 72 20 5b 20 63 73 73 2d 63 6f 6d 62 69 6e 61 74 6f 72 20 63 6f 6d 70 6f 75 | selector.[.css-combinator.compou |
| 2280 | 6e 64 2d 63 73 73 2d 73 65 6c 65 63 74 6f 72 20 5d 2a 20 77 68 69 74 65 73 70 61 63 65 2a 3b 0a | nd-css-selector.]*.whitespace*;. |
| 22a0 | 3b 3b 20 63 73 73 2d 63 6f 6d 62 69 6e 61 74 6f 72 3a 0a 3b 3b 20 20 20 77 68 69 74 65 73 70 61 | ;;.css-combinator:.;;...whitespa |
| 22c0 | 63 65 2b 20 7c 20 77 68 69 74 65 73 70 61 63 65 2a 20 5b 20 27 3e 27 20 7c 20 27 2b 27 20 7c 20 | ce+.|.whitespace*.[.'>'.|.'+'.|. |
| 22e0 | 27 7e 27 20 5d 20 77 68 69 74 65 73 70 61 63 65 2a 3b 0a 3b 3b 20 63 6f 6d 70 6f 75 6e 64 2d 63 | '~'.].whitespace*;.;;.compound-c |
| 2300 | 73 73 2d 73 65 6c 65 63 74 6f 72 3a 0a 3b 3b 20 20 20 63 73 73 2d 74 79 70 65 2d 73 65 6c 65 63 | ss-selector:.;;...css-type-selec |
| 2320 | 74 6f 72 20 63 73 73 2d 6d 6f 64 69 66 69 65 72 2a 20 7c 20 63 73 73 2d 6d 6f 64 69 66 69 65 72 | tor.css-modifier*.|.css-modifier |
| 2340 | 2b 3b 0a 3b 3b 20 63 73 73 2d 74 79 70 65 2d 73 65 6c 65 63 74 6f 72 3a 0a 3b 3b 20 20 20 49 44 | +;.;;.css-type-selector:.;;...ID |
| 2360 | 45 4e 54 20 7c 20 2a 3b 0a 3b 3b 20 63 73 73 2d 6d 6f 64 69 66 69 65 72 3a 0a 3b 3b 20 20 20 20 | ENT.|.*;.;;.css-modifier:.;;.... |
| 2380 | 63 73 73 2d 69 64 20 7c 20 63 73 73 2d 63 6c 61 73 73 20 7c 20 63 73 73 2d 61 74 74 72 69 62 20 | css-id.|.css-class.|.css-attrib. |
| 23a0 | 7c 20 63 73 73 2d 70 73 65 75 64 6f 3b 0a 3b 3b 20 63 73 73 2d 69 64 3a 0a 3b 3b 20 20 20 48 41 | |.css-pseudo;.;;.css-id:.;;...HA |
| 23c0 | 53 48 3b 0a 3b 3b 20 63 73 73 2d 63 6c 61 73 73 3a 0a 3b 3b 20 20 20 27 2e 27 20 49 44 45 4e 54 | SH;.;;.css-class:.;;...'.'.IDENT |
| 23e0 | 3b 0a 3b 3b 20 63 73 73 2d 61 74 74 72 69 62 3a 0a 3b 3b 20 20 20 27 5b 27 20 77 68 69 74 65 73 | ;.;;.css-attrib:.;;...'['.whites |
| 2400 | 70 61 63 65 2a 20 63 73 73 2d 61 74 74 72 69 62 2d 6e 61 6d 65 20 27 5d 27 0a 3b 3b 20 20 20 7c | pace*.css-attrib-name.']'.;;...| |
| 2420 | 20 27 5b 27 20 77 68 69 74 65 73 70 61 63 65 2a 20 63 73 73 2d 61 74 74 72 69 62 2d 6e 61 6d 65 | .'['.whitespace*.css-attrib-name |
| 2440 | 20 63 73 73 2d 61 74 74 72 69 62 2d 6d 61 74 63 68 20 63 73 73 2d 61 74 74 72 69 62 2d 76 61 6c | .css-attrib-match.css-attrib-val |
| 2460 | 75 65 20 77 68 69 74 65 73 70 61 63 65 2a 20 27 5d 27 3b 0a 3b 3b 20 63 73 73 2d 61 74 74 72 69 | ue.whitespace*.']';.;;.css-attri |
| 2480 | 62 2d 6e 61 6d 65 3a 0a 3b 3b 20 20 20 49 44 45 4e 54 20 77 68 69 74 65 73 70 61 63 65 2a 3b 0a | b-name:.;;...IDENT.whitespace*;. |
| 24a0 | 3b 3b 20 63 73 73 2d 61 74 74 72 69 62 2d 6d 61 74 63 68 3a 0a 3b 3b 20 20 20 5b 20 27 3d 27 20 | ;;.css-attrib-match:.;;...[.'='. |
| 24c0 | 7c 20 50 52 45 46 49 58 2d 4d 41 54 43 48 20 7c 20 53 55 46 46 49 58 2d 4d 41 54 43 48 20 7c 20 | |.PREFIX-MATCH.|.SUFFIX-MATCH.|. |
| 24e0 | 53 55 42 53 54 52 49 4e 47 2d 4d 41 54 43 48 20 7c 20 49 4e 43 4c 55 44 45 2d 4d 41 54 43 48 20 | SUBSTRING-MATCH.|.INCLUDE-MATCH. |
| 2500 | 7c 20 44 41 53 48 2d 4d 41 54 43 48 20 5d 20 77 68 69 74 65 73 70 61 63 65 2a 3b 0a 3b 3b 20 63 | |.DASH-MATCH.].whitespace*;.;;.c |
| 2520 | 73 73 2d 61 74 74 72 69 62 2d 76 61 6c 75 65 3a 0a 3b 3b 20 20 20 49 44 45 4e 54 20 7c 20 53 54 | ss-attrib-value:.;;...IDENT.|.ST |
| 2540 | 52 49 4e 47 3b 0a 3b 3b 20 63 73 73 2d 70 73 65 75 64 6f 3a 0a 3b 3b 20 20 20 27 3a 27 20 27 3a | RING;.;;.css-pseudo:.;;...':'.': |
| 2560 | 27 3f 20 5b 20 49 44 45 4e 54 20 7c 20 63 73 73 2d 66 75 6e 63 74 69 6f 6e 61 6c 2d 70 73 65 75 | '?.[.IDENT.|.css-functional-pseu |
| 2580 | 64 6f 20 5d 3b 0a 3b 3b 20 63 73 73 2d 66 75 6e 63 74 69 6f 6e 61 6c 2d 70 73 65 75 64 6f 3a 0a | do.];.;;.css-functional-pseudo:. |
| 25a0 | 3b 3b 20 20 20 46 55 4e 43 54 49 4f 4e 20 77 68 69 74 65 73 70 61 63 65 2a 20 5b 20 63 73 73 2d | ;;...FUNCTION.whitespace*.[.css- |
| 25c0 | 65 78 70 72 65 73 73 69 6f 6e 20 77 68 69 74 65 73 70 61 63 65 2a 20 5d 2b 20 27 29 27 3b 0a 3b | expression.whitespace*.]+.')';.; |
| 25e0 | 3b 20 63 73 73 2d 65 78 70 72 65 73 73 69 6f 6e 3a 0a 3b 3b 20 20 20 27 2b 27 20 7c 20 27 2d 27 | ;.css-expression:.;;...'+'.|.'-' |
| 2600 | 20 7c 20 44 49 4d 45 4e 53 49 4f 4e 20 7c 20 4e 55 4d 42 45 52 20 7c 20 53 54 52 49 4e 47 20 7c | .|.DIMENSION.|.NUMBER.|.STRING.| |
| 2620 | 20 49 44 45 4e 54 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 71 75 65 72 79 2d 63 73 73 2d 65 | .IDENT..(defun.esxml-query-css-e |
| 2640 | 73 63 61 70 65 20 28 73 74 72 69 6e 67 29 0a 20 20 22 52 65 74 75 72 6e 73 20 65 73 63 61 70 65 | scape.(string)..."Returns.escape |
| 2660 | 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 53 54 52 49 4e 47 20 66 6f 72 20 75 73 65 20 69 6e 20 73 | d.version.of.STRING.for.use.in.s |
| 2680 | 65 6c 65 63 74 6f 72 73 2e 0a 54 68 65 20 6c 6f 67 69 63 20 75 73 65 64 20 68 65 72 65 20 63 6f | electors..The.logic.used.here.co |
| 26a0 | 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 43 53 53 2e 65 73 63 61 70 65 20 41 50 49 20 | rresponds.to.the.CSS.escape.API. |
| 26c0 | 61 73 0a 73 70 65 63 69 66 69 65 64 20 69 6e 20 68 74 74 70 73 3a 2f 2f 64 72 61 66 74 73 2e 63 | as.specified.in.https://drafts.c |
| 26e0 | 73 73 77 67 2e 6f 72 67 2f 63 73 73 6f 6d 2f 23 74 68 65 2d 63 73 73 2e 65 73 63 61 70 65 28 29 | sswg.org/cssom/#the-css.escape() |
| 2700 | 2d 6d 65 74 68 6f 64 2e 22 0a 20 20 28 6c 65 74 20 28 63 68 61 72 73 29 0a 20 20 20 20 28 64 6f | -method."...(let.(chars).....(do |
| 2720 | 74 69 6d 65 73 20 28 69 20 28 6c 65 6e 67 74 68 20 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 | times.(i.(length.string))....... |
| 2740 | 28 6c 65 74 2a 20 28 28 63 68 61 72 20 28 61 72 65 66 20 73 74 72 69 6e 67 20 69 29 29 0a 20 20 | (let*.((char.(aref.string.i))... |
| 2760 | 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 70 72 69 6e 74 61 62 6c 65 70 20 28 6f 72 20 28 61 6e | ...........(unprintablep.(or.(an |
| 2780 | 64 20 28 3e 3d 20 63 68 61 72 20 3f 5c 75 30 30 30 31 29 20 28 3c 3d 20 63 68 61 72 20 3f 5c 75 | d.(>=.char.?\u0001).(<=.char.?\u |
| 27a0 | 30 30 31 66 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | 001f)).......................... |
| 27c0 | 20 20 20 20 20 20 28 3d 20 63 68 61 72 20 3f 5c 75 30 30 37 66 29 29 29 0a 20 20 20 20 20 20 20 | ......(=.char.?\u007f)))........ |
| 27e0 | 20 20 20 20 20 20 28 6e 6f 6e 61 73 63 69 69 70 20 28 3e 3d 20 63 68 61 72 20 3f 5c 75 30 30 38 | ......(nonasciip.(>=.char.?\u008 |
| 2800 | 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 69 67 69 74 70 20 28 61 6e 64 20 28 3e | 0))..............(digitp.(and.(> |
| 2820 | 3d 20 63 68 61 72 20 3f 5c 75 30 30 33 30 29 20 28 3c 3d 20 63 68 61 72 20 3f 5c 75 30 30 33 39 | =.char.?\u0030).(<=.char.?\u0039 |
| 2840 | 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 70 70 65 72 70 20 28 61 6e 64 20 28 3e | )))..............(upperp.(and.(> |
| 2860 | 3d 20 63 68 61 72 20 3f 5c 75 30 30 34 31 29 20 28 3c 3d 20 63 68 61 72 20 3f 5c 75 30 30 35 61 | =.char.?\u0041).(<=.char.?\u005a |
| 2880 | 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 77 65 72 70 20 28 61 6e 64 20 28 3e | )))..............(lowerp.(and.(> |
| 28a0 | 3d 20 63 68 61 72 20 3f 5c 75 30 30 36 31 29 20 28 3c 3d 20 63 68 61 72 20 3f 5c 75 30 30 37 61 | =.char.?\u0061).(<=.char.?\u007a |
| 28c0 | 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 28 28 3d 20 | )))).........(cond..........((=. |
| 28e0 | 63 68 61 72 20 3f 5c 75 30 30 30 30 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 3f 5c | char.?\u0000)...........(push.?\ |
| 2900 | 75 66 66 66 64 20 63 68 61 72 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 75 6e 70 72 69 6e 74 61 | ufffd.chars))..........(unprinta |
| 2920 | 62 6c 65 70 0a 20 20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 63 68 61 72 20 28 73 74 | blep...........(dolist.(char.(st |
| 2940 | 72 69 6e 67 2d 74 6f 2d 6c 69 73 74 20 28 66 6f 72 6d 61 74 20 22 5c 5c 25 78 20 22 20 63 68 61 | ring-to-list.(format."\\%x.".cha |
| 2960 | 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 63 68 61 72 20 63 68 61 72 | r))).............(push.char.char |
| 2980 | 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 3d 20 69 20 30 29 20 64 69 67 69 | s)))..........((and.(=.i.0).digi |
| 29a0 | 74 70 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 63 68 61 72 20 28 73 74 72 | tp)...........(dolist.(char.(str |
| 29c0 | 69 6e 67 2d 74 6f 2d 6c 69 73 74 20 28 66 6f 72 6d 61 74 20 22 5c 5c 25 78 20 22 20 63 68 61 72 | ing-to-list.(format."\\%x.".char |
| 29e0 | 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 63 68 61 72 20 63 68 61 72 73 | ))).............(push.char.chars |
| 2a00 | 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 3d 20 69 20 31 29 20 64 69 67 69 74 | )))..........((and.(=.i.1).digit |
| 2a20 | 70 20 28 3d 20 28 61 72 65 66 20 73 74 72 69 6e 67 20 30 29 20 3f 2d 29 29 0a 20 20 20 20 20 20 | p.(=.(aref.string.0).?-))....... |
| 2a40 | 20 20 20 20 28 64 6f 6c 69 73 74 20 28 63 68 61 72 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6c 69 73 | ....(dolist.(char.(string-to-lis |
| 2a60 | 74 20 28 66 6f 72 6d 61 74 20 22 5c 5c 25 78 20 22 20 63 68 61 72 29 29 29 0a 20 20 20 20 20 20 | t.(format."\\%x.".char)))....... |
| 2a80 | 20 20 20 20 20 20 28 70 75 73 68 20 63 68 61 72 20 63 68 61 72 73 29 29 29 0a 20 20 20 20 20 20 | ......(push.char.chars)))....... |
| 2aa0 | 20 20 20 28 28 61 6e 64 20 28 3d 20 69 20 30 29 20 28 3d 20 63 68 61 72 20 3f 2d 29 20 28 3d 20 | ...((and.(=.i.0).(=.char.?-).(=. |
| 2ac0 | 28 6c 65 6e 67 74 68 20 73 74 72 69 6e 67 29 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 | (length.string).1))...........(p |
| 2ae0 | 75 73 68 20 3f 5c 5c 20 63 68 61 72 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 63 | ush.?\\.chars)...........(push.c |
| 2b00 | 68 61 72 20 63 68 61 72 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 28 6f 72 20 6e 6f 6e 61 73 63 | har.chars))..........((or.nonasc |
| 2b20 | 69 69 70 20 28 3d 20 63 68 61 72 20 3f 2d 29 20 28 3d 20 63 68 61 72 20 3f 5f 29 20 64 69 67 69 | iip.(=.char.?-).(=.char.?_).digi |
| 2b40 | 74 70 20 75 70 70 65 72 70 20 6c 6f 77 65 72 70 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 75 73 | tp.upperp.lowerp)...........(pus |
| 2b60 | 68 20 63 68 61 72 20 63 68 61 72 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 | h.char.chars))..........(t...... |
| 2b80 | 20 20 20 20 20 28 70 75 73 68 20 3f 5c 5c 20 63 68 61 72 73 29 0a 20 20 20 20 20 20 20 20 20 20 | .....(push.?\\.chars)........... |
| 2ba0 | 28 70 75 73 68 20 63 68 61 72 20 63 68 61 72 73 29 29 29 29 29 0a 20 20 20 20 28 63 6f 6e 63 61 | (push.char.chars))))).....(conca |
| 2bc0 | 74 20 28 6e 72 65 76 65 72 73 65 20 63 68 61 72 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 | t.(nreverse.chars))))..(defun.es |
| 2be0 | 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 69 64 65 6e 74 69 66 69 65 72 20 28 73 74 72 69 6e | xml--parse-css-identifier.(strin |
| 2c00 | 67 29 0a 20 20 3b 3b 20 68 74 74 70 73 3a 2f 2f 77 77 77 2e 77 33 2e 6f 72 67 2f 54 52 2f 63 73 | g)...;;.https://www.w3.org/TR/cs |
| 2c20 | 73 2d 73 79 6e 74 61 78 2d 33 2f 23 63 6f 6e 73 75 6d 65 2d 73 74 72 69 6e 67 2d 74 6f 6b 65 6e | s-syntax-3/#consume-string-token |
| 2c40 | 0a 20 20 28 6c 65 74 2a 20 28 28 63 6f 64 65 2d 70 6f 69 6e 74 73 20 28 73 74 72 69 6e 67 2d 74 | ...(let*.((code-points.(string-t |
| 2c60 | 6f 2d 6c 69 73 74 20 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 73 29 0a | o-list.string))..........chars). |
| 2c80 | 20 20 20 20 28 77 68 69 6c 65 20 63 6f 64 65 2d 70 6f 69 6e 74 73 0a 20 20 20 20 20 20 28 6c 65 | ....(while.code-points.......(le |
| 2ca0 | 74 20 28 28 63 68 61 72 20 28 70 6f 70 20 63 6f 64 65 2d 70 6f 69 6e 74 73 29 29 29 0a 20 20 20 | t.((char.(pop.code-points))).... |
| 2cc0 | 20 20 20 20 20 28 69 66 20 28 3d 20 63 68 61 72 20 3f 5c 5c 29 0a 20 20 20 20 20 20 20 20 20 20 | .....(if.(=.char.?\\)........... |
| 2ce0 | 20 20 28 6c 65 74 20 28 28 63 68 61 72 20 28 70 6f 70 20 63 6f 64 65 2d 70 6f 69 6e 74 73 29 29 | ..(let.((char.(pop.code-points)) |
| 2d00 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 | )...............(cond........... |
| 2d20 | 20 20 20 20 20 28 28 6e 6f 74 20 63 68 61 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .....((not.char))............... |
| 2d40 | 20 28 28 3d 20 63 68 61 72 20 3f 5c 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | .((=.char.?\n))................( |
| 2d60 | 28 6f 72 20 28 61 6e 64 20 28 3e 3d 20 63 68 61 72 20 3f 30 29 20 28 3c 3d 20 63 68 61 72 20 3f | (or.(and.(>=.char.?0).(<=.char.? |
| 2d80 | 39 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 3e 3d | 9)).....................(and.(>= |
| 2da0 | 20 63 68 61 72 20 3f 61 29 20 28 3c 3d 20 63 68 61 72 20 3f 66 29 29 0a 20 20 20 20 20 20 20 20 | .char.?a).(<=.char.?f))......... |
| 2dc0 | 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 3e 3d 20 63 68 61 72 20 3f 41 29 20 28 3c | ............(and.(>=.char.?A).(< |
| 2de0 | 3d 20 63 68 61 72 20 3f 46 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 | =.char.?F))).................(le |
| 2e00 | 74 20 28 28 69 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | t.((i.0).......................( |
| 2e20 | 68 65 78 2d 63 68 61 72 73 20 28 6c 69 73 74 20 63 68 61 72 29 29 29 0a 20 20 20 20 20 20 20 20 | hex-chars.(list.char)))......... |
| 2e40 | 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 28 3c 20 69 20 35 29 20 63 6f | ..........(while.(and.(<.i.5).co |
| 2e60 | 64 65 2d 70 6f 69 6e 74 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | de-points).....................( |
| 2e80 | 6c 65 74 20 28 28 63 68 61 72 20 28 63 61 72 20 63 6f 64 65 2d 70 6f 69 6e 74 73 29 29 29 0a 20 | let.((char.(car.code-points))).. |
| 2ea0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6f 72 20 28 61 6e | .....................(if.(or.(an |
| 2ec0 | 64 20 28 3e 3d 20 63 68 61 72 20 3f 30 29 20 28 3c 3d 20 63 68 61 72 20 3f 39 29 29 0a 20 20 20 | d.(>=.char.?0).(<=.char.?9)).... |
| 2ee0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 | ...........................(and. |
| 2f00 | 28 3e 3d 20 63 68 61 72 20 3f 61 29 20 28 3c 3d 20 63 68 61 72 20 3f 66 29 29 0a 20 20 20 20 20 | (>=.char.?a).(<=.char.?f))...... |
| 2f20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 3e | .........................(and.(> |
| 2f40 | 3d 20 63 68 61 72 20 3f 41 29 20 28 3c 3d 20 63 68 61 72 20 3f 46 29 29 29 0a 20 20 20 20 20 20 | =.char.?A).(<=.char.?F)))....... |
| 2f60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 70 6f 70 20 63 | ....................(push.(pop.c |
| 2f80 | 6f 64 65 2d 70 6f 69 6e 74 73 29 20 68 65 78 2d 63 68 61 72 73 29 0a 20 20 20 20 20 20 20 20 20 | ode-points).hex-chars).......... |
| 2fa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 20 35 29 29 29 0a 20 20 20 20 | ...............(setq.i.5)))..... |
| 2fc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 31 2b 20 69 29 29 29 | ................(setq.i.(1+.i))) |
| 2fe0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 68 61 72 20 28 | ...................(let.((char.( |
| 3000 | 63 61 72 20 63 6f 64 65 2d 70 6f 69 6e 74 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | car.code-points))).............. |
| 3020 | 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 63 68 61 72 20 28 3d 20 63 68 61 72 20 3f | .......(when.(and.char.(=.char.? |
| 3040 | 5c 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6f 70 20 | \s)).......................(pop. |
| 3060 | 63 6f 64 65 2d 70 6f 69 6e 74 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | code-points))).................. |
| 3080 | 20 28 6c 65 74 2a 20 28 28 68 65 78 2d 74 6f 6b 65 6e 20 28 63 6f 6e 63 61 74 20 28 6e 72 65 76 | .(let*.((hex-token.(concat.(nrev |
| 30a0 | 65 72 73 65 20 68 65 78 2d 63 68 61 72 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | erse.hex-chars)))............... |
| 30c0 | 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 64 65 2d 70 6f 69 6e 74 20 28 73 74 72 69 6e 67 2d 74 | ...........(code-point.(string-t |
| 30e0 | 6f 2d 6e 75 6d 62 65 72 20 68 65 78 2d 74 6f 6b 65 6e 20 31 36 29 29 29 0a 20 20 20 20 20 20 20 | o-number.hex-token.16)))........ |
| 3100 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6f 72 20 28 7a 65 72 6f 70 20 63 6f 64 65 | .............(if.(or.(zerop.code |
| 3120 | 2d 70 6f 69 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -point)......................... |
| 3140 | 20 20 20 20 28 61 6e 64 20 28 3e 3d 20 63 6f 64 65 2d 70 6f 69 6e 74 20 3f 5c 75 64 38 30 30 29 | ....(and.(>=.code-point.?\ud800) |
| 3160 | 20 28 3c 3d 20 63 6f 64 65 2d 70 6f 69 6e 74 20 3f 5c 75 64 66 66 66 29 29 0a 20 20 20 20 20 20 | .(<=.code-point.?\udfff))....... |
| 3180 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3e 20 63 6f 64 65 2d 70 6f | ......................(>.code-po |
| 31a0 | 69 6e 74 20 3f 5c 55 30 30 31 30 66 66 66 66 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | int.?\U0010ffff))............... |
| 31c0 | 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 3f 5c 75 66 66 66 64 20 63 68 61 72 73 29 0a 20 | ..........(push.?\ufffd.chars).. |
| 31e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 63 6f 64 65 2d | .....................(push.code- |
| 3200 | 70 6f 69 6e 74 20 63 68 61 72 73 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | point.chars)))))................ |
| 3220 | 28 74 20 3b 20 75 6e 73 70 65 63 69 66 69 65 64 3a 20 6e 6f 6e 2d 68 65 78 20 64 69 67 69 74 0a | (t.;.unspecified:.non-hex.digit. |
| 3240 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 63 68 61 72 20 63 68 61 72 73 | ................(push.char.chars |
| 3260 | 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 63 68 61 72 20 63 68 61 72 73 29 | ))))...........(push.char.chars) |
| 3280 | 29 29 29 0a 20 20 20 20 28 63 6f 6e 63 61 74 20 28 6e 72 65 76 65 72 73 65 20 63 68 61 72 73 29 | ))).....(concat.(nreverse.chars) |
| 32a0 | 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 73 74 72 | )))..(defun.esxml--parse-css-str |
| 32c0 | 69 6e 67 2d 6c 69 74 65 72 61 6c 20 28 73 74 72 69 6e 67 29 0a 20 20 28 65 73 78 6d 6c 2d 2d 70 | ing-literal.(string)...(esxml--p |
| 32e0 | 61 72 73 65 2d 63 73 73 2d 69 64 65 6e 74 69 66 69 65 72 20 28 73 75 62 73 74 72 69 6e 67 20 73 | arse-css-identifier.(substring.s |
| 3300 | 74 72 69 6e 67 20 31 20 2d 31 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 65 73 78 6d 6c 2d 2d | tring.1.-1)))..(defmacro.esxml-- |
| 3320 | 77 69 74 68 2d 70 61 72 73 65 2d 73 68 6f 72 74 68 61 6e 64 73 20 28 26 72 65 73 74 20 62 6f 64 | with-parse-shorthands.(&rest.bod |
| 3340 | 79 29 0a 20 20 60 28 63 6c 2d 6d 61 63 72 6f 6c 65 74 20 28 28 70 65 65 6b 20 28 29 20 27 28 63 | y)...`(cl-macrolet.((peek.().'(c |
| 3360 | 61 72 20 65 73 78 6d 6c 2d 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 29 29 0a 20 20 20 20 20 20 20 | ar.esxml--token-stream))........ |
| 3380 | 20 20 20 20 20 20 20 20 20 20 28 6e 65 78 74 20 28 29 20 27 28 70 6f 70 20 65 73 78 6d 6c 2d 2d | ..........(next.().'(pop.esxml-- |
| 33a0 | 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | token-stream)).................. |
| 33c0 | 28 61 63 63 65 70 74 20 28 74 79 70 65 29 20 60 28 61 6e 64 20 28 70 65 65 6b 29 20 28 65 71 20 | (accept.(type).`(and.(peek).(eq. |
| 33e0 | 28 63 61 72 20 28 70 65 65 6b 29 29 20 2c 74 79 70 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | (car.(peek)).,type)............. |
| 3400 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 64 72 20 28 | ..........................(cdr.( |
| 3420 | 6e 65 78 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 61 74 2d 77 | next))))..................(eat-w |
| 3440 | 68 69 74 65 73 70 61 63 65 20 28 29 20 27 28 77 68 69 6c 65 20 28 61 63 63 65 70 74 20 27 77 68 | hitespace.().'(while.(accept.'wh |
| 3460 | 69 74 65 73 70 61 63 65 29 29 29 29 0a 20 20 20 20 20 2c 40 62 6f 64 79 29 29 0a 28 64 65 66 2d | itespace))))......,@body)).(def- |
| 3480 | 65 64 65 62 75 67 2d 73 70 65 63 20 65 73 78 6d 6c 2d 2d 77 69 74 68 2d 70 61 72 73 65 2d 73 68 | edebug-spec.esxml--with-parse-sh |
| 34a0 | 6f 72 74 68 61 6e 64 73 20 28 62 6f 64 79 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 70 | orthands.(body))..(defun.esxml-p |
| 34c0 | 61 72 73 65 2d 63 73 73 2d 73 65 6c 65 63 74 6f 72 20 28 73 74 72 69 6e 67 29 0a 20 20 22 50 61 | arse-css-selector.(string)..."Pa |
| 34e0 | 72 73 65 20 43 53 53 20 73 65 6c 65 63 74 6f 72 20 53 54 52 49 4e 47 20 69 6e 74 6f 20 61 20 6c | rse.CSS.selector.STRING.into.a.l |
| 3500 | 69 73 74 20 6f 66 20 61 6c 69 73 74 73 2e 0a 45 61 63 68 20 61 6c 69 73 74 20 72 65 70 72 65 73 | ist.of.alists..Each.alist.repres |
| 3520 | 65 6e 74 73 20 61 20 63 6f 6d 70 6c 65 78 20 43 53 53 20 73 65 6c 65 63 74 6f 72 2e 20 20 54 68 | ents.a.complex.CSS.selector...Th |
| 3540 | 65 20 72 65 73 75 6c 74 20 63 61 6e 20 62 65 0a 70 61 73 73 65 64 20 74 6f 20 60 65 73 78 6d 6c | e.result.can.be.passed.to.`esxml |
| 3560 | 2d 71 75 65 72 79 27 20 61 6e 64 20 60 65 73 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 27 20 61 73 | -query'.and.`esxml-query-all'.as |
| 3580 | 20 74 68 65 20 73 65 6c 65 63 74 6f 72 0a 61 72 67 75 6d 65 6e 74 2e 22 0a 20 20 28 6c 65 74 2a | .the.selector.argument."...(let* |
| 35a0 | 20 28 28 65 73 78 6d 6c 2d 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 20 28 65 73 78 6d 6c 2d 2d 74 | .((esxml--token-stream.(esxml--t |
| 35c0 | 6f 6b 65 6e 69 7a 65 2d 63 73 73 2d 73 65 6c 65 63 74 6f 72 20 73 74 72 69 6e 67 29 29 0a 20 20 | okenize-css-selector.string))... |
| 35e0 | 20 20 20 20 20 20 20 28 72 65 73 75 6c 74 20 28 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 | .......(result.(esxml--parse-css |
| 3600 | 2d 73 65 6c 65 63 74 6f 72 2d 6c 69 73 74 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 65 73 78 6d | -selector-list))).....(when.esxm |
| 3620 | 6c 2d 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 54 72 | l--token-stream.......(error."Tr |
| 3640 | 61 69 6c 69 6e 67 20 67 61 72 62 61 67 65 3a 20 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ailing.garbage:.%s"............. |
| 3660 | 20 28 6d 61 70 63 6f 6e 63 61 74 20 27 63 64 72 20 65 73 78 6d 6c 2d 2d 74 6f 6b 65 6e 2d 73 74 | .(mapconcat.'cdr.esxml--token-st |
| 3680 | 72 65 61 6d 20 22 22 29 29 29 0a 20 20 20 20 72 65 73 75 6c 74 29 29 0a 0a 28 64 65 66 75 6e 20 | ream.""))).....result))..(defun. |
| 36a0 | 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 73 65 6c 65 63 74 6f 72 2d 6c 69 73 74 20 28 | esxml--parse-css-selector-list.( |
| 36c0 | 29 0a 20 20 28 65 73 78 6d 6c 2d 2d 77 69 74 68 2d 70 61 72 73 65 2d 73 68 6f 72 74 68 61 6e 64 | )...(esxml--with-parse-shorthand |
| 36e0 | 73 0a 20 20 20 28 6c 65 74 20 28 28 66 69 72 73 74 20 28 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d | s....(let.((first.(esxml--parse- |
| 3700 | 63 6f 6d 70 6c 65 78 2d 63 73 73 2d 73 65 6c 65 63 74 6f 72 29 29 0a 20 20 20 20 20 20 20 20 20 | complex-css-selector)).......... |
| 3720 | 72 65 73 75 6c 74 29 0a 20 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 66 69 72 73 74 29 0a 20 | result)......(when.(not.first).. |
| 3740 | 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 45 78 70 65 63 74 65 64 20 61 74 20 6c 65 61 73 74 20 | ......(error."Expected.at.least. |
| 3760 | 6f 6e 65 20 73 65 6c 65 63 74 6f 72 22 29 29 0a 20 20 20 20 20 28 70 75 73 68 20 66 69 72 73 74 | one.selector"))......(push.first |
| 3780 | 20 72 65 73 75 6c 74 29 0a 0a 20 20 20 20 20 28 77 68 69 6c 65 20 28 61 63 63 65 70 74 20 27 63 | .result).......(while.(accept.'c |
| 37a0 | 6f 6d 6d 61 29 0a 20 20 20 20 20 20 20 28 65 61 74 2d 77 68 69 74 65 73 70 61 63 65 29 0a 20 20 | omma)........(eat-whitespace)... |
| 37c0 | 20 20 20 20 20 28 6c 65 74 20 28 28 73 65 6c 65 63 74 6f 72 20 28 65 73 78 6d 6c 2d 2d 70 61 72 | .....(let.((selector.(esxml--par |
| 37e0 | 73 65 2d 63 6f 6d 70 6c 65 78 2d 63 73 73 2d 73 65 6c 65 63 74 6f 72 29 29 29 0a 20 20 20 20 20 | se-complex-css-selector)))...... |
| 3800 | 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 73 65 6c 65 63 74 6f 72 29 0a 20 20 20 20 20 20 20 | ....(when.(not.selector)........ |
| 3820 | 20 20 20 20 28 65 72 72 6f 72 20 22 45 78 70 65 63 74 65 64 20 73 65 6c 65 63 74 6f 72 20 61 66 | ....(error."Expected.selector.af |
| 3840 | 74 65 72 20 63 6f 6d 6d 61 22 29 29 0a 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 73 65 6c 65 | ter.comma"))..........(push.sele |
| 3860 | 63 74 6f 72 20 72 65 73 75 6c 74 29 29 29 0a 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 72 65 | ctor.result)))......(nreverse.re |
| 3880 | 73 75 6c 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 6f | sult))))..(defun.esxml--parse-co |
| 38a0 | 6d 70 6c 65 78 2d 63 73 73 2d 73 65 6c 65 63 74 6f 72 20 28 29 0a 20 20 28 65 73 78 6d 6c 2d 2d | mplex-css-selector.()...(esxml-- |
| 38c0 | 77 69 74 68 2d 70 61 72 73 65 2d 73 68 6f 72 74 68 61 6e 64 73 0a 20 20 20 28 6c 65 74 20 28 28 | with-parse-shorthands....(let.(( |
| 38e0 | 66 69 72 73 74 20 28 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 6f 6d 70 6f 75 6e 64 2d 63 73 73 | first.(esxml--parse-compound-css |
| 3900 | 2d 73 65 6c 65 63 74 6f 72 29 29 0a 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 20 64 6f 6e 65 | -selector))..........result.done |
| 3920 | 29 0a 20 20 20 20 20 28 77 68 65 6e 20 66 69 72 73 74 0a 20 20 20 20 20 20 20 28 70 75 73 68 20 | )......(when.first........(push. |
| 3940 | 66 69 72 73 74 20 72 65 73 75 6c 74 29 0a 0a 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 6e 6f | first.result).........(while.(no |
| 3960 | 74 20 64 6f 6e 65 29 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 6f 6d 62 69 6e 61 74 | t.done)..........(let.((combinat |
| 3980 | 6f 72 20 28 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 63 6f 6d 62 69 6e 61 74 6f 72 29 | or.(esxml--parse-css-combinator) |
| 39a0 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 63 6f 6d 62 69 6e 61 74 6f 72 0a 20 20 20 | ))............(if.combinator.... |
| 39c0 | 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 6f 6d 70 6f 75 6e 64 20 28 65 73 78 | ............(let.((compound.(esx |
| 39e0 | 6d 6c 2d 2d 70 61 72 73 65 2d 63 6f 6d 70 6f 75 6e 64 2d 63 73 73 2d 73 65 6c 65 63 74 6f 72 29 | ml--parse-compound-css-selector) |
| 3a00 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 | ))..................(cond....... |
| 3a20 | 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6d 70 6f 75 6e 64 0a 20 20 20 20 20 20 20 20 20 20 | ............(compound........... |
| 3a40 | 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 72 65 73 75 6c 74 20 28 61 70 70 65 6e 64 20 28 6c | .........(setq.result.(append.(l |
| 3a60 | 69 73 74 20 63 6f 6d 70 6f 75 6e 64 20 63 6f 6d 62 69 6e 61 74 6f 72 29 20 72 65 73 75 6c 74 29 | ist.compound.combinator).result) |
| 3a80 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 61 6c 6c 6f 77 20 77 68 | ))...................;;.allow.wh |
| 3aa0 | 69 74 65 73 70 61 63 65 20 62 65 66 6f 72 65 20 63 6f 6d 6d 61 0a 20 20 20 20 20 20 20 20 20 20 | itespace.before.comma........... |
| 3ac0 | 20 20 20 20 20 20 20 20 28 28 6e 6f 74 20 28 65 71 20 28 63 61 72 20 28 70 65 65 6b 29 29 20 27 | ........((not.(eq.(car.(peek)).' |
| 3ae0 | 63 6f 6d 6d 61 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f | comma))....................(erro |
| 3b00 | 72 20 22 54 72 61 69 6c 69 6e 67 20 63 6f 6d 62 69 6e 61 74 6f 72 22 29 29 29 29 0a 20 20 20 20 | r."Trailing.combinator"))))..... |
| 3b20 | 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 64 6f 6e 65 20 74 29 29 29 29 0a 20 20 20 20 20 20 | .........(setq.done.t))))....... |
| 3b40 | 20 28 6e 72 65 76 65 72 73 65 20 72 65 73 75 6c 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 | .(nreverse.result)))))..(defun.e |
| 3b60 | 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 63 6f 6d 62 69 6e 61 74 6f 72 20 28 29 0a 20 20 | sxml--parse-css-combinator.()... |
| 3b80 | 28 65 73 78 6d 6c 2d 2d 77 69 74 68 2d 70 61 72 73 65 2d 73 68 6f 72 74 68 61 6e 64 73 0a 20 20 | (esxml--with-parse-shorthands... |
| 3ba0 | 20 3b 3b 20 4e 4f 54 45 3a 20 77 68 69 74 65 73 70 61 63 65 2d 73 75 72 72 6f 75 6e 64 65 64 20 | .;;.NOTE:.whitespace-surrounded. |
| 3bc0 | 63 6f 6d 62 69 6e 61 74 6f 72 73 20 61 72 65 20 64 69 73 74 69 6e 67 75 69 73 68 65 64 20 66 72 | combinators.are.distinguished.fr |
| 3be0 | 6f 6d 0a 20 20 20 3b 3b 20 77 68 69 74 65 73 70 61 63 65 2d 6f 6e 6c 79 20 6f 6e 65 73 20 62 79 | om....;;.whitespace-only.ones.by |
| 3c00 | 20 63 68 65 63 6b 69 6e 67 20 77 68 65 74 68 65 72 20 74 68 65 72 65 20 68 61 73 20 62 65 65 6e | .checking.whether.there.has.been |
| 3c20 | 0a 20 20 20 3b 3b 20 77 68 69 74 65 73 70 61 63 65 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 | ....;;.whitespace.followed.by.a. |
| 3c40 | 6e 6f 6e 2d 62 6c 61 6e 6b 20 63 6f 6d 62 69 6e 61 74 6f 72 0a 20 20 20 28 6c 65 74 20 28 28 6c | non-blank.combinator....(let.((l |
| 3c60 | 65 61 64 69 6e 67 2d 77 68 69 74 65 73 70 61 63 65 2d 70 20 28 65 71 20 28 63 61 72 20 28 70 65 | eading-whitespace-p.(eq.(car.(pe |
| 3c80 | 65 6b 29 29 20 27 77 68 69 74 65 73 70 61 63 65 29 29 0a 20 20 20 20 20 20 20 20 20 72 65 73 75 | ek)).'whitespace))..........resu |
| 3ca0 | 6c 74 29 0a 20 20 20 20 20 28 65 61 74 2d 77 68 69 74 65 73 70 61 63 65 29 0a 20 20 20 20 20 28 | lt)......(eat-whitespace)......( |
| 3cc0 | 6c 65 74 20 28 28 74 79 70 65 20 28 63 61 72 20 28 70 65 65 6b 29 29 29 29 0a 20 20 20 20 20 20 | let.((type.(car.(peek))))....... |
| 3ce0 | 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 28 28 6d 65 6d 62 65 72 20 74 79 70 65 20 27 28 67 | .(cond.........((member.type.'(g |
| 3d00 | 74 20 70 6c 75 73 20 74 69 6c 64 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 65 78 74 29 0a 20 | t.plus.tilde))..........(next).. |
| 3d20 | 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 74 79 70 | ........(cond...........((eq.typ |
| 3d40 | 65 20 27 67 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 72 65 73 75 6c 74 20 27 | e.'gt)............(setq.result.' |
| 3d60 | 28 28 63 6f 6d 62 69 6e 61 74 6f 72 20 2e 20 63 68 69 6c 64 29 29 29 29 0a 20 20 20 20 20 20 20 | ((combinator...child))))........ |
| 3d80 | 20 20 20 28 28 65 71 20 74 79 70 65 20 27 70 6c 75 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 | ...((eq.type.'plus)............( |
| 3da0 | 73 65 74 71 20 72 65 73 75 6c 74 20 27 28 28 63 6f 6d 62 69 6e 61 74 6f 72 20 2e 20 64 69 72 65 | setq.result.'((combinator...dire |
| 3dc0 | 63 74 2d 73 69 62 6c 69 6e 67 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 74 79 | ct-sibling))))...........((eq.ty |
| 3de0 | 70 65 20 27 74 69 6c 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 72 65 73 75 | pe.'tilde)............(setq.resu |
| 3e00 | 6c 74 20 27 28 28 63 6f 6d 62 69 6e 61 74 6f 72 20 2e 20 69 6e 64 69 72 65 63 74 2d 73 69 62 6c | lt.'((combinator...indirect-sibl |
| 3e20 | 69 6e 67 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 65 61 74 2d 77 68 69 74 65 73 70 61 63 | ing)))))..........(eat-whitespac |
| 3e40 | 65 29 29 0a 20 20 20 20 20 20 20 20 28 6c 65 61 64 69 6e 67 2d 77 68 69 74 65 73 70 61 63 65 2d | e)).........(leading-whitespace- |
| 3e60 | 70 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 72 65 73 75 6c 74 20 27 28 28 63 6f 6d 62 69 | p..........(setq.result.'((combi |
| 3e80 | 6e 61 74 6f 72 20 2e 20 64 65 73 63 65 6e 64 61 6e 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 | nator...descendant)))).........( |
| 3ea0 | 74 20 6e 69 6c 29 29 29 0a 20 20 20 20 20 72 65 73 75 6c 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 | t.nil)))......result)))..(defun. |
| 3ec0 | 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 6f 6d 70 6f 75 6e 64 2d 63 73 73 2d 73 65 6c 65 63 74 | esxml--parse-compound-css-select |
| 3ee0 | 6f 72 20 28 29 0a 20 20 28 65 73 78 6d 6c 2d 2d 77 69 74 68 2d 70 61 72 73 65 2d 73 68 6f 72 74 | or.()...(esxml--with-parse-short |
| 3f00 | 68 61 6e 64 73 0a 20 20 20 28 6c 65 74 20 28 28 74 79 70 65 2d 73 65 6c 65 63 74 6f 72 20 28 65 | hands....(let.((type-selector.(e |
| 3f20 | 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 74 79 70 65 2d 73 65 6c 65 63 74 6f 72 29 29 0a | sxml--parse-css-type-selector)). |
| 3f40 | 20 20 20 20 20 20 20 20 20 64 6f 6e 65 0a 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 29 0a 20 | .........done..........result).. |
| 3f60 | 20 20 20 20 3b 3b 20 4e 4f 54 45 3a 20 63 73 73 2d 74 79 70 65 2d 73 65 6c 65 63 74 6f 72 20 63 | ....;;.NOTE:.css-type-selector.c |
| 3f80 | 73 73 2d 6d 6f 64 69 66 69 65 72 2a 20 7c 20 63 73 73 2d 6d 6f 64 69 66 69 65 72 2b 3b 20 69 73 | ss-modifier*.|.css-modifier+;.is |
| 3fa0 | 0a 20 20 20 20 20 3b 3b 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 3a 20 5b 20 63 73 73 2d 74 79 | ......;;.equivalent.to:.[.css-ty |
| 3fc0 | 70 65 2d 73 65 6c 65 63 74 6f 72 20 7c 20 63 73 73 2d 6d 6f 64 69 66 69 65 72 20 5d 20 63 73 73 | pe-selector.|.css-modifier.].css |
| 3fe0 | 2d 6d 6f 64 69 66 69 65 72 2a 3b 0a 20 20 20 20 20 28 69 66 20 74 79 70 65 2d 73 65 6c 65 63 74 | -modifier*;......(if.type-select |
| 4000 | 6f 72 0a 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 74 79 70 65 2d 73 65 6c 65 63 74 6f 72 20 | or..........(push.type-selector. |
| 4020 | 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6d 6f 64 69 66 69 65 72 20 28 | result)........(let.((modifier.( |
| 4040 | 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 6d 6f 64 69 66 69 65 72 29 29 29 0a 20 20 20 | esxml--parse-css-modifier))).... |
| 4060 | 20 20 20 20 20 20 28 69 66 20 6d 6f 64 69 66 69 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ......(if.modifier.............. |
| 4080 | 28 70 75 73 68 20 6d 6f 64 69 66 69 65 72 20 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 20 20 20 | (push.modifier.result).......... |
| 40a0 | 20 20 3b 3b 20 4e 4f 54 45 3a 20 74 68 69 73 20 61 6c 6c 6f 77 73 20 74 68 65 20 74 72 61 69 6c | ..;;.NOTE:.this.allows.the.trail |
| 40c0 | 69 6e 67 20 63 6f 6d 62 69 6e 61 74 6f 72 20 65 72 72 6f 72 20 74 6f 20 62 65 20 74 68 72 6f 77 | ing.combinator.error.to.be.throw |
| 40e0 | 6e 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 64 6f 6e 65 20 74 29 29 29 29 0a 0a 20 | n............(setq.done.t))))... |
| 4100 | 20 20 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 64 6f 6e 65 29 0a 20 20 20 20 20 20 20 28 6c 65 | ....(while.(not.done)........(le |
| 4120 | 74 20 28 28 6d 6f 64 69 66 69 65 72 20 28 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 6d | t.((modifier.(esxml--parse-css-m |
| 4140 | 6f 64 69 66 69 65 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 69 66 20 6d 6f 64 69 66 69 65 72 | odifier)))..........(if.modifier |
| 4160 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 6d 6f 64 69 66 69 65 72 20 72 65 73 | ..............(push.modifier.res |
| 4180 | 75 6c 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 64 6f 6e 65 20 74 29 29 29 29 | ult)............(setq.done.t)))) |
| 41a0 | 0a 20 20 20 20 20 28 77 68 65 6e 20 28 3e 20 28 63 6c 2d 63 6f 75 6e 74 20 27 69 64 20 72 65 73 | ......(when.(>.(cl-count.'id.res |
| 41c0 | 75 6c 74 20 3a 6b 65 79 20 27 63 61 72 29 20 31 29 0a 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 | ult.:key.'car).1)........(error. |
| 41e0 | 22 4f 6e 6c 79 20 6f 6e 65 20 69 64 20 73 65 6c 65 63 74 6f 72 20 61 6c 6c 6f 77 65 64 20 70 65 | "Only.one.id.selector.allowed.pe |
| 4200 | 72 20 63 6f 6d 70 6f 75 6e 64 22 29 29 0a 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 72 65 73 | r.compound"))......(nreverse.res |
| 4220 | 75 6c 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 | ult))))..(defun.esxml--parse-css |
| 4240 | 2d 74 79 70 65 2d 73 65 6c 65 63 74 6f 72 20 28 29 0a 20 20 28 65 73 78 6d 6c 2d 2d 77 69 74 68 | -type-selector.()...(esxml--with |
| 4260 | 2d 70 61 72 73 65 2d 73 68 6f 72 74 68 61 6e 64 73 0a 20 20 20 28 6c 65 74 20 28 28 74 6f 6b 65 | -parse-shorthands....(let.((toke |
| 4280 | 6e 20 28 70 65 65 6b 29 29 29 0a 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 28 28 65 71 | n.(peek)))......(cond.......((eq |
| 42a0 | 20 28 63 61 72 20 74 6f 6b 65 6e 29 20 27 69 64 65 6e 74 29 0a 20 20 20 20 20 20 20 28 6e 65 78 | .(car.token).'ident)........(nex |
| 42c0 | 74 29 0a 20 20 20 20 20 20 20 28 63 6f 6e 73 20 27 74 61 67 20 28 69 6e 74 65 72 6e 20 28 65 73 | t)........(cons.'tag.(intern.(es |
| 42e0 | 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 69 64 65 6e 74 69 66 69 65 72 20 28 63 64 72 20 74 | xml--parse-css-identifier.(cdr.t |
| 4300 | 6f 6b 65 6e 29 29 29 29 29 0a 20 20 20 20 20 20 28 28 65 71 20 28 63 61 72 20 74 6f 6b 65 6e 29 | oken))))).......((eq.(car.token) |
| 4320 | 20 27 61 73 74 65 72 69 73 6b 29 0a 20 20 20 20 20 20 20 28 6e 65 78 74 29 0a 20 20 20 20 20 20 | .'asterisk)........(next)....... |
| 4340 | 20 27 28 77 69 6c 64 63 61 72 64 29 29 0a 20 20 20 20 20 20 28 74 20 6e 69 6c 29 29 29 29 29 0a | .'(wildcard)).......(t.nil))))). |
| 4360 | 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 6d 6f 64 69 66 69 65 | .(defun.esxml--parse-css-modifie |
| 4380 | 72 20 28 29 0a 20 20 28 6f 72 20 28 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 69 64 29 | r.()...(or.(esxml--parse-css-id) |
| 43a0 | 0a 20 20 20 20 20 20 28 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 63 6c 61 73 73 29 0a | .......(esxml--parse-css-class). |
| 43c0 | 20 20 20 20 20 20 28 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 61 74 74 72 69 62 29 0a | ......(esxml--parse-css-attrib). |
| 43e0 | 20 20 20 20 20 20 28 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 70 73 65 75 64 6f 29 29 | ......(esxml--parse-css-pseudo)) |
| 4400 | 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 69 64 20 28 29 | )..(defun.esxml--parse-css-id.() |
| 4420 | 0a 20 20 28 65 73 78 6d 6c 2d 2d 77 69 74 68 2d 70 61 72 73 65 2d 73 68 6f 72 74 68 61 6e 64 73 | ...(esxml--with-parse-shorthands |
| 4440 | 0a 20 20 20 28 6c 65 74 20 28 28 76 61 6c 75 65 20 28 61 63 63 65 70 74 20 27 68 61 73 68 29 29 | ....(let.((value.(accept.'hash)) |
| 4460 | 29 0a 20 20 20 20 20 28 77 68 65 6e 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 28 63 6f 6e 73 20 | )......(when.value........(cons. |
| 4480 | 27 69 64 20 28 73 75 62 73 74 72 69 6e 67 20 76 61 6c 75 65 20 31 29 29 29 29 29 29 0a 0a 28 64 | 'id.(substring.value.1))))))..(d |
| 44a0 | 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 63 6c 61 73 73 20 28 29 0a 20 | efun.esxml--parse-css-class.().. |
| 44c0 | 20 28 65 73 78 6d 6c 2d 2d 77 69 74 68 2d 70 61 72 73 65 2d 73 68 6f 72 74 68 61 6e 64 73 0a 20 | .(esxml--with-parse-shorthands.. |
| 44e0 | 20 20 28 77 68 65 6e 20 28 61 63 63 65 70 74 20 27 70 65 72 69 6f 64 29 0a 20 20 20 20 20 28 6c | ..(when.(accept.'period)......(l |
| 4500 | 65 74 20 28 28 76 61 6c 75 65 20 28 61 63 63 65 70 74 20 27 69 64 65 6e 74 29 29 29 0a 20 20 20 | et.((value.(accept.'ident))).... |
| 4520 | 20 20 20 20 28 69 66 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 27 | ....(if.value............(cons.' |
| 4540 | 63 6c 61 73 73 20 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 45 78 | class.value)..........(error."Ex |
| 4560 | 70 65 63 74 65 64 20 69 64 65 6e 74 69 66 69 65 72 20 61 66 74 65 72 20 70 65 72 69 6f 64 22 29 | pected.identifier.after.period") |
| 4580 | 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 61 | )))))..(defun.esxml--parse-css-a |
| 45a0 | 74 74 72 69 62 20 28 29 0a 20 20 28 65 73 78 6d 6c 2d 2d 77 69 74 68 2d 70 61 72 73 65 2d 73 68 | ttrib.()...(esxml--with-parse-sh |
| 45c0 | 6f 72 74 68 61 6e 64 73 0a 20 20 20 28 6c 65 74 20 28 72 65 73 75 6c 74 29 0a 20 20 20 20 20 28 | orthands....(let.(result)......( |
| 45e0 | 77 68 65 6e 20 28 61 63 63 65 70 74 20 27 6c 62 72 61 63 6b 65 74 29 0a 20 20 20 20 20 20 20 28 | when.(accept.'lbracket)........( |
| 4600 | 65 61 74 2d 77 68 69 74 65 73 70 61 63 65 29 0a 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6e 61 | eat-whitespace)........(let.((na |
| 4620 | 6d 65 20 28 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 61 74 74 72 69 62 2d 6e 61 6d 65 | me.(esxml--parse-css-attrib-name |
| 4640 | 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 6e 61 6d 65 29 0a 20 20 | )))..........(when.(not.name)... |
| 4660 | 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 45 78 70 65 63 74 65 64 20 61 74 74 72 69 62 | .........(error."Expected.attrib |
| 4680 | 75 74 65 20 6e 61 6d 65 22 29 29 0a 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 63 6f 6e 73 | ute.name"))..........(push.(cons |
| 46a0 | 20 27 6e 61 6d 65 20 28 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 69 64 65 6e 74 69 66 | .'name.(esxml--parse-css-identif |
| 46c0 | 69 65 72 20 6e 61 6d 65 29 29 20 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 20 20 20 28 77 68 65 | ier.name)).result)..........(whe |
| 46e0 | 6e 20 28 6e 6f 74 20 28 61 63 63 65 70 74 20 27 72 62 72 61 63 6b 65 74 29 29 0a 20 20 20 20 20 | n.(not.(accept.'rbracket))...... |
| 4700 | 20 20 20 20 20 20 28 6c 65 74 20 28 28 6d 61 74 63 68 20 28 65 73 78 6d 6c 2d 2d 70 61 72 73 65 | ......(let.((match.(esxml--parse |
| 4720 | 2d 63 73 73 2d 61 74 74 72 69 62 2d 6d 61 74 63 68 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | -css-attrib-match)))............ |
| 4740 | 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 6d 61 74 63 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ..(when.(not.match)............. |
| 4760 | 20 20 20 28 65 72 72 6f 72 20 22 45 78 70 65 63 74 65 64 20 61 74 74 72 69 62 75 74 65 20 6d 61 | ...(error."Expected.attribute.ma |
| 4780 | 74 63 68 65 72 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 76 61 6c | tcher"))..............(let.((val |
| 47a0 | 75 65 20 28 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 61 74 74 72 69 62 2d 76 61 6c 75 | ue.(esxml--parse-css-attrib-valu |
| 47c0 | 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 76 | e)))................(when.(not.v |
| 47e0 | 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 45 | alue)..................(error."E |
| 4800 | 78 70 65 63 74 65 64 20 61 74 74 72 69 62 75 74 65 20 76 61 6c 75 65 22 29 29 0a 20 20 20 20 20 | xpected.attribute.value"))...... |
| 4820 | 20 20 20 20 20 20 20 20 20 20 28 65 61 74 2d 77 68 69 74 65 73 70 61 63 65 29 0a 20 20 20 20 20 | ..........(eat-whitespace)...... |
| 4840 | 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 28 61 63 63 65 70 74 20 27 72 62 | ..........(when.(not.(accept.'rb |
| 4860 | 72 61 63 6b 65 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 | racket))..................(error |
| 4880 | 20 22 55 6e 74 65 72 6d 69 6e 61 74 65 64 20 61 74 74 72 69 62 75 74 65 22 29 29 0a 20 20 20 20 | ."Unterminated.attribute"))..... |
| 48a0 | 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 63 6f 6e 73 20 6d 61 74 63 68 20 76 61 6c | ...........(push.(cons.match.val |
| 48c0 | 75 65 29 20 72 65 73 75 6c 74 29 29 29 29 29 0a 20 20 20 20 20 20 20 28 63 6f 6e 73 20 27 61 74 | ue).result)))))........(cons.'at |
| 48e0 | 74 72 69 62 75 74 65 20 28 6e 72 65 76 65 72 73 65 20 72 65 73 75 6c 74 29 29 29 29 29 29 0a 0a | tribute.(nreverse.result)))))).. |
| 4900 | 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 61 74 74 72 69 62 2d 6e | (defun.esxml--parse-css-attrib-n |
| 4920 | 61 6d 65 20 28 29 0a 20 20 28 65 73 78 6d 6c 2d 2d 77 69 74 68 2d 70 61 72 73 65 2d 73 68 6f 72 | ame.()...(esxml--with-parse-shor |
| 4940 | 74 68 61 6e 64 73 0a 20 20 20 28 6c 65 74 20 28 28 6e 61 6d 65 20 28 61 63 63 65 70 74 20 27 69 | thands....(let.((name.(accept.'i |
| 4960 | 64 65 6e 74 29 29 29 0a 20 20 20 20 20 28 77 68 65 6e 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 28 | dent)))......(when.name........( |
| 4980 | 65 61 74 2d 77 68 69 74 65 73 70 61 63 65 29 0a 20 20 20 20 20 20 20 6e 61 6d 65 29 29 29 29 0a | eat-whitespace)........name)))). |
| 49a0 | 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 61 74 74 72 69 62 2d | .(defun.esxml--parse-css-attrib- |
| 49c0 | 6d 61 74 63 68 20 28 29 0a 20 20 28 65 73 78 6d 6c 2d 2d 77 69 74 68 2d 70 61 72 73 65 2d 73 68 | match.()...(esxml--with-parse-sh |
| 49e0 | 6f 72 74 68 61 6e 64 73 0a 20 20 20 28 6c 65 74 20 28 72 65 73 75 6c 74 29 0a 20 20 20 20 20 28 | orthands....(let.(result)......( |
| 4a00 | 63 6f 6e 64 0a 20 20 20 20 20 20 28 28 61 63 63 65 70 74 20 27 65 71 75 61 6c 73 29 0a 20 20 20 | cond.......((accept.'equals).... |
| 4a20 | 20 20 20 20 28 73 65 74 71 20 72 65 73 75 6c 74 20 27 65 78 61 63 74 2d 6d 61 74 63 68 29 29 0a | ....(setq.result.'exact-match)). |
| 4a40 | 20 20 20 20 20 20 28 28 61 63 63 65 70 74 20 27 70 72 65 66 69 78 2d 6d 61 74 63 68 29 0a 20 20 | ......((accept.'prefix-match)... |
| 4a60 | 20 20 20 20 20 28 73 65 74 71 20 72 65 73 75 6c 74 20 27 70 72 65 66 69 78 2d 6d 61 74 63 68 29 | .....(setq.result.'prefix-match) |
| 4a80 | 29 0a 20 20 20 20 20 20 28 28 61 63 63 65 70 74 20 27 73 75 66 66 69 78 2d 6d 61 74 63 68 29 0a | ).......((accept.'suffix-match). |
| 4aa0 | 20 20 20 20 20 20 20 28 73 65 74 71 20 72 65 73 75 6c 74 20 27 73 75 66 66 69 78 2d 6d 61 74 63 | .......(setq.result.'suffix-matc |
| 4ac0 | 68 29 29 0a 20 20 20 20 20 20 28 28 61 63 63 65 70 74 20 27 73 75 62 73 74 72 69 6e 67 2d 6d 61 | h)).......((accept.'substring-ma |
| 4ae0 | 74 63 68 29 0a 20 20 20 20 20 20 20 28 73 65 74 71 20 72 65 73 75 6c 74 20 27 73 75 62 73 74 72 | tch)........(setq.result.'substr |
| 4b00 | 69 6e 67 2d 6d 61 74 63 68 29 29 0a 20 20 20 20 20 20 28 28 61 63 63 65 70 74 20 27 69 6e 63 6c | ing-match)).......((accept.'incl |
| 4b20 | 75 64 65 2d 6d 61 74 63 68 29 0a 20 20 20 20 20 20 20 28 73 65 74 71 20 72 65 73 75 6c 74 20 27 | ude-match)........(setq.result.' |
| 4b40 | 69 6e 63 6c 75 64 65 2d 6d 61 74 63 68 29 29 0a 20 20 20 20 20 20 28 28 61 63 63 65 70 74 20 27 | include-match)).......((accept.' |
| 4b60 | 64 61 73 68 2d 6d 61 74 63 68 29 0a 20 20 20 20 20 20 20 28 73 65 74 71 20 72 65 73 75 6c 74 20 | dash-match)........(setq.result. |
| 4b80 | 27 64 61 73 68 2d 6d 61 74 63 68 29 29 29 0a 20 20 20 20 20 28 65 61 74 2d 77 68 69 74 65 73 70 | 'dash-match)))......(eat-whitesp |
| 4ba0 | 61 63 65 29 0a 20 20 20 20 20 72 65 73 75 6c 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d | ace)......result)))..(defun.esxm |
| 4bc0 | 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 61 74 74 72 69 62 2d 76 61 6c 75 65 20 28 29 0a 20 20 28 | l--parse-css-attrib-value.()...( |
| 4be0 | 65 73 78 6d 6c 2d 2d 77 69 74 68 2d 70 61 72 73 65 2d 73 68 6f 72 74 68 61 6e 64 73 0a 20 20 20 | esxml--with-parse-shorthands.... |
| 4c00 | 28 6c 65 74 20 28 28 74 6f 6b 65 6e 20 28 70 65 65 6b 29 29 29 0a 20 20 20 20 20 28 63 6f 6e 64 | (let.((token.(peek)))......(cond |
| 4c20 | 0a 20 20 20 20 20 20 28 28 65 71 20 28 63 61 72 20 74 6f 6b 65 6e 29 20 27 69 64 65 6e 74 29 0a | .......((eq.(car.token).'ident). |
| 4c40 | 20 20 20 20 20 20 20 28 6e 65 78 74 29 0a 20 20 20 20 20 20 20 28 65 73 78 6d 6c 2d 2d 70 61 72 | .......(next)........(esxml--par |
| 4c60 | 73 65 2d 63 73 73 2d 69 64 65 6e 74 69 66 69 65 72 20 28 63 64 72 20 74 6f 6b 65 6e 29 29 29 0a | se-css-identifier.(cdr.token))). |
| 4c80 | 20 20 20 20 20 20 28 28 65 71 20 28 63 61 72 20 74 6f 6b 65 6e 29 20 27 73 74 72 69 6e 67 29 0a | ......((eq.(car.token).'string). |
| 4ca0 | 20 20 20 20 20 20 20 28 6e 65 78 74 29 0a 20 20 20 20 20 20 20 28 65 73 78 6d 6c 2d 2d 70 61 72 | .......(next)........(esxml--par |
| 4cc0 | 73 65 2d 63 73 73 2d 73 74 72 69 6e 67 2d 6c 69 74 65 72 61 6c 20 28 63 64 72 20 74 6f 6b 65 6e | se-css-string-literal.(cdr.token |
| 4ce0 | 29 29 29 0a 20 20 20 20 20 20 28 74 20 6e 69 6c 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 | ))).......(t.nil)))))..(defun.es |
| 4d00 | 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 70 73 65 75 64 6f 20 28 29 0a 20 20 28 65 73 78 6d | xml--parse-css-pseudo.()...(esxm |
| 4d20 | 6c 2d 2d 77 69 74 68 2d 70 61 72 73 65 2d 73 68 6f 72 74 68 61 6e 64 73 0a 20 20 20 28 6c 65 74 | l--with-parse-shorthands....(let |
| 4d40 | 20 28 72 65 73 75 6c 74 20 74 79 70 65 29 0a 20 20 20 20 20 28 77 68 65 6e 20 28 61 63 63 65 70 | .(result.type)......(when.(accep |
| 4d60 | 74 20 27 63 6f 6c 6f 6e 29 0a 20 20 20 20 20 20 20 28 69 66 20 28 61 63 63 65 70 74 20 27 63 6f | t.'colon)........(if.(accept.'co |
| 4d80 | 6c 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 74 79 70 65 20 27 70 73 65 75 | lon)............(setq.type.'pseu |
| 4da0 | 64 6f 2d 65 6c 65 6d 65 6e 74 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 74 79 70 65 20 | do-element)..........(setq.type. |
| 4dc0 | 27 70 73 65 75 64 6f 2d 63 6c 61 73 73 29 29 0a 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 66 75 | 'pseudo-class))........(let.((fu |
| 4de0 | 6e 63 74 69 6f 6e 61 6c 20 28 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 66 75 6e 63 74 | nctional.(esxml--parse-css-funct |
| 4e00 | 69 6f 6e 61 6c 2d 70 73 65 75 64 6f 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 69 66 20 66 75 6e | ional-pseudo)))..........(if.fun |
| 4e20 | 63 74 69 6f 6e 61 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 71 20 74 79 70 | ctional..............(if.(eq.typ |
| 4e40 | 65 20 27 70 73 65 75 64 6f 2d 63 6c 61 73 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | e.'pseudo-class)................ |
| 4e60 | 20 20 28 6c 65 74 20 28 28 76 61 6c 75 65 20 28 63 61 72 20 66 75 6e 63 74 69 6f 6e 61 6c 29 29 | ..(let.((value.(car.functional)) |
| 4e80 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 67 73 20 28 63 | ........................(args.(c |
| 4ea0 | 64 72 20 66 75 6e 63 74 69 6f 6e 61 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | dr.functional)))................ |
| 4ec0 | 20 20 20 20 28 70 75 73 68 20 28 63 6f 6e 73 20 27 6e 61 6d 65 20 28 65 73 78 6d 6c 2d 2d 70 61 | ....(push.(cons.'name.(esxml--pa |
| 4ee0 | 72 73 65 2d 63 73 73 2d 69 64 65 6e 74 69 66 69 65 72 20 76 61 6c 75 65 29 29 20 72 65 73 75 6c | rse-css-identifier.value)).resul |
| 4f00 | 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 63 6f 6e | t)....................(push.(con |
| 4f20 | 73 20 27 61 72 67 73 20 61 72 67 73 29 20 72 65 73 75 6c 74 29 29 0a 20 20 20 20 20 20 20 20 20 | s.'args.args).result)).......... |
| 4f40 | 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 50 73 65 75 64 6f 2d 65 6c 65 6d 65 6e 74 73 20 6d 61 | ......(error."Pseudo-elements.ma |
| 4f60 | 79 20 6e 6f 74 20 68 61 76 65 20 61 72 67 75 6d 65 6e 74 73 22 29 29 0a 20 20 20 20 20 20 20 20 | y.not.have.arguments"))......... |
| 4f80 | 20 20 20 28 6c 65 74 20 28 28 76 61 6c 75 65 20 28 61 63 63 65 70 74 20 27 69 64 65 6e 74 29 29 | ...(let.((value.(accept.'ident)) |
| 4fa0 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 | )..............(if.value........ |
| 4fc0 | 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 63 6f 6e 73 20 27 6e 61 6d 65 20 28 65 73 78 | ..........(push.(cons.'name.(esx |
| 4fe0 | 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 69 64 65 6e 74 69 66 69 65 72 20 76 61 6c 75 65 29 29 | ml--parse-css-identifier.value)) |
| 5000 | 20 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 | .result)................(error." |
| 5020 | 45 78 70 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 6f 72 20 69 64 65 6e 74 69 66 69 65 72 22 | Expected.function.or.identifier" |
| 5040 | 29 29 29 29 29 0a 20 20 20 20 20 20 20 28 63 6f 6e 73 20 74 79 70 65 20 28 6e 72 65 76 65 72 73 | )))))........(cons.type.(nrevers |
| 5060 | 65 20 72 65 73 75 6c 74 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 70 61 | e.result))))))..(defun.esxml--pa |
| 5080 | 72 73 65 2d 63 73 73 2d 66 75 6e 63 74 69 6f 6e 61 6c 2d 70 73 65 75 64 6f 20 28 29 0a 20 20 28 | rse-css-functional-pseudo.()...( |
| 50a0 | 65 73 78 6d 6c 2d 2d 77 69 74 68 2d 70 61 72 73 65 2d 73 68 6f 72 74 68 61 6e 64 73 0a 20 20 20 | esxml--with-parse-shorthands.... |
| 50c0 | 28 6c 65 74 20 28 28 66 75 6e 63 74 69 6f 6e 20 28 61 63 63 65 70 74 20 27 66 75 6e 63 74 69 6f | (let.((function.(accept.'functio |
| 50e0 | 6e 29 29 0a 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 29 0a 20 20 20 20 20 28 77 68 65 6e 20 | n))..........result)......(when. |
| 5100 | 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 28 70 75 73 68 20 28 73 75 62 73 74 72 69 6e 67 | function........(push.(substring |
| 5120 | 20 66 75 6e 63 74 69 6f 6e 20 30 20 2d 31 29 20 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 20 28 | .function.0.-1).result)........( |
| 5140 | 65 61 74 2d 77 68 69 74 65 73 70 61 63 65 29 0a 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 65 78 | eat-whitespace)........(let.((ex |
| 5160 | 70 72 65 73 73 69 6f 6e 20 28 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 65 78 70 72 65 | pression.(esxml--parse-css-expre |
| 5180 | 73 73 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 6e 65 29 0a 20 20 20 20 20 | ssion))..............done)...... |
| 51a0 | 20 20 20 20 28 65 61 74 2d 77 68 69 74 65 73 70 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 28 77 | ....(eat-whitespace)..........(w |
| 51c0 | 68 65 6e 20 28 6e 6f 74 20 65 78 70 72 65 73 73 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 | hen.(not.expression)............ |
| 51e0 | 28 65 72 72 6f 72 20 22 45 78 70 65 63 74 65 64 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 65 78 | (error."Expected.at.least.one.ex |
| 5200 | 70 72 65 73 73 69 6f 6e 20 66 6f 72 20 66 75 6e 63 74 69 6f 6e 22 29 29 0a 20 20 20 20 20 20 20 | pression.for.function"))........ |
| 5220 | 20 20 28 70 75 73 68 20 65 78 70 72 65 73 73 69 6f 6e 20 72 65 73 75 6c 74 29 0a 20 20 20 20 20 | ..(push.expression.result)...... |
| 5240 | 20 20 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 64 6f 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 | ....(while.(not.done)........... |
| 5260 | 20 28 73 65 74 71 20 65 78 70 72 65 73 73 69 6f 6e 20 28 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d | .(setq.expression.(esxml--parse- |
| 5280 | 63 73 73 2d 65 78 70 72 65 73 73 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 | css-expression))............(if. |
| 52a0 | 65 78 70 72 65 73 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e | expression................(progn |
| 52c0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 65 78 70 72 65 73 73 69 | ..................(push.expressi |
| 52e0 | 6f 6e 20 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 61 74 | on.result)..................(eat |
| 5300 | 2d 77 68 69 74 65 73 70 61 63 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 | -whitespace))..............(setq |
| 5320 | 20 64 6f 6e 65 20 74 29 29 29 29 0a 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 28 61 | .done.t))))........(when.(not.(a |
| 5340 | 63 63 65 70 74 20 27 72 70 61 72 65 6e 29 29 0a 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 | ccept.'rparen))..........(error. |
| 5360 | 22 55 6e 74 65 72 6d 69 6e 61 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 61 72 67 75 6d 65 6e 74 20 | "Unterminated.function.argument. |
| 5380 | 6c 69 73 74 22 29 29 0a 20 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 72 65 73 75 6c 74 29 | list"))........(nreverse.result) |
| 53a0 | 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 65 78 | ))))..(defun.esxml--parse-css-ex |
| 53c0 | 70 72 65 73 73 69 6f 6e 20 28 29 0a 20 20 28 65 73 78 6d 6c 2d 2d 77 69 74 68 2d 70 61 72 73 65 | pression.()...(esxml--with-parse |
| 53e0 | 2d 73 68 6f 72 74 68 61 6e 64 73 0a 20 20 20 28 6c 65 74 20 28 28 74 6f 6b 65 6e 20 28 70 65 65 | -shorthands....(let.((token.(pee |
| 5400 | 6b 29 29 29 0a 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 28 28 61 63 63 65 70 74 20 27 | k)))......(cond.......((accept.' |
| 5420 | 70 6c 75 73 29 0a 20 20 20 20 20 20 20 27 28 6f 70 65 72 61 74 6f 72 20 2e 20 2b 29 29 0a 20 20 | plus)........'(operator...+))... |
| 5440 | 20 20 20 20 28 28 61 63 63 65 70 74 20 27 6d 69 6e 75 73 29 0a 20 20 20 20 20 20 20 27 28 6f 70 | ....((accept.'minus)........'(op |
| 5460 | 65 72 61 74 6f 72 20 2e 20 2d 29 29 0a 20 20 20 20 20 20 28 28 65 71 20 28 63 61 72 20 74 6f 6b | erator...-)).......((eq.(car.tok |
| 5480 | 65 6e 29 20 27 64 69 6d 65 6e 73 69 6f 6e 29 0a 20 20 20 20 20 20 20 28 6e 65 78 74 29 0a 20 20 | en).'dimension)........(next)... |
| 54a0 | 20 20 20 20 20 28 63 6f 6e 73 20 27 64 69 6d 65 6e 73 69 6f 6e 20 28 65 73 78 6d 6c 2d 2d 70 61 | .....(cons.'dimension.(esxml--pa |
| 54c0 | 72 73 65 2d 63 73 73 2d 69 64 65 6e 74 69 66 69 65 72 20 28 63 64 72 20 74 6f 6b 65 6e 29 29 29 | rse-css-identifier.(cdr.token))) |
| 54e0 | 29 0a 20 20 20 20 20 20 28 28 65 71 20 28 63 61 72 20 74 6f 6b 65 6e 29 20 27 6e 75 6d 62 65 72 | ).......((eq.(car.token).'number |
| 5500 | 29 0a 20 20 20 20 20 20 20 28 6e 65 78 74 29 0a 20 20 20 20 20 20 20 28 63 6f 6e 73 20 27 6e 75 | )........(next)........(cons.'nu |
| 5520 | 6d 62 65 72 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 20 28 63 64 72 20 74 6f 6b 65 | mber.(string-to-number.(cdr.toke |
| 5540 | 6e 29 29 29 29 0a 20 20 20 20 20 20 28 28 65 71 20 28 63 61 72 20 74 6f 6b 65 6e 29 20 27 73 74 | n)))).......((eq.(car.token).'st |
| 5560 | 72 69 6e 67 29 0a 20 20 20 20 20 20 20 28 6e 65 78 74 29 0a 20 20 20 20 20 20 20 28 63 6f 6e 73 | ring)........(next)........(cons |
| 5580 | 20 27 73 74 72 69 6e 67 20 28 65 73 78 6d 6c 2d 2d 70 61 72 73 65 2d 63 73 73 2d 73 74 72 69 6e | .'string.(esxml--parse-css-strin |
| 55a0 | 67 2d 6c 69 74 65 72 61 6c 20 28 63 64 72 20 74 6f 6b 65 6e 29 29 29 29 0a 20 20 20 20 20 20 28 | g-literal.(cdr.token)))).......( |
| 55c0 | 28 65 71 20 28 63 61 72 20 74 6f 6b 65 6e 29 20 27 69 64 65 6e 74 29 0a 20 20 20 20 20 20 20 28 | (eq.(car.token).'ident)........( |
| 55e0 | 6e 65 78 74 29 0a 20 20 20 20 20 20 20 28 63 6f 6e 73 20 27 69 64 65 6e 74 20 28 65 73 78 6d 6c | next)........(cons.'ident.(esxml |
| 5600 | 2d 2d 70 61 72 73 65 2d 63 73 73 2d 69 64 65 6e 74 69 66 69 65 72 20 28 63 64 72 20 74 6f 6b 65 | --parse-css-identifier.(cdr.toke |
| 5620 | 6e 29 29 29 29 0a 20 20 20 20 20 20 28 74 20 6e 69 6c 29 29 29 29 29 0a 0a 0c 0a 3b 3b 3b 20 74 | n)))).......(t.nil)))))....;;;.t |
| 5640 | 72 65 65 20 74 72 61 76 65 72 73 61 6c 0a 0a 3b 3b 20 54 4f 44 4f 3a 20 77 68 79 20 62 72 61 6e | ree.traversal..;;.TODO:.why.bran |
| 5660 | 63 68 3f 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 62 72 61 6e 63 68 2d 70 20 28 6e 6f 64 65 29 | ch?.(defun.esxml-branch-p.(node) |
| 5680 | 0a 20 20 22 4e 6f 6e 2d 6e 69 6c 20 69 66 20 4e 4f 44 45 20 72 65 66 65 72 73 20 74 6f 20 61 6e | ..."Non-nil.if.NODE.refers.to.an |
| 56a0 | 20 65 73 78 6d 6c 20 62 72 61 6e 63 68 2e 22 0a 20 20 28 61 6e 64 20 28 6c 69 73 74 70 20 6e 6f | .esxml.branch."...(and.(listp.no |
| 56c0 | 64 65 29 0a 20 20 20 20 20 20 20 28 3e 3d 20 28 6c 65 6e 67 74 68 20 6e 6f 64 65 29 20 32 29 0a | de)........(>=.(length.node).2). |
| 56e0 | 20 20 20 20 20 20 20 28 73 79 6d 62 6f 6c 70 20 28 63 61 72 20 6e 6f 64 65 29 29 0a 20 20 20 20 | .......(symbolp.(car.node))..... |
| 5700 | 20 20 20 28 6c 69 73 74 70 20 28 63 61 64 72 20 6e 6f 64 65 29 29 29 29 0a 0a 3b 3b 20 54 4f 44 | ...(listp.(cadr.node))))..;;.TOD |
| 5720 | 4f 3a 20 74 68 65 73 65 20 68 65 6c 70 65 72 73 20 73 68 6f 75 6c 64 20 62 65 20 64 65 70 72 65 | O:.these.helpers.should.be.depre |
| 5740 | 63 61 74 65 64 20 69 6e 20 66 61 76 6f 72 20 6f 66 20 64 6f 6d 2e 65 6c 0a 28 64 65 66 75 6e 20 | cated.in.favor.of.dom.el.(defun. |
| 5760 | 65 73 78 6d 6c 2d 6e 6f 64 65 2d 74 61 67 20 28 6e 6f 64 65 29 0a 20 20 22 52 65 74 75 72 6e 73 | esxml-node-tag.(node)..."Returns |
| 5780 | 20 74 68 65 20 74 61 67 20 6f 66 20 4e 4f 44 45 20 69 66 20 61 76 61 69 6c 61 62 6c 65 2e 22 0a | .the.tag.of.NODE.if.available.". |
| 57a0 | 20 20 28 61 6e 64 20 28 65 73 78 6d 6c 2d 62 72 61 6e 63 68 2d 70 20 6e 6f 64 65 29 0a 20 20 20 | ..(and.(esxml-branch-p.node).... |
| 57c0 | 20 20 20 20 28 63 61 72 20 6e 6f 64 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 6e | ....(car.node)))..(defun.esxml-n |
| 57e0 | 6f 64 65 2d 61 74 74 72 69 62 75 74 65 73 20 28 6e 6f 64 65 29 0a 20 20 22 52 65 74 75 72 6e 73 | ode-attributes.(node)..."Returns |
| 5800 | 20 74 68 65 20 61 74 74 72 69 62 75 74 65 73 20 6f 66 20 4e 4f 44 45 20 69 66 20 61 76 61 69 6c | .the.attributes.of.NODE.if.avail |
| 5820 | 61 62 6c 65 2e 22 0a 20 20 28 61 6e 64 20 28 65 73 78 6d 6c 2d 62 72 61 6e 63 68 2d 70 20 6e 6f | able."...(and.(esxml-branch-p.no |
| 5840 | 64 65 29 0a 20 20 20 20 20 20 20 28 63 61 64 72 20 6e 6f 64 65 29 29 29 0a 0a 28 64 65 66 75 6e | de)........(cadr.node)))..(defun |
| 5860 | 20 65 73 78 6d 6c 2d 6e 6f 64 65 2d 61 74 74 72 69 62 75 74 65 20 28 61 74 74 72 69 62 75 74 65 | .esxml-node-attribute.(attribute |
| 5880 | 20 6e 6f 64 65 29 0a 20 20 22 52 65 74 75 72 6e 73 20 74 68 65 20 61 74 74 72 69 62 75 74 65 20 | .node)..."Returns.the.attribute. |
| 58a0 | 41 54 54 52 49 42 55 54 45 20 6f 66 20 4e 4f 44 45 20 69 66 20 61 76 61 69 6c 61 62 6c 65 2e 22 | ATTRIBUTE.of.NODE.if.available." |
| 58c0 | 0a 20 20 28 61 6e 64 20 28 65 73 78 6d 6c 2d 62 72 61 6e 63 68 2d 70 20 6e 6f 64 65 29 0a 20 20 | ...(and.(esxml-branch-p.node)... |
| 58e0 | 20 20 20 20 20 28 63 64 72 20 28 61 73 73 71 20 61 74 74 72 69 62 75 74 65 20 28 63 61 64 72 20 | .....(cdr.(assq.attribute.(cadr. |
| 5900 | 6e 6f 64 65 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 6e 6f 64 65 2d 63 68 69 | node)))))..(defun.esxml-node-chi |
| 5920 | 6c 64 72 65 6e 20 28 6e 6f 64 65 29 0a 20 20 22 52 65 74 75 72 6e 73 20 74 68 65 20 63 68 69 6c | ldren.(node)..."Returns.the.chil |
| 5940 | 64 72 65 6e 20 6f 66 20 4e 4f 44 45 20 69 66 20 61 76 61 69 6c 61 62 6c 65 2e 22 0a 20 20 28 61 | dren.of.NODE.if.available."...(a |
| 5960 | 6e 64 20 28 65 73 78 6d 6c 2d 62 72 61 6e 63 68 2d 70 20 6e 6f 64 65 29 0a 20 20 20 20 20 20 20 | nd.(esxml-branch-p.node)........ |
| 5980 | 28 6e 74 68 63 64 72 20 32 20 6e 6f 64 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d | (nthcdr.2.node)))..(defun.esxml- |
| 59a0 | 66 69 6e 64 2d 6e 6f 64 65 20 28 70 72 65 64 20 72 6f 6f 74 29 0a 20 20 22 4c 6f 63 61 74 65 73 | find-node.(pred.root)..."Locates |
| 59c0 | 20 61 20 6e 6f 64 65 20 73 61 74 69 73 66 79 69 6e 67 20 50 52 45 44 20 73 74 61 72 74 69 6e 67 | .a.node.satisfying.PRED.starting |
| 59e0 | 20 66 72 6f 6d 20 52 4f 4f 54 2e 0a 52 65 74 75 72 6e 73 20 74 68 65 20 6e 6f 64 65 20 6f 72 20 | .from.ROOT..Returns.the.node.or. |
| 5a00 | 6e 69 6c 20 69 66 20 6e 6f 6e 65 20 66 6f 75 6e 64 2e 22 0a 20 20 28 69 66 20 28 66 75 6e 63 61 | nil.if.none.found."...(if.(funca |
| 5a20 | 6c 6c 20 70 72 65 64 20 72 6f 6f 74 29 0a 20 20 20 20 20 20 72 6f 6f 74 0a 20 20 20 20 28 63 6c | ll.pred.root).......root.....(cl |
| 5a40 | 2d 73 6f 6d 65 20 28 6c 61 6d 62 64 61 20 28 6e 6f 64 65 29 20 28 65 73 78 6d 6c 2d 66 69 6e 64 | -some.(lambda.(node).(esxml-find |
| 5a60 | 2d 6e 6f 64 65 20 70 72 65 64 20 6e 6f 64 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | -node.pred.node))..............( |
| 5a80 | 65 73 78 6d 6c 2d 6e 6f 64 65 2d 63 68 69 6c 64 72 65 6e 20 72 6f 6f 74 29 29 29 29 0a 0a 28 64 | esxml-node-children.root))))..(d |
| 5aa0 | 65 66 75 6e 20 65 73 78 6d 6c 2d 76 69 73 69 74 2d 6e 6f 64 65 73 20 28 66 75 6e 63 74 69 6f 6e | efun.esxml-visit-nodes.(function |
| 5ac0 | 20 72 6f 6f 74 29 0a 20 20 22 56 69 73 69 74 20 6e 6f 64 65 73 20 62 79 20 63 61 6c 6c 69 6e 67 | .root)..."Visit.nodes.by.calling |
| 5ae0 | 20 46 55 4e 43 54 49 4f 4e 20 6f 6e 20 65 61 63 68 20 73 74 61 72 74 69 6e 67 20 66 72 6f 6d 20 | .FUNCTION.on.each.starting.from. |
| 5b00 | 52 4f 4f 54 2e 22 0a 20 20 28 66 75 6e 63 61 6c 6c 20 66 75 6e 63 74 69 6f 6e 20 72 6f 6f 74 29 | ROOT."...(funcall.function.root) |
| 5b20 | 0a 20 20 28 6d 61 70 63 20 28 6c 61 6d 62 64 61 20 28 6e 6f 64 65 29 20 28 65 73 78 6d 6c 2d 76 | ...(mapc.(lambda.(node).(esxml-v |
| 5b40 | 69 73 69 74 2d 6e 6f 64 65 73 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 64 65 29 29 0a 20 20 20 20 20 | isit-nodes.function.node))...... |
| 5b60 | 20 20 20 28 65 73 78 6d 6c 2d 6e 6f 64 65 2d 63 68 69 6c 64 72 65 6e 20 72 6f 6f 74 29 29 29 0a | ...(esxml-node-children.root))). |
| 5b80 | 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 66 69 6e 64 2d 6e 6f 64 65 73 20 28 70 72 65 64 20 72 | .(defun.esxml-find-nodes.(pred.r |
| 5ba0 | 6f 6f 74 29 0a 20 20 22 4c 6f 63 61 74 65 73 20 61 6c 6c 20 6e 6f 64 65 73 20 73 61 74 69 73 66 | oot)..."Locates.all.nodes.satisf |
| 5bc0 | 79 69 6e 67 20 50 52 45 44 20 73 74 61 72 74 69 6e 67 20 66 72 6f 6d 20 52 4f 4f 54 2e 0a 52 65 | ying.PRED.starting.from.ROOT..Re |
| 5be0 | 74 75 72 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 6e 6f 64 65 73 20 6f 72 20 6e 69 6c | turns.a.list.of.the.nodes.or.nil |
| 5c00 | 20 69 66 20 6e 6f 6e 65 20 66 6f 75 6e 64 2e 22 0a 20 20 28 6c 65 74 20 28 28 61 63 63 20 27 28 | .if.none.found."...(let.((acc.'( |
| 5c20 | 29 29 29 0a 20 20 20 20 28 65 73 78 6d 6c 2d 76 69 73 69 74 2d 6e 6f 64 65 73 0a 20 20 20 20 20 | ))).....(esxml-visit-nodes...... |
| 5c40 | 28 6c 61 6d 62 64 61 20 28 6e 6f 64 65 29 0a 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 66 75 6e | (lambda.(node)........(when.(fun |
| 5c60 | 63 61 6c 6c 20 70 72 65 64 20 6e 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 6e | call.pred.node)..........(push.n |
| 5c80 | 6f 64 65 20 61 63 63 29 29 29 0a 20 20 20 20 20 72 6f 6f 74 29 0a 20 20 20 20 28 6e 72 65 76 65 | ode.acc)))......root).....(nreve |
| 5ca0 | 72 73 65 20 61 63 63 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 66 69 6e 64 2d 64 65 | rse.acc)))..(defun.esxml-find-de |
| 5cc0 | 73 63 65 6e 64 61 6e 74 20 28 70 72 65 64 20 72 6f 6f 74 29 0a 20 20 22 4c 6f 63 61 74 65 73 20 | scendant.(pred.root)..."Locates. |
| 5ce0 | 61 20 6e 6f 64 65 20 73 61 74 69 73 66 79 69 6e 67 20 50 52 45 44 20 73 74 61 72 74 69 6e 67 20 | a.node.satisfying.PRED.starting. |
| 5d00 | 66 72 6f 6d 20 52 4f 4f 54 27 73 20 63 68 69 6c 64 72 65 6e 2e 0a 52 65 74 75 72 6e 73 20 74 68 | from.ROOT's.children..Returns.th |
| 5d20 | 65 20 6e 6f 64 65 20 6f 72 20 6e 69 6c 20 69 66 20 6e 6f 6e 65 20 66 6f 75 6e 64 2e 22 0a 20 20 | e.node.or.nil.if.none.found."... |
| 5d40 | 28 63 6c 2d 73 6f 6d 65 20 28 6c 61 6d 62 64 61 20 28 6e 6f 64 65 29 20 28 65 73 78 6d 6c 2d 66 | (cl-some.(lambda.(node).(esxml-f |
| 5d60 | 69 6e 64 2d 6e 6f 64 65 20 70 72 65 64 20 6e 6f 64 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ind-node.pred.node))............ |
| 5d80 | 28 65 73 78 6d 6c 2d 6e 6f 64 65 2d 63 68 69 6c 64 72 65 6e 20 72 6f 6f 74 29 29 29 0a 0a 28 64 | (esxml-node-children.root)))..(d |
| 5da0 | 65 66 75 6e 20 65 73 78 6d 6c 2d 66 69 6e 64 2d 64 65 73 63 65 6e 64 61 6e 74 73 20 28 70 72 65 | efun.esxml-find-descendants.(pre |
| 5dc0 | 64 20 72 6f 6f 74 29 0a 20 20 22 4c 6f 63 61 74 65 73 20 61 6c 6c 20 6e 6f 64 65 73 20 73 61 74 | d.root)..."Locates.all.nodes.sat |
| 5de0 | 69 73 66 79 69 6e 67 20 50 52 45 44 20 73 74 61 72 74 69 6e 67 20 66 72 6f 6d 20 52 4f 4f 54 27 | isfying.PRED.starting.from.ROOT' |
| 5e00 | 73 20 63 68 69 6c 64 72 65 6e 2e 0a 52 65 74 75 72 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 74 68 | s.children..Returns.a.list.of.th |
| 5e20 | 65 20 6e 6f 64 65 73 20 6f 72 20 6e 69 6c 20 69 66 20 6e 6f 6e 65 20 66 6f 75 6e 64 2e 22 0a 20 | e.nodes.or.nil.if.none.found.".. |
| 5e40 | 20 28 63 6c 2d 6d 61 70 63 61 6e 20 28 6c 61 6d 62 64 61 20 28 6e 6f 64 65 29 20 28 65 73 78 6d | .(cl-mapcan.(lambda.(node).(esxm |
| 5e60 | 6c 2d 66 69 6e 64 2d 6e 6f 64 65 73 20 70 72 65 64 20 6e 6f 64 65 29 29 0a 20 20 20 20 20 20 20 | l-find-nodes.pred.node))........ |
| 5e80 | 20 20 20 20 20 20 28 65 73 78 6d 6c 2d 6e 6f 64 65 2d 63 68 69 6c 64 72 65 6e 20 72 6f 6f 74 29 | ......(esxml-node-children.root) |
| 5ea0 | 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 66 69 6e 64 2d 63 68 69 6c 64 20 28 70 72 65 | ))..(defun.esxml-find-child.(pre |
| 5ec0 | 64 20 72 6f 6f 74 29 0a 20 20 22 4c 6f 63 61 74 65 73 20 61 20 6e 6f 64 65 20 73 61 74 69 73 66 | d.root)..."Locates.a.node.satisf |
| 5ee0 | 79 69 6e 67 20 50 52 45 44 20 61 6d 6f 6e 67 20 52 4f 4f 54 27 73 20 63 68 69 6c 64 72 65 6e 2e | ying.PRED.among.ROOT's.children. |
| 5f00 | 0a 52 65 74 75 72 6e 73 20 74 68 65 20 6e 6f 64 65 20 6f 72 20 6e 69 6c 20 69 66 20 6e 6f 6e 65 | .Returns.the.node.or.nil.if.none |
| 5f20 | 20 66 6f 75 6e 64 2e 22 0a 20 20 28 63 6c 2d 73 6f 6d 65 20 28 6c 61 6d 62 64 61 20 28 6e 6f 64 | .found."...(cl-some.(lambda.(nod |
| 5f40 | 65 29 20 28 77 68 65 6e 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 6e 6f 64 65 29 20 6e 6f 64 | e).(when.(funcall.pred.node).nod |
| 5f60 | 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 65 73 78 6d 6c 2d 6e 6f 64 65 2d 63 68 69 6c 64 | e))............(esxml-node-child |
| 5f80 | 72 65 6e 20 72 6f 6f 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 66 69 6e 64 2d 63 | ren.root)))..(defun.esxml-find-c |
| 5fa0 | 68 69 6c 64 72 65 6e 20 28 70 72 65 64 20 72 6f 6f 74 29 0a 20 20 22 4c 6f 63 61 74 65 73 20 61 | hildren.(pred.root)..."Locates.a |
| 5fc0 | 6c 6c 20 6e 6f 64 65 73 20 73 61 74 69 73 66 79 69 6e 67 20 50 52 45 44 20 61 6d 6f 6e 67 20 52 | ll.nodes.satisfying.PRED.among.R |
| 5fe0 | 4f 4f 54 27 73 20 63 68 69 6c 64 72 65 6e 2e 0a 52 65 74 75 72 6e 73 20 61 20 6c 69 73 74 20 6f | OOT's.children..Returns.a.list.o |
| 6000 | 66 20 74 68 65 20 6e 6f 64 65 73 20 6f 72 20 6e 69 6c 20 69 66 20 6e 6f 6e 65 20 66 6f 75 6e 64 | f.the.nodes.or.nil.if.none.found |
| 6020 | 2e 22 0a 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 6e 6f 64 65 29 20 28 77 68 65 | ."...(mapcar.(lambda.(node).(whe |
| 6040 | 6e 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 6e 6f 64 65 29 20 6e 6f 64 65 29 29 0a 20 20 20 | n.(funcall.pred.node).node)).... |
| 6060 | 20 20 20 20 20 20 20 28 65 73 78 6d 6c 2d 6e 6f 64 65 2d 63 68 69 6c 64 72 65 6e 20 72 6f 6f 74 | .......(esxml-node-children.root |
| 6080 | 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 6e 6f 64 65 2d 77 69 74 68 2d 63 68 69 | )))..(defun.esxml--node-with-chi |
| 60a0 | 6c 64 72 65 6e 20 28 6e 6f 64 65 20 63 68 69 6c 64 72 65 6e 29 0a 20 20 28 6c 65 74 20 28 28 74 | ldren.(node.children)...(let.((t |
| 60c0 | 61 67 20 28 65 73 78 6d 6c 2d 6e 6f 64 65 2d 74 61 67 20 6e 6f 64 65 29 29 0a 20 20 20 20 20 20 | ag.(esxml-node-tag.node))....... |
| 60e0 | 20 20 28 61 74 74 72 69 62 75 74 65 73 20 28 65 73 78 6d 6c 2d 6e 6f 64 65 2d 61 74 74 72 69 62 | ..(attributes.(esxml-node-attrib |
| 6100 | 75 74 65 73 20 6e 6f 64 65 29 29 29 0a 20 20 20 20 28 61 70 70 65 6e 64 20 28 6c 69 73 74 20 74 | utes.node))).....(append.(list.t |
| 6120 | 61 67 20 61 74 74 72 69 62 75 74 65 73 29 20 63 68 69 6c 64 72 65 6e 29 29 29 0a 0a 28 64 65 66 | ag.attributes).children)))..(def |
| 6140 | 75 6e 20 65 73 78 6d 6c 2d 2d 6e 6f 64 65 2d 77 69 74 68 2d 61 74 74 72 69 62 75 74 65 73 20 28 | un.esxml--node-with-attributes.( |
| 6160 | 6e 6f 64 65 20 61 74 74 72 69 62 75 74 65 73 29 0a 20 20 28 6c 65 74 20 28 28 74 61 67 20 28 65 | node.attributes)...(let.((tag.(e |
| 6180 | 73 78 6d 6c 2d 6e 6f 64 65 2d 74 61 67 20 6e 6f 64 65 29 29 0a 20 20 20 20 20 20 20 20 28 63 68 | sxml-node-tag.node)).........(ch |
| 61a0 | 69 6c 64 72 65 6e 20 28 65 73 78 6d 6c 2d 6e 6f 64 65 2d 63 68 69 6c 64 72 65 6e 20 6e 6f 64 65 | ildren.(esxml-node-children.node |
| 61c0 | 29 29 29 0a 20 20 20 20 28 61 70 70 65 6e 64 20 28 6c 69 73 74 20 74 61 67 20 61 74 74 72 69 62 | ))).....(append.(list.tag.attrib |
| 61e0 | 75 74 65 73 29 20 63 68 69 6c 64 72 65 6e 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d | utes).children)))..(defun.esxml- |
| 6200 | 74 72 65 65 2d 6d 61 70 20 28 66 75 6e 63 74 69 6f 6e 20 72 6f 6f 74 29 0a 20 20 22 52 65 74 75 | tree-map.(function.root)..."Retu |
| 6220 | 72 6e 73 20 61 20 63 6f 70 79 20 6f 66 20 52 4f 4f 54 20 77 69 74 68 20 46 55 4e 43 54 49 4f 4e | rns.a.copy.of.ROOT.with.FUNCTION |
| 6240 | 20 61 70 70 6c 69 65 64 20 74 6f 20 65 61 63 68 20 6e 6f 64 65 2e 22 0a 20 20 28 69 66 20 28 65 | .applied.to.each.node."...(if.(e |
| 6260 | 73 78 6d 6c 2d 62 72 61 6e 63 68 2d 70 20 72 6f 6f 74 29 0a 20 20 20 20 20 20 28 65 73 78 6d 6c | sxml-branch-p.root).......(esxml |
| 6280 | 2d 2d 6e 6f 64 65 2d 77 69 74 68 2d 63 68 69 6c 64 72 65 6e 0a 20 20 20 20 20 20 20 28 66 75 6e | --node-with-children........(fun |
| 62a0 | 63 61 6c 6c 20 66 75 6e 63 74 69 6f 6e 20 72 6f 6f 74 29 0a 20 20 20 20 20 20 20 28 6d 61 70 63 | call.function.root)........(mapc |
| 62c0 | 61 72 20 28 6c 61 6d 62 64 61 20 28 6e 6f 64 65 29 20 28 65 73 78 6d 6c 2d 74 72 65 65 2d 6d 61 | ar.(lambda.(node).(esxml-tree-ma |
| 62e0 | 70 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 64 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | p.function.node))............... |
| 6300 | 20 28 65 73 78 6d 6c 2d 6e 6f 64 65 2d 63 68 69 6c 64 72 65 6e 20 72 6f 6f 74 29 29 29 0a 20 20 | .(esxml-node-children.root)))... |
| 6320 | 20 20 28 66 75 6e 63 61 6c 6c 20 66 75 6e 63 74 69 6f 6e 20 72 6f 6f 74 29 29 29 0a 0a 28 64 65 | ..(funcall.function.root)))..(de |
| 6340 | 66 76 61 72 20 65 73 78 6d 6c 2d 2d 73 79 6d 62 6f 6c 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 | fvar.esxml--symbol.(make-symbol. |
| 6360 | 22 69 64 22 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 64 65 63 6f 72 61 74 65 2d 74 | "id"))..(defun.esxml--decorate-t |
| 6380 | 72 65 65 20 28 72 6f 6f 74 29 0a 20 20 28 6c 65 74 20 28 28 69 20 30 29 29 0a 20 20 20 20 28 65 | ree.(root)...(let.((i.0)).....(e |
| 63a0 | 73 78 6d 6c 2d 74 72 65 65 2d 6d 61 70 0a 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 6e 6f 64 65 | sxml-tree-map......(lambda.(node |
| 63c0 | 29 0a 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 61 74 74 72 69 62 75 74 65 20 28 63 6f 6e 73 20 | )........(let.((attribute.(cons. |
| 63e0 | 65 73 78 6d 6c 2d 2d 73 79 6d 62 6f 6c 20 69 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | esxml--symbol.i))..............( |
| 6400 | 61 74 74 72 69 62 75 74 65 73 20 28 65 73 78 6d 6c 2d 6e 6f 64 65 2d 61 74 74 72 69 62 75 74 65 | attributes.(esxml-node-attribute |
| 6420 | 73 20 6e 6f 64 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 61 74 74 72 69 62 75 | s.node)))..........(setq.attribu |
| 6440 | 74 65 73 20 28 61 70 70 65 6e 64 20 28 6c 69 73 74 20 61 74 74 72 69 62 75 74 65 29 20 61 74 74 | tes.(append.(list.attribute).att |
| 6460 | 72 69 62 75 74 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 31 2b 20 69 | ributes))..........(setq.i.(1+.i |
| 6480 | 29 29 0a 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 73 78 6d 6c 2d 62 72 61 6e 63 68 2d 70 20 | ))..........(if.(esxml-branch-p. |
| 64a0 | 6e 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 73 78 6d 6c 2d 2d 6e 6f 64 65 2d | node)..............(esxml--node- |
| 64c0 | 77 69 74 68 2d 61 74 74 72 69 62 75 74 65 73 20 6e 6f 64 65 20 61 74 74 72 69 62 75 74 65 73 29 | with-attributes.node.attributes) |
| 64e0 | 0a 20 20 20 20 20 20 20 20 20 20 20 6e 6f 64 65 29 29 29 0a 20 20 20 20 20 72 6f 6f 74 29 29 29 | ............node)))......root))) |
| 6500 | 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 75 6e 64 65 63 6f 72 61 74 65 2d 6e 6f 64 65 20 | ..(defun.esxml--undecorate-node. |
| 6520 | 28 6e 6f 64 65 29 0a 20 20 28 69 66 20 28 65 73 78 6d 6c 2d 62 72 61 6e 63 68 2d 70 20 6e 6f 64 | (node)...(if.(esxml-branch-p.nod |
| 6540 | 65 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 61 74 74 72 69 62 75 74 65 73 20 28 65 73 78 6d | e).......(let.((attributes.(esxm |
| 6560 | 6c 2d 6e 6f 64 65 2d 61 74 74 72 69 62 75 74 65 73 20 6e 6f 64 65 29 29 29 0a 20 20 20 20 20 20 | l-node-attributes.node)))....... |
| 6580 | 20 20 28 65 73 78 6d 6c 2d 2d 6e 6f 64 65 2d 77 69 74 68 2d 61 74 74 72 69 62 75 74 65 73 20 6e | ..(esxml--node-with-attributes.n |
| 65a0 | 6f 64 65 20 28 61 73 73 71 2d 64 65 6c 65 74 65 2d 61 6c 6c 20 65 73 78 6d 6c 2d 2d 73 79 6d 62 | ode.(assq-delete-all.esxml--symb |
| 65c0 | 6f 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ol.............................. |
| 65e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 74 | ..............................at |
| 6600 | 74 72 69 62 75 74 65 73 29 29 29 0a 20 20 20 20 6e 6f 64 65 29 29 0a 0a 28 64 65 66 75 6e 20 65 | tributes))).....node))..(defun.e |
| 6620 | 73 78 6d 6c 2d 2d 72 65 74 72 69 65 76 65 2d 64 65 63 6f 72 61 74 69 6f 6e 20 28 6e 6f 64 65 29 | sxml--retrieve-decoration.(node) |
| 6640 | 0a 20 20 28 65 73 78 6d 6c 2d 6e 6f 64 65 2d 61 74 74 72 69 62 75 74 65 20 65 73 78 6d 6c 2d 2d | ...(esxml-node-attribute.esxml-- |
| 6660 | 73 79 6d 62 6f 6c 20 6e 6f 64 65 29 29 0a 0a 0c 0a 3b 3b 3b 20 71 75 65 72 79 69 6e 67 0a 0a 3b | symbol.node))....;;;.querying..; |
| 6680 | 3b 20 4e 4f 54 45 3a 20 73 75 70 70 6f 72 74 69 6e 67 20 73 74 72 75 63 74 75 72 61 6c 20 70 73 | ;.NOTE:.supporting.structural.ps |
| 66a0 | 65 75 64 6f 20 66 75 6e 63 74 69 6f 6e 73 2c 20 64 69 72 65 63 74 20 73 69 62 6c 69 6e 67 73 20 | eudo.functions,.direct.siblings. |
| 66c0 | 61 6e 64 0a 3b 3b 20 69 6e 64 69 72 65 63 74 20 73 69 62 6c 69 6e 67 73 20 72 65 71 75 69 72 65 | and.;;.indirect.siblings.require |
| 66e0 | 73 20 62 72 65 61 64 74 68 20 69 6e 73 74 65 61 64 20 6f 66 20 64 65 70 74 68 20 74 72 61 76 65 | s.breadth.instead.of.depth.trave |
| 6700 | 72 73 61 6c 2c 0a 3b 3b 20 73 6f 6d 65 74 68 69 6e 67 20 74 68 61 74 20 63 6f 75 6c 64 20 62 65 | rsal,.;;.something.that.could.be |
| 6720 | 20 65 6d 75 6c 61 74 65 64 20 77 69 74 68 6f 75 74 20 7a 69 70 70 65 72 73 20 69 66 20 79 6f 75 | .emulated.without.zippers.if.you |
| 6740 | 20 68 61 64 20 74 68 65 0a 3b 3b 20 70 61 72 65 6e 74 20 6f 66 20 74 68 65 20 6e 6f 64 65 20 28 | .had.the.;;.parent.of.the.node.( |
| 6760 | 61 6e 64 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 68 69 6c 64 29 2e 2e | and.the.position.of.the.child).. |
| 6780 | 2e 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 6e 6f 64 65 2d 6d 61 74 63 68 65 73 2d 61 74 | ...(defun.esxml--node-matches-at |
| 67a0 | 74 72 69 62 75 74 65 2d 70 20 28 6e 6f 64 65 20 6d 6f 64 69 66 69 65 72 29 0a 20 20 28 6c 65 74 | tribute-p.(node.modifier)...(let |
| 67c0 | 20 28 28 61 74 74 72 69 62 75 74 65 73 20 28 65 73 78 6d 6c 2d 6e 6f 64 65 2d 61 74 74 72 69 62 | .((attributes.(esxml-node-attrib |
| 67e0 | 75 74 65 73 20 6e 6f 64 65 29 29 0a 20 20 20 20 20 20 20 20 68 61 79 73 74 61 63 6b 29 0a 20 20 | utes.node)).........haystack)... |
| 6800 | 20 20 28 63 6c 2d 65 76 65 72 79 0a 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 69 74 65 6d 29 0a | ..(cl-every......(lambda.(item). |
| 6820 | 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 74 79 70 65 20 28 63 61 72 20 69 74 65 6d 29 29 0a 20 | .......(let.((type.(car.item)).. |
| 6840 | 20 20 20 20 20 20 20 20 20 20 20 20 28 76 61 6c 75 65 20 28 63 64 72 20 69 74 65 6d 29 29 29 0a | ............(value.(cdr.item))). |
| 6860 | 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 74 79 | .........(cond...........((eq.ty |
| 6880 | 70 65 20 27 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6d 61 74 63 | pe.'name)............(let.((matc |
| 68a0 | 68 20 28 61 73 73 71 20 28 69 6e 74 65 72 6e 20 76 61 6c 75 65 29 20 61 74 74 72 69 62 75 74 65 | h.(assq.(intern.value).attribute |
| 68c0 | 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 68 61 79 73 74 61 63 6b | s)))..............(setq.haystack |
| 68e0 | 20 28 63 64 72 20 6d 61 74 63 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 74 63 68 | .(cdr.match))..............match |
| 6900 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 74 79 70 65 20 27 65 78 61 63 74 2d 6d 61 | ))...........((eq.type.'exact-ma |
| 6920 | 74 63 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 65 71 75 61 6c 20 68 61 79 73 74 61 63 6b 20 | tch)............(equal.haystack. |
| 6940 | 76 61 6c 75 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 74 79 70 65 20 27 70 72 65 | value))...........((eq.type.'pre |
| 6960 | 66 69 78 2d 6d 61 74 63 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 70 72 | fix-match)............(string-pr |
| 6980 | 65 66 69 78 2d 70 20 76 61 6c 75 65 20 68 61 79 73 74 61 63 6b 29 29 0a 20 20 20 20 20 20 20 20 | efix-p.value.haystack))......... |
| 69a0 | 20 20 28 28 65 71 20 74 79 70 65 20 27 73 75 66 66 69 78 2d 6d 61 74 63 68 29 0a 20 20 20 20 20 | ..((eq.type.'suffix-match)...... |
| 69c0 | 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 73 75 66 66 69 78 2d 70 20 76 61 6c 75 65 20 68 61 79 | ......(string-suffix-p.value.hay |
| 69e0 | 73 74 61 63 6b 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 74 79 70 65 20 27 73 75 62 | stack))...........((eq.type.'sub |
| 6a00 | 73 74 72 69 6e 67 2d 6d 61 74 63 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 | string-match)............(string |
| 6a20 | 2d 6d 61 74 63 68 2d 70 20 28 72 65 67 65 78 70 2d 71 75 6f 74 65 20 76 61 6c 75 65 29 20 68 61 | -match-p.(regexp-quote.value).ha |
| 6a40 | 79 73 74 61 63 6b 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 74 79 70 65 20 27 69 6e | ystack))...........((eq.type.'in |
| 6a60 | 63 6c 75 64 65 2d 6d 61 74 63 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 6d 62 65 72 20 | clude-match)............(member. |
| 6a80 | 76 61 6c 75 65 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 68 61 79 73 74 61 63 6b 20 22 20 22 | value.(split-string.haystack."." |
| 6aa0 | 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 74 79 70 65 20 27 64 61 73 68 2d 6d 61 | )))...........((eq.type.'dash-ma |
| 6ac0 | 74 63 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 65 71 75 61 6c 20 76 61 6c 75 65 | tch)............(or.(equal.value |
| 6ae0 | 20 68 61 79 73 74 61 63 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e | .haystack)................(strin |
| 6b00 | 67 2d 6d 61 74 63 68 2d 70 20 28 66 6f 72 6d 61 74 20 22 5e 25 73 2d 22 20 28 72 65 67 65 78 70 | g-match-p.(format."^%s-".(regexp |
| 6b20 | 2d 71 75 6f 74 65 20 76 61 6c 75 65 29 29 20 68 61 79 73 74 61 63 6b 29 29 29 0a 20 20 20 20 20 | -quote.value)).haystack)))...... |
| 6b40 | 20 20 20 20 20 28 74 20 28 65 72 72 6f 72 20 22 55 6e 6b 6e 6f 77 6e 20 61 74 74 72 69 62 75 74 | .....(t.(error."Unknown.attribut |
| 6b60 | 65 20 6d 6f 64 69 66 69 65 72 22 29 29 29 29 29 0a 20 20 20 20 20 6d 6f 64 69 66 69 65 72 29 29 | e.modifier")))))......modifier)) |
| 6b80 | 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 6e 6f 64 65 2d 6d 61 74 63 68 65 73 2d 6d 6f | )..(defun.esxml--node-matches-mo |
| 6ba0 | 64 69 66 69 65 72 2d 70 20 28 6e 6f 64 65 20 74 79 70 65 20 76 61 6c 75 65 29 0a 20 20 28 63 6f | difier-p.(node.type.value)...(co |
| 6bc0 | 6e 64 0a 20 20 20 28 28 65 71 20 74 79 70 65 20 27 77 69 6c 64 63 61 72 64 29 0a 20 20 20 20 74 | nd....((eq.type.'wildcard).....t |
| 6be0 | 29 0a 20 20 20 28 28 65 71 20 74 79 70 65 20 27 74 61 67 29 0a 20 20 20 20 28 65 71 75 61 6c 20 | )....((eq.type.'tag).....(equal. |
| 6c00 | 28 65 73 78 6d 6c 2d 6e 6f 64 65 2d 74 61 67 20 6e 6f 64 65 29 20 76 61 6c 75 65 29 29 0a 20 20 | (esxml-node-tag.node).value))... |
| 6c20 | 20 28 28 65 71 20 74 79 70 65 20 27 69 64 29 0a 20 20 20 20 28 65 71 75 61 6c 20 28 65 73 78 6d | .((eq.type.'id).....(equal.(esxm |
| 6c40 | 6c 2d 6e 6f 64 65 2d 61 74 74 72 69 62 75 74 65 20 27 69 64 20 6e 6f 64 65 29 20 76 61 6c 75 65 | l-node-attribute.'id.node).value |
| 6c60 | 29 29 0a 20 20 20 28 28 65 71 20 74 79 70 65 20 27 63 6c 61 73 73 29 0a 20 20 20 20 28 6c 65 74 | ))....((eq.type.'class).....(let |
| 6c80 | 20 28 28 63 6c 61 73 73 20 28 65 73 78 6d 6c 2d 6e 6f 64 65 2d 61 74 74 72 69 62 75 74 65 20 27 | .((class.(esxml-node-attribute.' |
| 6ca0 | 63 6c 61 73 73 20 6e 6f 64 65 29 29 29 0a 20 20 20 20 20 20 28 61 6e 64 20 63 6c 61 73 73 20 28 | class.node))).......(and.class.( |
| 6cc0 | 6d 65 6d 62 65 72 20 76 61 6c 75 65 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 63 6c 61 73 73 | member.value.(split-string.class |
| 6ce0 | 20 22 20 22 29 29 29 29 29 0a 20 20 20 28 28 65 71 20 74 79 70 65 20 27 61 74 74 72 69 62 75 74 | .".")))))....((eq.type.'attribut |
| 6d00 | 65 29 0a 20 20 20 20 28 65 73 78 6d 6c 2d 2d 6e 6f 64 65 2d 6d 61 74 63 68 65 73 2d 61 74 74 72 | e).....(esxml--node-matches-attr |
| 6d20 | 69 62 75 74 65 2d 70 20 6e 6f 64 65 20 76 61 6c 75 65 29 29 0a 20 20 20 3b 3b 20 54 4f 44 4f 3a | ibute-p.node.value))....;;.TODO: |
| 6d40 | 20 73 75 70 70 6f 72 74 20 73 74 72 75 63 74 75 72 61 6c 20 70 73 65 75 64 6f 20 66 75 6e 63 74 | .support.structural.pseudo.funct |
| 6d60 | 69 6f 6e 73 0a 20 20 20 3b 3b 20 54 4f 44 4f 3a 20 65 72 72 6f 72 20 6f 75 74 20 6f 6e 20 69 6e | ions....;;.TODO:.error.out.on.in |
| 6d80 | 76 61 6c 69 64 20 70 73 65 75 64 6f 2d 63 6c 61 73 73 20 61 72 67 75 6d 65 6e 74 73 0a 20 20 20 | valid.pseudo-class.arguments.... |
| 6da0 | 28 74 20 28 65 72 72 6f 72 20 22 55 6e 69 6d 70 6c 65 6d 65 6e 74 65 64 20 61 74 74 72 69 62 75 | (t.(error."Unimplemented.attribu |
| 6dc0 | 74 65 20 74 79 70 65 3a 20 25 73 22 20 74 79 70 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 | te.type:.%s".type))))..(defun.es |
| 6de0 | 78 6d 6c 2d 2d 66 69 6e 64 2d 6e 6f 64 65 2d 66 6f 72 20 28 61 74 74 72 69 62 75 74 65 73 29 0a | xml--find-node-for.(attributes). |
| 6e00 | 20 20 28 6c 61 6d 62 64 61 20 28 6e 6f 64 65 29 0a 20 20 20 20 28 63 6c 2d 65 76 65 72 79 0a 20 | ..(lambda.(node).....(cl-every.. |
| 6e20 | 20 20 20 20 28 6c 61 6d 62 64 61 20 28 61 74 74 72 69 62 75 74 65 29 0a 20 20 20 20 20 20 20 28 | ....(lambda.(attribute)........( |
| 6e40 | 6c 65 74 20 28 28 74 79 70 65 20 28 63 61 72 20 61 74 74 72 69 62 75 74 65 29 29 0a 20 20 20 20 | let.((type.(car.attribute))..... |
| 6e60 | 20 20 20 20 20 20 20 20 20 28 76 61 6c 75 65 20 28 63 64 72 20 61 74 74 72 69 62 75 74 65 29 29 | .........(value.(cdr.attribute)) |
| 6e80 | 29 0a 20 20 20 20 20 20 20 20 20 28 65 73 78 6d 6c 2d 2d 6e 6f 64 65 2d 6d 61 74 63 68 65 73 2d | )..........(esxml--node-matches- |
| 6ea0 | 6d 6f 64 69 66 69 65 72 2d 70 20 6e 6f 64 65 20 74 79 70 65 20 76 61 6c 75 65 29 29 29 0a 20 20 | modifier-p.node.type.value)))... |
| 6ec0 | 20 20 20 61 74 74 72 69 62 75 74 65 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d | ...attributes)))..(defun.esxml-- |
| 6ee0 | 66 69 6e 64 2d 6e 6f 64 65 73 20 28 72 6f 6f 74 20 63 6f 6d 62 69 6e 61 74 6f 72 20 61 74 74 72 | find-nodes.(root.combinator.attr |
| 6f00 | 69 62 75 74 65 73 29 0a 20 20 28 6c 65 74 2a 20 28 28 74 79 70 65 20 28 63 64 72 20 28 61 73 73 | ibutes)...(let*.((type.(cdr.(ass |
| 6f20 | 71 20 27 63 6f 6d 62 69 6e 61 74 6f 72 20 63 6f 6d 62 69 6e 61 74 6f 72 29 29 29 0a 20 20 20 20 | q.'combinator.combinator)))..... |
| 6f40 | 20 20 20 20 20 28 77 61 6c 6b 65 72 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .....(walker.(cond.............. |
| 6f60 | 20 20 20 20 28 28 6e 6f 74 20 74 79 70 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ....((not.type)................. |
| 6f80 | 20 20 27 65 73 78 6d 6c 2d 66 69 6e 64 2d 6e 6f 64 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ..'esxml-find-nodes)............ |
| 6fa0 | 20 20 20 20 20 20 28 28 65 71 20 74 79 70 65 20 27 64 65 73 63 65 6e 64 61 6e 74 29 0a 20 20 20 | ......((eq.type.'descendant).... |
| 6fc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 65 73 78 6d 6c 2d 66 69 6e 64 2d 64 65 73 63 65 | ...............'esxml-find-desce |
| 6fe0 | 6e 64 61 6e 74 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 74 79 | ndants)..................((eq.ty |
| 7000 | 70 65 20 27 63 68 69 6c 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 65 73 | pe.'child)...................'es |
| 7020 | 78 6d 6c 2d 66 69 6e 64 2d 63 68 69 6c 64 72 65 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | xml-find-children).............. |
| 7040 | 20 20 20 20 3b 3b 20 54 4f 44 4f 3a 20 73 75 70 70 6f 72 74 20 64 69 72 65 63 74 20 73 69 62 6c | ....;;.TODO:.support.direct.sibl |
| 7060 | 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 4f 44 4f 3a 20 73 75 | ing..................;;.TODO:.su |
| 7080 | 70 70 6f 72 74 20 69 6e 64 69 72 65 63 74 20 73 69 62 6c 69 6e 67 0a 20 20 20 20 20 20 20 20 20 | pport.indirect.sibling.......... |
| 70a0 | 20 20 20 20 20 20 20 20 28 74 20 28 65 72 72 6f 72 20 22 55 6e 69 6d 70 6c 65 6d 65 6e 74 65 64 | ........(t.(error."Unimplemented |
| 70c0 | 20 63 6f 6d 62 69 6e 61 74 6f 72 20 25 73 22 20 63 6f 6d 62 69 6e 61 74 6f 72 29 29 29 29 29 0a | .combinator.%s".combinator))))). |
| 70e0 | 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 77 61 6c 6b 65 72 20 28 65 73 78 6d 6c 2d 2d 66 69 6e 64 | ....(funcall.walker.(esxml--find |
| 7100 | 2d 6e 6f 64 65 2d 66 6f 72 20 61 74 74 72 69 62 75 74 65 73 29 20 72 6f 6f 74 29 29 29 0a 0a 28 | -node-for.attributes).root)))..( |
| 7120 | 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 71 75 65 72 79 20 28 73 65 6c 65 63 74 6f 72 20 72 6f 6f | defun.esxml--query.(selector.roo |
| 7140 | 74 29 0a 20 20 28 6c 65 74 2a 20 28 28 61 74 74 72 69 62 75 74 65 73 20 28 70 6f 70 20 73 65 6c | t)...(let*.((attributes.(pop.sel |
| 7160 | 65 63 74 6f 72 29 29 0a 20 20 20 20 20 20 20 20 20 63 6f 6d 62 69 6e 61 74 6f 72 0a 20 20 20 20 | ector))..........combinator..... |
| 7180 | 20 20 20 20 20 28 72 65 73 75 6c 74 20 28 65 73 78 6d 6c 2d 2d 66 69 6e 64 2d 6e 6f 64 65 73 20 | .....(result.(esxml--find-nodes. |
| 71a0 | 72 6f 6f 74 20 6e 69 6c 20 61 74 74 72 69 62 75 74 65 73 29 29 29 0a 20 20 20 20 28 77 68 69 6c | root.nil.attributes))).....(whil |
| 71c0 | 65 20 28 61 6e 64 20 72 65 73 75 6c 74 20 73 65 6c 65 63 74 6f 72 29 0a 20 20 20 20 20 20 28 73 | e.(and.result.selector).......(s |
| 71e0 | 65 74 71 20 63 6f 6d 62 69 6e 61 74 6f 72 20 28 70 6f 70 20 73 65 6c 65 63 74 6f 72 29 29 0a 20 | etq.combinator.(pop.selector)).. |
| 7200 | 20 20 20 20 20 28 73 65 74 71 20 61 74 74 72 69 62 75 74 65 73 20 28 70 6f 70 20 73 65 6c 65 63 | .....(setq.attributes.(pop.selec |
| 7220 | 74 6f 72 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 72 65 73 75 6c 74 20 28 63 6c 2d 6d 61 70 | tor)).......(setq.result.(cl-map |
| 7240 | 63 61 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 | can.....................(lambda. |
| 7260 | 28 6e 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 73 | (node).......................(es |
| 7280 | 78 6d 6c 2d 2d 66 69 6e 64 2d 6e 6f 64 65 73 20 6e 6f 64 65 20 63 6f 6d 62 69 6e 61 74 6f 72 20 | xml--find-nodes.node.combinator. |
| 72a0 | 61 74 74 72 69 62 75 74 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | attributes)).................... |
| 72c0 | 20 72 65 73 75 6c 74 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 72 65 73 75 6c 74 20 28 64 65 | .result)).......(setq.result.(de |
| 72e0 | 6c 71 20 6e 69 6c 20 72 65 73 75 6c 74 29 29 29 0a 20 20 20 20 72 65 73 75 6c 74 29 29 0a 0a 28 | lq.nil.result))).....result))..( |
| 7300 | 64 65 66 75 6e 20 65 73 78 6d 6c 2d 2d 64 65 6c 65 74 65 2d 64 75 70 73 20 28 69 74 65 6d 73 20 | defun.esxml--delete-dups.(items. |
| 7320 | 74 65 73 74 29 0a 20 20 28 6c 65 74 20 28 28 73 65 65 6e 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 | test)...(let.((seen.(make-hash-t |
| 7340 | 61 62 6c 65 20 3a 74 65 73 74 20 74 65 73 74 29 29 0a 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 | able.:test.test)).........result |
| 7360 | 29 0a 20 20 20 20 28 77 68 69 6c 65 20 69 74 65 6d 73 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 | ).....(while.items.......(let.(( |
| 7380 | 69 74 65 6d 20 28 70 6f 70 20 69 74 65 6d 73 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e | item.(pop.items))).........(when |
| 73a0 | 20 28 6e 6f 74 20 28 67 65 74 68 61 73 68 20 69 74 65 6d 20 73 65 65 6e 29 29 0a 20 20 20 20 20 | .(not.(gethash.item.seen))...... |
| 73c0 | 20 20 20 20 20 28 70 75 73 68 20 69 74 65 6d 20 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 20 20 | .....(push.item.result)......... |
| 73e0 | 20 20 28 70 75 74 68 61 73 68 20 69 74 65 6d 20 74 20 73 65 65 6e 29 29 29 29 0a 20 20 20 20 28 | ..(puthash.item.t.seen)))).....( |
| 7400 | 6e 72 65 76 65 72 73 65 20 72 65 73 75 6c 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c | nreverse.result)))..(defun.esxml |
| 7420 | 2d 71 75 65 72 79 2d 61 6c 6c 20 28 73 65 6c 65 63 74 6f 72 20 72 6f 6f 74 29 0a 20 20 22 4c 6f | -query-all.(selector.root)..."Lo |
| 7440 | 63 61 74 65 73 20 61 6c 6c 20 6e 6f 64 65 73 20 73 61 74 69 73 66 79 69 6e 67 20 53 45 4c 45 43 | cates.all.nodes.satisfying.SELEC |
| 7460 | 54 4f 52 20 73 74 61 72 74 69 6e 67 20 66 72 6f 6d 20 52 4f 4f 54 2e 0a 53 45 4c 45 43 54 4f 52 | TOR.starting.from.ROOT..SELECTOR |
| 7480 | 20 6d 75 73 74 20 62 65 20 61 20 73 74 72 69 6e 67 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 20 43 | .must.be.a.string.containing.a.C |
| 74a0 | 53 53 20 73 65 6c 65 63 74 6f 72 20 6f 72 20 61 20 70 61 72 73 65 64 0a 43 53 53 20 73 65 6c 65 | SS.selector.or.a.parsed.CSS.sele |
| 74c0 | 63 74 6f 72 20 72 65 74 75 72 6e 65 64 20 62 79 20 60 65 73 78 6d 6c 2d 70 61 72 73 65 2d 63 73 | ctor.returned.by.`esxml-parse-cs |
| 74e0 | 73 2d 73 65 6c 65 63 74 6f 72 27 2e 20 20 52 65 74 75 72 6e 73 20 61 0a 6c 69 73 74 20 6f 66 20 | s-selector'...Returns.a.list.of. |
| 7500 | 74 68 65 20 6e 6f 64 65 73 20 6f 72 20 6e 69 6c 20 69 66 20 6e 6f 6e 65 20 66 6f 75 6e 64 2e 22 | the.nodes.or.nil.if.none.found." |
| 7520 | 0a 20 20 28 77 68 65 6e 20 28 73 74 72 69 6e 67 70 20 73 65 6c 65 63 74 6f 72 29 0a 20 20 20 20 | ...(when.(stringp.selector)..... |
| 7540 | 28 73 65 74 71 20 73 65 6c 65 63 74 6f 72 20 28 65 73 78 6d 6c 2d 70 61 72 73 65 2d 63 73 73 2d | (setq.selector.(esxml-parse-css- |
| 7560 | 73 65 6c 65 63 74 6f 72 20 73 65 6c 65 63 74 6f 72 29 29 29 0a 20 20 28 69 66 20 28 3d 20 28 6c | selector.selector)))...(if.(=.(l |
| 7580 | 65 6e 67 74 68 20 73 65 6c 65 63 74 6f 72 29 20 31 29 0a 20 20 20 20 20 20 3b 3b 20 6e 6f 20 63 | ength.selector).1).......;;.no.c |
| 75a0 | 6f 6d 6d 61 73 2c 20 77 65 20 63 61 6e 20 6f 6e 6c 79 20 67 65 74 20 74 68 65 20 73 61 6d 65 20 | ommas,.we.can.only.get.the.same. |
| 75c0 | 6e 6f 64 65 73 20 72 65 70 65 61 74 65 64 6c 79 0a 20 20 20 20 20 20 28 65 73 78 6d 6c 2d 2d 64 | nodes.repeatedly.......(esxml--d |
| 75e0 | 65 6c 65 74 65 2d 64 75 70 73 20 28 65 73 78 6d 6c 2d 2d 71 75 65 72 79 20 28 63 61 72 20 73 65 | elete-dups.(esxml--query.(car.se |
| 7600 | 6c 65 63 74 6f 72 29 20 72 6f 6f 74 29 20 27 65 71 29 0a 20 20 20 20 3b 3b 20 63 6f 6d 6d 61 73 | lector).root).'eq).....;;.commas |
| 7620 | 2c 20 6e 6f 64 65 73 20 6d 69 67 68 74 20 62 65 20 74 68 65 20 73 61 6d 65 20 2a 61 6e 64 2a 20 | ,.nodes.might.be.the.same.*and*. |
| 7640 | 69 6e 20 74 68 65 20 77 72 6f 6e 67 20 6f 72 64 65 72 0a 20 20 20 20 28 73 65 74 71 20 72 6f 6f | in.the.wrong.order.....(setq.roo |
| 7660 | 74 20 28 65 73 78 6d 6c 2d 2d 64 65 63 6f 72 61 74 65 2d 74 72 65 65 20 72 6f 6f 74 29 29 0a 20 | t.(esxml--decorate-tree.root)).. |
| 7680 | 20 20 20 28 6c 65 74 20 28 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 73 65 | ...(let.(result).......(while.se |
| 76a0 | 6c 65 63 74 6f 72 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 72 65 73 75 6c 74 20 28 6e 63 6f | lector.........(setq.result.(nco |
| 76c0 | 6e 63 20 72 65 73 75 6c 74 20 28 65 73 78 6d 6c 2d 2d 71 75 65 72 79 20 28 70 6f 70 20 73 65 6c | nc.result.(esxml--query.(pop.sel |
| 76e0 | 65 63 74 6f 72 29 20 72 6f 6f 74 29 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 72 65 73 75 | ector).root)))).......(setq.resu |
| 7700 | 6c 74 20 28 63 6c 2d 73 6f 72 74 20 72 65 73 75 6c 74 20 27 3c 20 3a 6b 65 79 20 27 65 73 78 6d | lt.(cl-sort.result.'<.:key.'esxm |
| 7720 | 6c 2d 2d 72 65 74 72 69 65 76 65 2d 64 65 63 6f 72 61 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 28 | l--retrieve-decoration)).......( |
| 7740 | 73 65 74 71 20 72 65 73 75 6c 74 20 28 63 6c 2d 64 65 6c 65 74 65 2d 64 75 70 6c 69 63 61 74 65 | setq.result.(cl-delete-duplicate |
| 7760 | 73 20 72 65 73 75 6c 74 20 3a 74 65 73 74 20 27 3d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | s.result.:test.'=............... |
| 7780 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6b 65 79 20 | ...........................:key. |
| 77a0 | 27 65 73 78 6d 6c 2d 2d 72 65 74 72 69 65 76 65 2d 64 65 63 6f 72 61 74 69 6f 6e 29 29 0a 20 20 | 'esxml--retrieve-decoration))... |
| 77c0 | 20 20 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 6e 6f 64 65 29 20 28 65 73 78 6d | ....(mapcar.(lambda.(node).(esxm |
| 77e0 | 6c 2d 2d 75 6e 64 65 63 6f 72 61 74 65 2d 6e 6f 64 65 20 6e 6f 64 65 29 29 20 72 65 73 75 6c 74 | l--undecorate-node.node)).result |
| 7800 | 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 71 75 65 72 79 20 28 73 65 6c 65 63 74 | ))))..(defun.esxml-query.(select |
| 7820 | 6f 72 20 72 6f 6f 74 29 0a 20 20 22 4c 6f 63 61 74 65 73 20 61 20 6e 6f 64 65 20 73 61 74 69 73 | or.root)..."Locates.a.node.satis |
| 7840 | 66 79 69 6e 67 20 53 45 4c 45 43 54 4f 52 20 73 74 61 72 74 69 6e 67 20 66 72 6f 6d 20 52 4f 4f | fying.SELECTOR.starting.from.ROO |
| 7860 | 54 2e 0a 53 45 4c 45 43 54 4f 52 20 6d 75 73 74 20 62 65 20 61 20 73 74 72 69 6e 67 20 63 6f 6e | T..SELECTOR.must.be.a.string.con |
| 7880 | 74 61 69 6e 69 6e 67 20 61 20 43 53 53 20 73 65 6c 65 63 74 6f 72 20 6f 72 20 61 20 70 61 72 73 | taining.a.CSS.selector.or.a.pars |
| 78a0 | 65 64 0a 43 53 53 20 73 65 6c 65 63 74 6f 72 20 72 65 74 75 72 6e 65 64 20 62 79 20 60 65 73 78 | ed.CSS.selector.returned.by.`esx |
| 78c0 | 6d 6c 2d 70 61 72 73 65 2d 63 73 73 2d 73 65 6c 65 63 74 6f 72 27 2e 20 20 52 65 74 75 72 6e 73 | ml-parse-css-selector'...Returns |
| 78e0 | 20 74 68 65 0a 6e 6f 64 65 20 6f 72 20 6e 69 6c 20 69 66 20 6e 6f 6e 65 20 66 6f 75 6e 64 2e 22 | .the.node.or.nil.if.none.found." |
| 7900 | 0a 20 20 3b 3b 20 4e 4f 54 45 3a 20 79 6f 75 20 63 61 6e 20 64 6f 20 61 20 62 69 74 20 6c 65 73 | ...;;.NOTE:.you.can.do.a.bit.les |
| 7920 | 73 20 77 6f 72 6b 20 28 74 68 65 20 73 61 76 69 6e 67 73 20 64 65 63 72 65 61 73 65 20 74 68 65 | s.work.(the.savings.decrease.the |
| 7940 | 20 6d 6f 72 65 0a 20 20 3b 3b 20 62 72 61 6e 63 68 65 73 20 74 68 65 20 71 75 65 72 79 20 64 69 | .more...;;.branches.the.query.di |
| 7960 | 73 63 61 72 64 73 29 2c 20 62 75 74 20 69 74 27 73 20 73 69 6d 70 6c 65 72 20 61 6e 64 20 73 61 | scards),.but.it's.simpler.and.sa |
| 7980 | 66 65 72 20 74 6f 20 6a 75 73 74 0a 20 20 3b 3b 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 61 | fer.to.just...;;.have.the.same.a |
| 79a0 | 6c 67 6f 72 69 74 68 6d 20 66 6f 72 20 62 6f 74 68 20 65 6e 74 72 79 20 70 6f 69 6e 74 73 0a 20 | lgorithm.for.both.entry.points.. |
| 79c0 | 20 28 63 61 72 20 28 65 73 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 20 73 65 6c 65 63 74 6f 72 20 | .(car.(esxml-query-all.selector. |
| 79e0 | 72 6f 6f 74 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 65 73 78 6d 6c 2d 71 75 65 72 79 29 0a | root)))..(provide.'esxml-query). |
| 7a00 | 3b 3b 3b 20 65 73 78 6d 6c 2d 71 75 65 72 79 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 | ;;;.esxml-query.el.ends.here.... |
| 7a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7c00 | 65 73 78 6d 6c 2d 32 30 32 35 30 34 32 31 2e 31 36 33 32 2f 65 73 78 6d 6c 2e 65 6c 00 00 00 00 | esxml-20250421.1632/esxml.el.... |
| 7c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7c60 | 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000644.0000000.0000000.0000 |
| 7c80 | 30 30 32 34 32 37 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 36 32 30 00 20 30 00 00 00 | 0024275.00000000000.013620..0... |
| 7ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7d00 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... |
| 7d20 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... |
| 7d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7e00 | 3b 3b 3b 20 65 73 78 6d 6c 2e 65 6c 20 2d 2d 2d 20 4c 69 62 72 61 72 79 20 66 6f 72 20 77 6f 72 | ;;;.esxml.el.---.Library.for.wor |
| 7e20 | 6b 69 6e 67 20 77 69 74 68 20 78 6d 6c 20 76 69 61 20 65 73 78 6d 6c 20 61 6e 64 20 73 78 6d 6c | king.with.xml.via.esxml.and.sxml |
| 7e40 | 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 32 0a 0a 3b 3b 20 41 75 74 68 6f | .;;.Copyright.(C).2012..;;.Autho |
| 7e60 | 72 3a 20 56 61 6e 79 61 20 49 7a 61 6b 73 6f 6e 61 73 2d 53 6d 69 74 68 20 3c 69 7a 61 6b 30 30 | r:.Vanya.Izaksonas-Smith.<izak00 |
| 7e80 | 30 32 20 61 74 20 75 6d 6e 20 64 6f 74 20 65 64 75 3e 0a 3b 3b 20 4d 61 69 6e 74 61 69 6e 65 72 | 02.at.umn.dot.edu>.;;.Maintainer |
| 7ea0 | 3a 20 56 61 6e 79 61 20 49 7a 61 6b 73 6f 6e 61 73 2d 53 6d 69 74 68 0a 3b 3b 20 55 52 4c 3a 20 | :.Vanya.Izaksonas-Smith.;;.URL:. |
| 7ec0 | 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 74 61 6c 69 37 31 33 2f 65 73 78 6d 6c | https://github.com/tali713/esxml |
| 7ee0 | 0a 3b 3b 20 43 72 65 61 74 65 64 3a 20 31 35 74 68 20 41 75 67 75 73 74 20 32 30 31 32 0a 3b 3b | .;;.Created:.15th.August.2012.;; |
| 7f00 | 20 50 61 63 6b 61 67 65 2d 56 65 72 73 69 6f 6e 3a 20 32 30 32 35 30 34 32 31 2e 31 36 33 32 0a | .Package-Version:.20250421.1632. |
| 7f20 | 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 76 69 73 69 6f 6e 3a 20 61 66 66 61 64 61 31 34 33 66 65 | ;;.Package-Revision:.affada143fe |
| 7f40 | 64 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 71 75 69 72 65 73 3a 20 28 28 65 6d 61 63 73 20 22 | d.;;.Package-Requires:.((emacs." |
| 7f60 | 32 34 2e 31 22 29 20 28 63 6c 2d 6c 69 62 20 22 30 2e 35 22 29 29 0a 3b 3b 20 4b 65 79 77 6f 72 | 24.1").(cl-lib."0.5")).;;.Keywor |
| 7f80 | 64 73 3a 20 74 6f 6f 6c 73 2c 20 6c 69 73 70 2c 20 63 6f 6d 6d 0a 3b 3b 20 44 65 73 63 72 69 70 | ds:.tools,.lisp,.comm.;;.Descrip |
| 7fa0 | 74 69 6f 6e 3a 20 41 20 6c 69 62 72 61 72 79 20 66 6f 72 20 65 61 73 69 6c 79 20 67 65 6e 65 72 | tion:.A.library.for.easily.gener |
| 7fc0 | 61 74 69 6e 67 20 58 4d 4c 2f 58 48 54 4d 4c 20 69 6e 20 65 6c 69 73 70 0a 3b 3b 0a 3b 3b 20 54 | ating.XML/XHTML.in.elisp.;;.;;.T |
| 7fe0 | 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f | his.program.is.free.software;.yo |
| 8000 | 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 | u.can.redistribute.it.and/or.mod |
| 8020 | 69 66 79 0a 3b 3b 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 | ify.;;.it.under.the.terms.of.the |
| 8040 | 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 | .GNU.General.Public.License.as.p |
| 8060 | 75 62 6c 69 73 68 65 64 20 62 79 0a 3b 3b 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 | ublished.by.;;.the.Free.Software |
| 8080 | 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 | .Foundation,.either.version.3.of |
| 80a0 | 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 3b 3b 20 28 61 74 20 79 6f 75 72 20 6f 70 74 | .the.License,.or.;;.(at.your.opt |
| 80c0 | 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 | ion).any.later.version...;;.This |
| 80e0 | 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 | .program.is.distributed.in.the.h |
| 8100 | 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 | ope.that.it.will.be.useful,.;;.b |
| 8120 | 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 | ut.WITHOUT.ANY.WARRANTY;.without |
| 8140 | 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b | .even.the.implied.warranty.of.;; |
| 8160 | 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 | .MERCHANTABILITY.or.FITNESS.FOR. |
| 8180 | 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b | A.PARTICULAR.PURPOSE...See.the.; |
| 81a0 | 3b 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 | ;.GNU.General.Public.License.for |
| 81c0 | 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 | .more.details...;;.You.should.ha |
| 81e0 | 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 | ve.received.a.copy.of.the.GNU.Ge |
| 8200 | 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 | neral.Public.License.;;.along.wi |
| 8220 | 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 | th.this.program...If.not,.see.<h |
| 8240 | 74 74 70 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b | ttp://www.gnu.org/licenses/>...; |
| 8260 | 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 54 68 69 73 20 69 73 20 58 4d 4c 2f 58 | ;;.Commentary:..;;.This.is.XML/X |
| 8280 | 48 54 4d 4c 20 64 6f 6e 65 20 77 69 74 68 20 53 2d 45 78 70 72 65 73 73 69 6f 6e 73 20 69 6e 20 | HTML.done.with.S-Expressions.in. |
| 82a0 | 45 6d 61 63 73 4c 69 73 70 2e 20 20 53 69 6d 70 6c 79 2c 0a 3b 3b 20 74 68 69 73 20 69 73 20 74 | EmacsLisp...Simply,.;;.this.is.t |
| 82c0 | 68 65 20 65 61 73 69 65 73 74 20 77 61 79 20 74 6f 20 77 72 69 74 65 20 48 54 4d 4c 20 6f 72 20 | he.easiest.way.to.write.HTML.or. |
| 82e0 | 58 4d 4c 20 69 6e 20 4c 69 73 70 2e 0a 3b 3b 0a 3b 3b 20 54 68 69 73 20 6c 69 62 72 61 72 79 20 | XML.in.Lisp..;;.;;.This.library. |
| 8300 | 75 73 65 73 20 74 68 65 20 6e 61 74 69 76 65 20 66 6f 72 6d 20 6f 66 20 58 4d 4c 20 72 65 70 72 | uses.the.native.form.of.XML.repr |
| 8320 | 65 73 65 6e 74 61 74 69 6f 6e 20 61 73 20 75 73 65 64 20 62 79 0a 3b 3b 20 6d 61 6e 79 20 6c 69 | esentation.as.used.by.;;.many.li |
| 8340 | 62 72 61 72 69 65 73 20 61 6c 72 65 61 64 79 20 69 6e 63 6c 75 64 65 64 20 77 69 74 68 69 6e 20 | braries.already.included.within. |
| 8360 | 65 6d 61 63 73 2e 20 20 54 68 69 73 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 0a 3b 3b 20 77 | emacs...This.representation.;;.w |
| 8380 | 69 6c 6c 20 62 65 20 72 65 66 65 72 72 65 64 20 74 6f 20 61 73 20 22 65 73 78 6d 6c 22 20 74 68 | ill.be.referred.to.as."esxml".th |
| 83a0 | 72 6f 75 67 68 6f 75 74 20 74 68 69 73 20 6c 69 62 72 61 72 79 2e 20 20 53 65 65 0a 3b 3b 20 60 | roughout.this.library...See.;;.` |
| 83c0 | 65 73 78 6d 6c 2d 74 6f 2d 78 6d 6c 27 20 66 6f 72 20 61 20 63 6f 6e 63 69 73 65 20 64 65 73 63 | esxml-to-xml'.for.a.concise.desc |
| 83e0 | 72 69 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 66 6f 72 6d 61 74 2e 0a 3b 3b 0a 3b 3b 20 54 68 69 | ription.of.the.format..;;.;;.Thi |
| 8400 | 73 20 6c 69 62 72 61 72 79 20 69 73 20 6e 6f 74 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 62 65 20 | s.library.is.not.intended.to.be. |
| 8420 | 75 73 65 64 20 64 69 72 65 63 74 6c 79 20 62 79 20 61 20 75 73 65 72 2c 20 74 68 6f 75 67 68 0a | used.directly.by.a.user,.though. |
| 8440 | 3b 3b 20 69 74 20 63 65 72 74 61 69 6e 6c 79 20 63 6f 75 6c 64 20 62 65 2e 20 20 49 74 20 63 6f | ;;.it.certainly.could.be...It.co |
| 8460 | 75 6c 64 20 62 65 20 75 73 65 64 20 74 6f 20 67 65 6e 65 72 61 74 65 20 73 74 61 74 69 63 20 68 | uld.be.used.to.generate.static.h |
| 8480 | 74 6d 6c 2c 0a 3b 3b 20 6f 72 20 75 73 65 20 61 20 6c 69 62 72 61 72 79 20 6c 69 6b 65 20 60 65 | tml,.;;.or.use.a.library.like.`e |
| 84a0 | 6c 6e 6f 64 65 27 20 74 6f 20 73 65 72 76 65 20 64 79 6e 61 6d 69 63 20 70 61 67 65 73 2e 20 20 | lnode'.to.serve.dynamic.pages... |
| 84c0 | 4f 72 20 65 76 65 6e 20 74 6f 0a 3b 3b 20 65 78 74 72 61 63 74 20 61 20 66 6f 72 6d 20 66 72 6f | Or.even.to.;;.extract.a.form.fro |
| 84e0 | 6d 20 61 20 73 69 74 65 20 74 6f 20 70 72 6f 64 75 63 65 20 61 6e 20 41 50 49 2e 0a 3b 3b 0a 3b | m.a.site.to.produce.an.API..;;.; |
| 8500 | 3b 20 54 4f 44 4f 3a 20 42 65 74 74 65 72 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2c 20 6d 6f | ;.TODO:.Better.documentation,.mo |
| 8520 | 72 65 20 63 6f 6e 76 65 6e 69 65 6e 63 65 2e 0a 3b 3b 0a 3b 3b 20 4e 4f 54 49 43 45 3a 20 43 6f | re.convenience..;;.;;.NOTICE:.Co |
| 8540 | 64 65 20 62 61 73 65 20 77 69 6c 6c 20 62 65 20 74 72 61 6e 73 69 74 69 6f 6e 69 6e 67 20 74 6f | de.base.will.be.transitioning.to |
| 8560 | 20 75 73 69 6e 67 20 70 63 61 73 65 20 69 6e 73 74 65 61 64 20 6f 66 0a 3b 3b 20 64 65 73 74 72 | .using.pcase.instead.of.;;.destr |
| 8580 | 75 63 74 75 72 69 6e 67 20 62 69 6e 64 20 77 68 65 72 65 76 65 72 20 70 6f 73 73 69 62 6c 65 2e | ucturing.bind.wherever.possible. |
| 85a0 | 20 20 49 66 20 74 68 69 73 20 6c 65 61 64 73 20 74 6f 20 68 61 72 64 20 74 6f 0a 3b 3b 20 64 65 | ..If.this.leads.to.hard.to.;;.de |
| 85c0 | 62 75 67 20 63 6f 64 65 2c 20 70 6c 65 61 73 65 20 6c 65 74 20 6d 65 20 6b 6e 6f 77 2c 20 61 6e | bug.code,.please.let.me.know,.an |
| 85e0 | 64 20 49 20 77 69 6c 6c 20 64 6f 20 77 68 61 74 65 76 65 72 20 49 20 63 61 6e 20 74 6f 0a 3b 3b | d.I.will.do.whatever.I.can.to.;; |
| 8600 | 20 72 65 73 6f 6c 76 65 20 74 68 65 73 65 20 69 73 73 75 65 73 2e 0a 3b 3b 0a 3b 3b 3b 20 43 6f | .resolve.these.issues..;;.;;;.Co |
| 8620 | 64 65 3a 0a 28 72 65 71 75 69 72 65 20 27 63 6c 2d 6c 69 62 29 0a 28 72 65 71 75 69 72 65 20 27 | de:.(require.'cl-lib).(require.' |
| 8640 | 78 6d 6c 29 0a 28 72 65 71 75 69 72 65 20 27 70 63 61 73 65 29 0a 0a 28 64 65 66 75 6e 20 73 74 | xml).(require.'pcase)..(defun.st |
| 8660 | 72 69 6e 67 2d 74 72 69 6d 2d 77 68 69 74 65 73 70 61 63 65 20 28 73 74 72 69 6e 67 29 0a 20 20 | ring-trim-whitespace.(string)... |
| 8680 | 22 41 20 73 69 6d 70 6c 65 20 66 75 6e 63 74 69 6f 6e 2c 20 73 74 72 69 70 73 20 74 68 65 20 77 | "A.simple.function,.strips.the.w |
| 86a0 | 68 69 74 65 73 70 61 63 65 20 66 72 6f 6d 20 62 65 67 69 6e 6e 69 6e 67 20 61 6e 64 0a 65 6e 64 | hitespace.from.beginning.and.end |
| 86c0 | 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 2e 20 20 4c 65 61 76 65 73 20 61 6c 6c 20 6f 74 68 65 | .of.the.string...Leaves.all.othe |
| 86e0 | 72 20 77 68 69 74 65 73 70 61 63 65 20 75 6e 74 6f 75 63 68 65 64 2e 22 0a 20 20 28 72 65 70 6c | r.whitespace.untouched."...(repl |
| 8700 | 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 0a 20 20 20 28 72 78 20 73 74 72 69 | ace-regexp-in-string....(rx.stri |
| 8720 | 6e 67 2d 73 74 61 72 74 20 28 2a 20 77 68 69 74 65 73 70 61 63 65 29 0a 20 20 20 20 20 20 20 28 | ng-start.(*.whitespace)........( |
| 8740 | 67 72 6f 75 70 20 28 2b 3f 20 61 6e 79 74 68 69 6e 67 29 29 0a 20 20 20 20 20 20 20 28 2a 20 77 | group.(+?.anything))........(*.w |
| 8760 | 68 69 74 65 73 70 61 63 65 29 20 73 74 72 69 6e 67 2d 65 6e 64 29 0a 20 20 20 22 5c 5c 31 22 0a | hitespace).string-end)...."\\1". |
| 8780 | 20 20 20 73 74 72 69 6e 67 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 74 72 69 6d 2d 77 | ...string))..(defun.esxml-trim-w |
| 87a0 | 73 20 28 65 73 78 6d 6c 29 0a 20 20 22 54 68 69 73 20 6d 61 79 20 63 61 75 73 65 20 70 72 6f 62 | s.(esxml)..."This.may.cause.prob |
| 87c0 | 6c 65 6d 73 2c 20 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 70 61 72 73 69 6e 67 20 78 6d | lems,.is.intended.for.parsing.xm |
| 87e0 | 6c 20 69 6e 74 6f 20 73 78 6d 6c 0a 62 75 74 20 6d 61 79 20 65 72 6f 6e 65 6f 75 73 6c 79 20 64 | l.into.sxml.but.may.eroneously.d |
| 8800 | 65 6c 65 74 65 20 64 65 73 69 72 61 62 6c 65 20 77 68 69 74 65 20 73 70 61 63 65 2e 22 0a 20 20 | elete.desirable.white.space."... |
| 8820 | 28 69 66 20 28 73 74 72 69 6e 67 70 20 65 73 78 6d 6c 29 20 28 73 74 72 69 6e 67 2d 74 72 69 6d | (if.(stringp.esxml).(string-trim |
| 8840 | 2d 77 68 69 74 65 73 70 61 63 65 20 65 73 78 6d 6c 29 0a 20 20 20 20 28 70 63 61 73 65 2d 6c 65 | -whitespace.esxml).....(pcase-le |
| 8860 | 74 20 28 28 60 28 2c 74 61 67 20 2c 61 74 74 72 73 20 2e 20 2c 62 6f 64 79 29 20 65 73 78 6d 6c | t.((`(,tag.,attrs...,body).esxml |
| 8880 | 29 29 0a 20 20 20 20 20 20 60 28 2c 74 61 67 20 2c 61 74 74 72 73 0a 20 20 20 20 20 20 20 20 20 | )).......`(,tag.,attrs.......... |
| 88a0 | 20 20 20 20 2c 40 28 6d 61 70 63 61 72 20 27 65 73 78 6d 6c 2d 74 72 69 6d 2d 77 73 20 62 6f 64 | ....,@(mapcar.'esxml-trim-ws.bod |
| 88c0 | 79 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 61 74 74 72 70 20 28 61 74 74 72 29 0a 20 20 22 52 | y)))))..(defun.attrp.(attr)..."R |
| 88e0 | 65 74 75 72 6e 73 20 74 20 69 66 20 61 74 74 72 20 69 73 20 61 20 61 6e 20 65 73 78 6d 6c 20 61 | eturns.t.if.attr.is.a.an.esxml.a |
| 8900 | 74 74 72 69 62 75 74 65 2e 0a 41 6e 20 65 73 78 6d 6c 20 61 74 74 72 69 62 75 74 65 20 69 73 20 | ttribute..An.esxml.attribute.is. |
| 8920 | 61 20 63 6f 6e 73 20 6f 66 20 74 68 65 20 66 6f 72 6d 20 28 73 79 6d 62 6f 6c 20 2e 20 73 74 72 | a.cons.of.the.form.(symbol...str |
| 8940 | 69 6e 67 29 22 0a 20 28 61 6e 64 20 28 63 6f 6e 73 70 20 61 74 74 72 29 0a 20 20 20 20 20 20 20 | ing)"..(and.(consp.attr)........ |
| 8960 | 28 73 79 6d 62 6f 6c 70 20 28 63 61 72 20 61 74 74 72 29 29 0a 20 20 20 20 20 20 20 28 73 74 72 | (symbolp.(car.attr))........(str |
| 8980 | 69 6e 67 70 20 28 63 64 72 20 61 74 74 72 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c | ingp.(cdr.attr))))..(defun.esxml |
| 89a0 | 2d 2d 63 6f 6e 76 65 72 74 2d 70 61 69 72 20 28 61 74 74 72 29 0a 20 20 22 43 6f 6e 76 65 72 74 | --convert-pair.(attr)..."Convert |
| 89c0 | 73 20 66 72 6f 6d 20 63 6f 6e 73 20 63 65 6c 6c 20 74 6f 20 61 74 74 72 69 62 75 74 65 20 70 61 | s.from.cons.cell.to.attribute.pa |
| 89e0 | 69 72 2e 20 20 4e 6f 74 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 0a 67 65 6e 65 72 61 6c 20 75 73 | ir...Not.intended.for.general.us |
| 8a00 | 65 2e 22 0a 20 20 28 70 63 61 73 65 2d 6c 65 74 20 28 28 60 28 2c 63 61 72 20 2e 20 2c 63 64 72 | e."...(pcase-let.((`(,car...,cdr |
| 8a20 | 29 20 61 74 74 72 29 29 0a 20 20 20 20 28 63 6c 2d 63 68 65 63 6b 2d 74 79 70 65 20 63 64 72 20 | ).attr)).....(cl-check-type.cdr. |
| 8a40 | 73 74 72 69 6e 67 29 0a 20 20 20 20 28 63 6f 6e 63 61 74 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 | string).....(concat.(symbol-name |
| 8a60 | 20 63 61 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 3d 22 0a 20 20 20 20 20 20 20 20 20 20 | .car)............."="........... |
| 8a80 | 20 20 28 70 72 69 6e 31 2d 74 6f 2d 73 74 72 69 6e 67 20 28 78 6d 6c 2d 65 73 63 61 70 65 2d 73 | ..(prin1-to-string.(xml-escape-s |
| 8aa0 | 74 72 69 6e 67 20 63 64 72 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 61 74 74 72 73 70 20 28 61 | tring.cdr)))))..(defun.attrsp.(a |
| 8ac0 | 74 74 72 73 29 0a 20 20 20 20 22 52 65 74 75 72 6e 73 20 74 20 69 66 20 61 74 74 72 73 20 69 73 | ttrs)....."Returns.t.if.attrs.is |
| 8ae0 | 20 61 20 6c 69 73 74 20 6f 66 20 65 73 78 6d 6c 20 61 74 74 72 69 62 75 74 65 73 2e 0a 0a 53 65 | .a.list.of.esxml.attributes...Se |
| 8b00 | 65 3a 20 60 61 74 74 72 70 27 22 0a 20 20 28 61 6e 64 20 28 6c 69 73 74 70 20 61 74 74 72 73 29 | e:.`attrp'"...(and.(listp.attrs) |
| 8b20 | 0a 20 20 20 20 20 20 20 28 63 6c 2d 65 76 65 72 79 20 28 6c 61 6d 62 64 61 20 28 61 74 74 72 29 | ........(cl-every.(lambda.(attr) |
| 8b40 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 63 6f 6e 73 70 20 | ....................(and.(consp. |
| 8b60 | 61 74 74 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 | attr).........................(s |
| 8b80 | 79 6d 62 6f 6c 70 20 28 63 61 72 20 61 74 74 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ymbolp.(car.attr)).............. |
| 8ba0 | 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 70 20 28 63 64 72 20 61 74 74 72 29 29 29 | ...........(stringp.(cdr.attr))) |
| 8bc0 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 74 74 72 73 29 29 29 0a 0a 28 64 65 | )..................attrs)))..(de |
| 8be0 | 66 75 6e 20 65 73 78 6d 6c 2d 76 61 6c 69 64 61 74 65 2d 66 6f 72 6d 20 28 65 73 78 6d 6c 29 0a | fun.esxml-validate-form.(esxml). |
| 8c00 | 20 20 22 41 20 66 61 73 74 20 65 73 78 6d 6c 20 76 61 6c 69 64 61 74 6f 72 2e 20 20 57 69 6c 6c | .."A.fast.esxml.validator...Will |
| 8c20 | 20 65 72 72 6f 72 20 6f 6e 20 69 6e 76 61 6c 69 64 20 73 75 62 70 61 72 74 73 20 6d 61 6b 69 6e | .error.on.invalid.subparts.makin |
| 8c40 | 67 0a 69 74 20 73 75 69 74 61 62 6c 65 20 66 6f 72 20 68 69 6e 64 73 69 67 68 74 20 74 65 73 74 | g.it.suitable.for.hindsight.test |
| 8c60 | 69 6e 67 2e 22 0a 20 20 28 63 6f 6e 64 20 28 28 73 74 72 69 6e 67 70 20 65 73 78 6d 6c 29 20 6e | ing."...(cond.((stringp.esxml).n |
| 8c80 | 69 6c 29 0a 20 20 20 20 20 20 20 20 28 28 3c 20 28 6c 65 6e 67 74 68 20 65 73 78 6d 6c 29 20 32 | il).........((<.(length.esxml).2 |
| 8ca0 | 29 0a 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 25 73 20 69 73 20 74 6f 6f 20 73 68 6f | )..........(error."%s.is.too.sho |
| 8cc0 | 72 74 20 74 6f 20 62 65 20 61 20 76 61 6c 69 64 20 65 73 78 6d 6c 20 65 78 70 72 65 73 73 69 6f | rt.to.be.a.valid.esxml.expressio |
| 8ce0 | 6e 22 20 65 73 78 6d 6c 29 29 0a 20 20 20 20 20 20 20 20 28 74 20 28 70 63 61 73 65 2d 6c 65 74 | n".esxml)).........(t.(pcase-let |
| 8d00 | 20 28 28 60 28 2c 74 61 67 20 2c 61 74 74 72 73 20 2e 20 2c 62 6f 64 79 29 20 65 73 78 6d 6c 29 | .((`(,tag.,attrs...,body).esxml) |
| 8d20 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 63 68 65 63 6b 2d 74 79 70 65 20 74 61 | )..............(cl-check-type.ta |
| 8d40 | 67 20 73 79 6d 62 6f 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 63 68 65 63 6b | g.symbol)..............(cl-check |
| 8d60 | 2d 74 79 70 65 20 61 74 74 72 73 20 61 74 74 72 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | -type.attrs.attrs).............. |
| 8d80 | 28 6d 61 70 63 61 72 20 27 65 73 78 6d 6c 2d 76 61 6c 69 64 61 74 65 2d 66 6f 72 6d 20 62 6f 64 | (mapcar.'esxml-validate-form.bod |
| 8da0 | 79 29 29 29 29 29 0a 0a 3b 3b 20 57 68 69 6c 65 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 | y)))))..;;.While.the.following.c |
| 8dc0 | 6f 75 6c 64 20 63 65 72 74 61 69 6e 6c 79 20 68 61 76 65 20 62 65 65 6e 20 77 72 69 74 74 65 6e | ould.certainly.have.been.written |
| 8de0 | 20 75 73 69 6e 67 20 66 6f 72 6d 61 74 2c 0a 3b 3b 20 63 6f 6e 63 61 74 20 6d 61 6b 65 73 20 74 | .using.format,.;;.concat.makes.t |
| 8e00 | 68 65 6d 20 65 61 73 69 65 72 20 74 6f 20 72 65 61 64 2e 20 20 55 70 64 61 74 65 20 6c 61 74 65 | hem.easier.to.read...Update.late |
| 8e20 | 72 20 69 66 20 6e 65 63 63 65 73 61 72 79 20 66 6f 72 0a 3b 3b 20 65 66 66 69 63 69 65 6e 63 79 | r.if.neccesary.for.;;.efficiency |
| 8e40 | 2e 0a 0a 3b 3b 20 54 68 6f 75 67 68 20 61 74 20 66 69 72 73 74 20 67 6c 61 6e 63 65 20 74 68 65 | ...;;.Though.at.first.glance.the |
| 8e60 | 20 72 65 63 75 72 73 69 76 65 20 6e 61 74 75 72 65 20 6f 66 20 74 68 69 73 20 66 75 6e 63 74 69 | .recursive.nature.of.this.functi |
| 8e80 | 6f 6e 20 6d 69 67 68 74 0a 3b 3b 20 67 69 76 65 20 6f 6e 65 20 70 61 75 73 65 2c 20 73 69 6e 63 | on.might.;;.give.one.pause,.sinc |
| 8ea0 | 65 20 78 6d 6c 20 69 73 20 61 20 72 65 63 75 72 73 69 76 65 20 64 61 74 61 20 74 79 70 65 2c 20 | e.xml.is.a.recursive.data.type,. |
| 8ec0 | 61 20 72 65 63 75 72 73 69 76 65 0a 3b 3b 20 70 61 72 73 65 72 20 69 73 20 61 6e 20 6f 70 74 69 | a.recursive.;;.parser.is.an.opti |
| 8ee0 | 6d 61 6c 20 73 74 72 61 74 65 67 79 2e 20 20 65 61 63 68 20 6e 6f 64 65 20 77 69 6c 6c 20 62 65 | mal.strategy...each.node.will.be |
| 8f00 | 20 76 69 73 69 74 65 64 20 65 78 61 63 74 6c 79 0a 3b 3b 20 6f 6e 63 65 20 64 75 72 69 6e 67 20 | .visited.exactly.;;.once.during. |
| 8f20 | 74 68 65 20 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 2e 0a 3b 3b 0a 3b 3b 20 46 75 72 74 68 65 | the.transformation..;;.;;.Furthe |
| 8f40 | 72 2c 20 73 69 6e 63 65 20 61 20 73 74 72 69 6e 67 20 69 73 20 61 20 74 65 72 6d 69 6e 61 6c 20 | r,.since.a.string.is.a.terminal. |
| 8f60 | 6e 6f 64 65 20 61 6e 64 20 73 69 6e 63 65 20 78 6d 6c 20 63 61 6e 20 62 65 0a 3b 3b 20 72 65 70 | node.and.since.xml.can.be.;;.rep |
| 8f80 | 72 65 73 65 6e 74 65 64 20 61 73 20 61 20 73 74 72 69 6e 67 2c 20 6e 6f 6e 20 64 79 6e 61 6d 69 | resented.as.a.string,.non.dynami |
| 8fa0 | 63 20 70 6f 72 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 70 61 67 65 20 6d 61 79 20 62 65 0a 3b 3b | c.portions.of.the.page.may.be.;; |
| 8fc0 | 20 70 72 65 63 61 63 68 65 64 20 71 75 69 74 65 20 65 61 73 69 6c 79 2e 0a 28 64 65 66 75 6e 20 | .precached.quite.easily..(defun. |
| 8fe0 | 65 73 78 6d 6c 2d 2d 74 6f 2d 78 6d 6c 2d 72 65 63 75 72 73 69 76 65 20 28 65 73 78 6d 6c 29 0a | esxml--to-xml-recursive.(esxml). |
| 9000 | 20 20 28 70 63 61 73 65 20 65 73 78 6d 6c 0a 20 20 20 20 28 28 70 72 65 64 20 73 74 72 69 6e 67 | ..(pcase.esxml.....((pred.string |
| 9020 | 70 29 0a 20 20 20 20 20 28 78 6d 6c 2d 65 73 63 61 70 65 2d 73 74 72 69 6e 67 20 65 73 78 6d 6c | p)......(xml-escape-string.esxml |
| 9040 | 29 29 0a 20 20 20 20 28 60 28 72 61 77 2d 73 74 72 69 6e 67 20 2c 73 74 72 69 6e 67 29 0a 20 20 | )).....(`(raw-string.,string)... |
| 9060 | 20 20 20 28 63 6c 2d 63 68 65 63 6b 2d 74 79 70 65 20 73 74 72 69 6e 67 20 73 74 72 69 6e 67 70 | ...(cl-check-type.string.stringp |
| 9080 | 29 0a 20 20 20 20 20 73 74 72 69 6e 67 29 0a 20 20 20 20 28 60 28 63 6f 6d 6d 65 6e 74 20 6e 69 | )......string).....(`(comment.ni |
| 90a0 | 6c 20 2c 62 6f 64 79 29 0a 20 20 20 20 20 28 63 6f 6e 63 61 74 20 22 3c 21 2d 2d 20 22 20 62 6f | l.,body)......(concat."<!--.".bo |
| 90c0 | 64 79 20 22 20 2d 2d 3e 22 29 29 0a 20 20 20 20 28 60 28 2c 74 61 67 20 2c 61 74 74 72 73 20 2e | dy.".-->")).....(`(,tag.,attrs.. |
| 90e0 | 20 2c 62 6f 64 79 29 0a 20 20 20 20 20 3b 3b 20 63 6f 64 65 20 67 6f 65 73 20 68 65 72 65 20 74 | .,body)......;;.code.goes.here.t |
| 9100 | 6f 20 63 61 74 63 68 20 69 6e 76 61 6c 69 64 20 64 61 74 61 2e 0a 20 20 20 20 20 28 63 6f 6e 63 | o.catch.invalid.data.......(conc |
| 9120 | 61 74 20 22 3c 22 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 74 61 67 29 0a 20 20 20 20 20 20 20 | at."<".(symbol-name.tag)........ |
| 9140 | 20 20 20 20 20 20 28 77 68 65 6e 20 61 74 74 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ......(when.attrs............... |
| 9160 | 20 28 63 6f 6e 63 61 74 20 22 20 22 20 28 6d 61 70 63 6f 6e 63 61 74 20 27 65 73 78 6d 6c 2d 2d | .(concat.".".(mapconcat.'esxml-- |
| 9180 | 63 6f 6e 76 65 72 74 2d 70 61 69 72 20 61 74 74 72 73 20 22 20 22 29 29 29 0a 20 20 20 20 20 20 | convert-pair.attrs.".")))....... |
| 91a0 | 20 20 20 20 20 20 20 28 69 66 20 62 6f 64 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .......(if.body................. |
| 91c0 | 20 28 63 6f 6e 63 61 74 20 22 3e 22 20 28 6d 61 70 63 6f 6e 63 61 74 20 27 65 73 78 6d 6c 2d 2d | .(concat.">".(mapconcat.'esxml-- |
| 91e0 | 74 6f 2d 78 6d 6c 2d 72 65 63 75 72 73 69 76 65 20 62 6f 64 79 20 22 22 29 0a 20 20 20 20 20 20 | to-xml-recursive.body."")....... |
| 9200 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 3c 2f 22 20 28 73 79 6d 62 6f 6c 2d | ..................."</".(symbol- |
| 9220 | 6e 61 6d 65 20 74 61 67 29 20 22 3e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2f | name.tag).">")................"/ |
| 9240 | 3e 22 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 74 6f 2d 78 6d 6c 20 28 65 73 | >")))))..(defun.esxml-to-xml.(es |
| 9260 | 78 6d 6c 29 0a 20 20 22 54 68 69 73 20 74 72 61 6e 73 6c 61 74 65 73 20 61 6e 20 65 73 78 6d 6c | xml)..."This.translates.an.esxml |
| 9280 | 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 69 2e 65 2e 20 74 68 61 74 20 77 68 69 63 68 20 69 73 20 | .expression,.i.e..that.which.is. |
| 92a0 | 72 65 74 75 72 6e 65 64 0a 62 79 20 78 6d 6c 2d 70 61 72 73 65 2d 72 65 67 69 6f 6e 2e 20 54 68 | returned.by.xml-parse-region..Th |
| 92c0 | 65 20 73 74 72 75 63 74 75 72 65 20 69 73 20 64 65 66 69 6e 65 64 20 61 73 20 61 6e 79 20 6f 66 | e.structure.is.defined.as.any.of |
| 92e0 | 20 74 68 65 0a 66 6f 6c 6c 6f 77 69 6e 67 20 66 6f 72 6d 73 3a 0a 0a 2d 20 41 20 73 74 72 69 6e | .the.following.forms:..-.A.strin |
| 9300 | 67 2e 0a 0a 20 53 54 52 49 4e 47 0a 0a 53 54 52 49 4e 47 3a 20 74 68 65 20 73 74 72 69 6e 67 20 | g....STRING..STRING:.the.string. |
| 9320 | 69 74 20 69 73 20 72 65 74 75 72 6e 65 64 20 77 69 74 68 20 65 6e 74 69 74 69 65 73 20 65 73 63 | it.is.returned.with.entities.esc |
| 9340 | 61 70 65 64 0a 0a 2d 20 41 20 6c 69 73 74 20 77 68 65 72 65 20 74 68 65 20 66 69 72 73 74 20 65 | aped..-.A.list.where.the.first.e |
| 9360 | 6c 65 6d 65 6e 74 20 69 73 20 74 68 65 20 72 61 77 2d 73 74 72 69 6e 67 20 73 79 6d 62 6f 6c 20 | lement.is.the.raw-string.symbol. |
| 9380 | 61 6e 64 20 74 68 65 0a 20 20 73 65 63 6f 6e 64 20 69 73 20 61 20 73 74 72 69 6e 67 2e 0a 0a 20 | and.the...second.is.a.string.... |
| 93a0 | 28 72 61 77 2d 73 74 72 69 6e 67 20 53 54 52 49 4e 47 29 0a 0a 53 54 52 49 4e 47 3a 20 74 68 65 | (raw-string.STRING)..STRING:.the |
| 93c0 | 20 73 74 72 69 6e 67 20 69 73 20 72 65 74 75 72 6e 65 64 20 75 6e 63 68 61 6e 67 65 64 2e 20 54 | .string.is.returned.unchanged..T |
| 93e0 | 68 69 73 20 61 6c 6c 6f 77 73 20 66 6f 72 20 63 61 63 68 69 6e 67 0a 20 20 20 20 20 20 20 20 6f | his.allows.for.caching.........o |
| 9400 | 66 20 61 6e 79 20 63 6f 6e 73 74 61 6e 74 20 70 61 72 74 73 2c 20 73 75 63 68 20 61 73 20 68 65 | f.any.constant.parts,.such.as.he |
| 9420 | 61 64 65 72 73 20 61 6e 64 20 66 6f 6f 74 65 72 73 2e 0a 0a 2d 20 41 20 6c 69 73 74 20 77 68 65 | aders.and.footers...-.A.list.whe |
| 9440 | 72 65 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 69 73 20 74 68 65 20 63 6f 6d 6d | re.the.first.element.is.the.comm |
| 9460 | 65 6e 74 20 73 79 6d 62 6f 6c 20 61 6e 64 20 74 68 65 0a 20 20 73 65 63 6f 6e 64 20 69 73 20 61 | ent.symbol.and.the...second.is.a |
| 9480 | 20 73 74 72 69 6e 67 2e 0a 0a 20 28 63 6f 6d 6d 65 6e 74 20 53 54 52 49 4e 47 29 0a 0a 53 54 52 | .string....(comment.STRING)..STR |
| 94a0 | 49 4e 47 3a 20 74 68 65 20 73 74 72 69 6e 67 20 69 73 20 65 6d 62 65 64 64 65 64 20 69 6e 20 61 | ING:.the.string.is.embedded.in.a |
| 94c0 | 20 48 54 4d 4c 20 63 6f 6d 6d 65 6e 74 2e 0a 0a 2d 20 41 20 6c 69 73 74 20 77 68 65 72 65 20 74 | .HTML.comment...-.A.list.where.t |
| 94e0 | 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 69 73 20 74 68 65 20 74 61 67 2c 20 74 68 65 | he.first.element.is.the.tag,.the |
| 9500 | 20 73 65 63 6f 6e 64 20 69 73 0a 61 6e 20 61 6c 69 73 74 20 6f 66 20 61 74 74 72 69 62 75 74 65 | .second.is.an.alist.of.attribute |
| 9520 | 20 76 61 6c 75 65 20 70 61 69 72 73 20 61 6e 64 20 74 68 65 20 72 65 6d 61 69 6e 64 65 72 20 6f | .value.pairs.and.the.remainder.o |
| 9540 | 66 20 74 68 65 20 6c 69 73 74 0a 69 73 20 30 20 6f 72 20 6d 6f 72 65 20 65 73 78 6d 6c 20 65 6c | f.the.list.is.0.or.more.esxml.el |
| 9560 | 65 6d 65 6e 74 73 2e 0a 0a 20 28 54 41 47 20 41 54 54 52 53 20 26 72 65 73 74 20 42 4f 44 59 29 | ements....(TAG.ATTRS.&rest.BODY) |
| 9580 | 0a 0a 54 41 47 3a 20 69 73 20 74 68 65 20 74 61 67 20 61 6e 64 20 6d 75 73 74 20 62 65 20 61 20 | ..TAG:.is.the.tag.and.must.be.a. |
| 95a0 | 73 79 6d 62 6f 6c 2e 0a 0a 41 54 54 52 53 3a 20 69 73 20 61 6e 20 61 6c 69 73 74 20 6f 66 20 61 | symbol...ATTRS:.is.an.alist.of.a |
| 95c0 | 74 74 72 69 62 75 74 65 20 70 61 69 72 73 20 65 61 63 68 20 70 61 69 72 20 6d 75 73 74 20 62 65 | ttribute.pairs.each.pair.must.be |
| 95e0 | 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 66 6f 72 6d 20 28 4b 45 59 20 2e 20 56 41 4c 55 45 | .of.the........form.(KEY...VALUE |
| 9600 | 29 2e 0a 0a 4b 45 59 3a 20 69 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 61 74 74 72 | )...KEY:.is.the.name.of.the.attr |
| 9620 | 69 62 75 74 65 20 61 6e 64 20 6d 75 73 74 20 62 65 20 61 20 73 79 6d 62 6f 6c 2e 0a 0a 56 41 4c | ibute.and.must.be.a.symbol...VAL |
| 9640 | 55 45 3a 20 69 73 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 61 74 74 72 69 62 75 74 | UE:.is.the.value.of.the.attribut |
| 9660 | 65 20 61 6e 64 20 6d 75 73 74 20 62 65 20 61 20 73 74 72 69 6e 67 2e 0a 0a 42 4f 44 59 3a 20 69 | e.and.must.be.a.string...BODY:.i |
| 9680 | 73 20 7a 65 72 6f 20 6f 72 20 6d 6f 72 65 20 65 73 78 6d 6c 20 65 78 70 72 65 73 73 69 6f 6e 73 | s.zero.or.more.esxml.expressions |
| 96a0 | 2e 20 20 48 61 76 69 6e 67 20 6e 6f 20 62 6f 64 79 20 66 6f 72 6d 73 0a 20 20 20 20 20 20 69 6d | ...Having.no.body.forms.......im |
| 96c0 | 70 6c 69 65 73 20 74 68 61 74 20 74 68 65 20 74 61 67 20 73 68 6f 75 6c 64 20 62 65 20 73 65 6c | plies.that.the.tag.should.be.sel |
| 96e0 | 66 20 63 6c 6f 73 65 64 2e 20 20 49 66 20 74 68 65 72 65 20 69 73 0a 20 20 20 20 20 20 6f 6e 65 | f.closed...If.there.is.......one |
| 9700 | 20 6f 72 20 6d 6f 72 65 20 62 6f 64 79 20 66 6f 72 6d 73 20 74 68 65 20 74 61 67 20 77 69 6c 6c | .or.more.body.forms.the.tag.will |
| 9720 | 20 61 6c 77 61 79 73 20 62 65 20 65 78 70 6c 69 63 69 74 6c 79 0a 20 20 20 20 20 20 63 6c 6f 73 | .always.be.explicitly.......clos |
| 9740 | 65 64 2c 20 65 76 65 6e 20 69 66 20 74 68 65 79 20 61 72 65 20 74 68 65 20 65 6d 70 74 79 20 73 | ed,.even.if.they.are.the.empty.s |
| 9760 | 74 72 69 6e 67 2e 22 0a 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 6e 69 6c 0a 20 20 | tring."...(condition-case.nil... |
| 9780 | 20 20 20 20 28 65 73 78 6d 6c 2d 2d 74 6f 2d 78 6d 6c 2d 72 65 63 75 72 73 69 76 65 20 65 73 78 | ....(esxml--to-xml-recursive.esx |
| 97a0 | 6d 6c 29 0a 20 20 20 20 28 65 72 72 6f 72 20 28 65 73 78 6d 6c 2d 76 61 6c 69 64 61 74 65 2d 66 | ml).....(error.(esxml-validate-f |
| 97c0 | 6f 72 6d 20 65 73 78 6d 6c 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 70 2d 65 73 78 6d 6c 2d 74 | orm.esxml))))..(defun.pp-esxml-t |
| 97e0 | 6f 2d 78 6d 6c 20 28 65 73 78 6d 6c 29 0a 20 20 22 54 68 69 73 20 74 72 61 6e 73 6c 61 74 65 73 | o-xml.(esxml)..."This.translates |
| 9800 | 20 61 6e 20 65 73 78 6d 6c 20 65 78 70 72 65 73 69 6f 6e 20 61 73 20 60 65 73 78 6d 6c 2d 74 6f | .an.esxml.expresion.as.`esxml-to |
| 9820 | 2d 78 6d 6c 27 20 62 75 74 0a 69 6e 64 65 6e 74 73 20 69 74 20 66 6f 72 20 65 61 73 65 20 6f 66 | -xml'.but.indents.it.for.ease.of |
| 9840 | 20 68 75 6d 61 6e 20 72 65 61 64 61 62 69 6c 69 74 79 2c 20 69 74 20 69 73 20 6e 65 63 65 73 73 | .human.readability,.it.is.necess |
| 9860 | 61 72 69 6c 79 0a 73 6c 6f 77 65 72 20 61 6e 64 20 77 69 6c 6c 20 70 72 6f 64 75 63 65 20 6c 6f | arily.slower.and.will.produce.lo |
| 9880 | 6e 67 65 72 20 6f 75 74 70 75 74 2e 22 0a 20 20 28 70 63 61 73 65 20 65 73 78 6d 6c 0a 20 20 20 | nger.output."...(pcase.esxml.... |
| 98a0 | 20 28 28 70 72 65 64 20 73 74 72 69 6e 67 70 29 0a 20 20 20 20 20 28 78 6d 6c 2d 65 73 63 61 70 | .((pred.stringp)......(xml-escap |
| 98c0 | 65 2d 73 74 72 69 6e 67 20 65 73 78 6d 6c 29 29 0a 20 20 20 20 28 60 28 72 61 77 2d 73 74 72 69 | e-string.esxml)).....(`(raw-stri |
| 98e0 | 6e 67 20 2c 73 74 72 69 6e 67 29 0a 20 20 20 20 20 28 63 6c 2d 63 68 65 63 6b 2d 74 79 70 65 20 | ng.,string)......(cl-check-type. |
| 9900 | 73 74 72 69 6e 67 20 73 74 72 69 6e 67 70 29 0a 20 20 20 20 20 73 74 72 69 6e 67 29 0a 20 20 20 | string.stringp)......string).... |
| 9920 | 20 28 60 28 63 6f 6d 6d 65 6e 74 20 6e 69 6c 20 2c 62 6f 64 79 29 0a 20 20 20 20 20 28 63 6f 6e | .(`(comment.nil.,body)......(con |
| 9940 | 63 61 74 20 22 3c 21 2d 2d 20 22 20 62 6f 64 79 20 22 20 2d 2d 3e 22 29 29 0a 20 20 20 20 28 60 | cat."<!--.".body.".-->")).....(` |
| 9960 | 28 2c 74 61 67 20 2c 61 74 74 72 73 20 2e 20 2c 62 6f 64 79 29 0a 20 20 20 20 20 28 63 6c 2d 63 | (,tag.,attrs...,body)......(cl-c |
| 9980 | 68 65 63 6b 2d 74 79 70 65 20 74 61 67 20 73 79 6d 62 6f 6c 29 0a 20 20 20 20 20 28 63 6c 2d 63 | heck-type.tag.symbol)......(cl-c |
| 99a0 | 68 65 63 6b 2d 74 79 70 65 20 61 74 74 72 73 20 61 74 74 72 73 29 0a 20 20 20 20 20 28 63 6f 6e | heck-type.attrs.attrs)......(con |
| 99c0 | 63 61 74 20 22 3c 22 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 74 61 67 29 0a 20 20 20 20 20 20 | cat."<".(symbol-name.tag)....... |
| 99e0 | 20 20 20 20 20 20 20 28 77 68 65 6e 20 61 74 74 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .......(when.attrs.............. |
| 9a00 | 20 20 28 63 6f 6e 63 61 74 20 22 20 22 20 28 6d 61 70 63 6f 6e 63 61 74 20 27 65 73 78 6d 6c 2d | ..(concat.".".(mapconcat.'esxml- |
| 9a20 | 2d 63 6f 6e 76 65 72 74 2d 70 61 69 72 20 61 74 74 72 73 20 22 20 22 29 29 29 0a 20 20 20 20 20 | -convert-pair.attrs.".")))...... |
| 9a40 | 20 20 20 20 20 20 20 20 28 69 66 20 62 6f 64 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ........(if.body................ |
| 9a60 | 20 20 28 63 6f 6e 63 61 74 20 22 3e 22 20 28 69 66 20 28 63 6c 2d 65 76 65 72 79 20 27 73 74 72 | ..(concat.">".(if.(cl-every.'str |
| 9a80 | 69 6e 67 70 20 62 6f 64 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ingp.body)...................... |
| 9aa0 | 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 20 27 69 64 65 6e 74 69 74 79 | ............(mapconcat.'identity |
| 9ac0 | 20 62 6f 64 79 20 22 20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .body.".")...................... |
| 9ae0 | 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 22 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 | ..........(concat."\n".......... |
| 9b00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 | ..............................(r |
| 9b20 | 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 | eplace-regexp-in-string......... |
| 9b40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 9b60 | 22 5e 22 20 22 20 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | "^".".."........................ |
| 9b80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 20 27 70 70 2d | .................(mapconcat.'pp- |
| 9ba0 | 65 73 78 6d 6c 2d 74 6f 2d 78 6d 6c 20 62 6f 64 79 20 22 5c 6e 22 29 29 0a 20 20 20 20 20 20 20 | esxml-to-xml.body."\n"))........ |
| 9bc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 9be0 | 22 5c 6e 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | "\n")).......................... |
| 9c00 | 22 3c 2f 22 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 74 61 67 29 20 22 3e 22 29 0a 20 20 20 20 | "</".(symbol-name.tag).">")..... |
| 9c20 | 20 20 20 20 20 20 20 20 20 20 20 22 2f 3e 22 29 29 29 0a 20 20 20 20 28 5f 0a 20 20 20 20 20 28 | ..........."/>"))).....(_......( |
| 9c40 | 65 72 72 6f 72 20 22 25 73 20 69 73 20 6e 6f 74 20 61 20 76 61 6c 69 64 20 65 73 78 6d 6c 20 65 | error."%s.is.not.a.valid.esxml.e |
| 9c60 | 78 70 72 65 73 73 69 6f 6e 22 20 65 73 78 6d 6c 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 73 78 6d | xpression".esxml))))..(defun.sxm |
| 9c80 | 6c 2d 74 6f 2d 65 73 78 6d 6c 20 28 73 78 6d 6c 29 0a 20 20 22 54 72 61 6e 73 6c 61 74 65 73 20 | l-to-esxml.(sxml)..."Translates. |
| 9ca0 | 73 78 6d 6c 20 74 6f 20 65 73 78 6d 6c 20 73 6f 20 74 68 65 20 63 6f 6d 6d 6f 6e 20 73 74 61 6e | sxml.to.esxml.so.the.common.stan |
| 9cc0 | 64 61 72 64 20 63 61 6e 20 62 65 20 75 73 65 64 2e 0a 53 65 65 3a 20 68 74 74 70 3a 2f 2f 6f 6b | dard.can.be.used..See:.http://ok |
| 9ce0 | 6d 69 6a 2e 6f 72 67 2f 66 74 70 2f 53 63 68 65 6d 65 2f 53 58 4d 4c 2e 68 74 6d 6c 2e 20 41 64 | mij.org/ftp/Scheme/SXML.html..Ad |
| 9d00 | 64 69 74 69 6f 6e 61 6c 6c 79 2c 0a 28 2a 52 41 57 2d 53 54 52 49 4e 47 2a 20 5c 22 73 74 72 69 | ditionally,.(*RAW-STRING*.\"stri |
| 9d20 | 6e 67 5c 22 29 20 69 73 20 74 72 61 6e 73 6c 61 74 65 64 20 74 6f 20 28 72 61 77 2d 73 74 72 69 | ng\").is.translated.to.(raw-stri |
| 9d40 | 6e 67 0a 5c 22 73 74 72 69 6e 67 5c 22 29 2e 22 0a 20 20 28 70 63 61 73 65 20 73 78 6d 6c 0a 20 | ng.\"string\")."...(pcase.sxml.. |
| 9d60 | 20 20 20 28 60 28 2a 52 41 57 2d 53 54 52 49 4e 47 2a 20 2c 62 6f 64 79 29 0a 20 20 20 20 20 60 | ...(`(*RAW-STRING*.,body)......` |
| 9d80 | 28 72 61 77 2d 73 74 72 69 6e 67 20 2c 62 6f 64 79 29 29 0a 20 20 20 20 28 60 28 2a 43 4f 4d 4d | (raw-string.,body)).....(`(*COMM |
| 9da0 | 45 4e 54 2a 20 2c 62 6f 64 79 29 0a 20 20 20 20 20 60 28 63 6f 6d 6d 65 6e 74 20 6e 69 6c 20 2c | ENT*.,body)......`(comment.nil., |
| 9dc0 | 62 6f 64 79 29 29 0a 20 20 20 20 28 60 28 2c 74 61 67 20 28 40 20 2e 20 2c 61 74 74 72 73 29 20 | body)).....(`(,tag.(@...,attrs). |
| 9de0 | 2e 20 2c 62 6f 64 79 29 0a 20 20 20 20 20 60 28 2c 74 61 67 20 2c 28 6d 61 70 63 61 72 20 28 6c | ..,body)......`(,tag.,(mapcar.(l |
| 9e00 | 61 6d 62 64 61 20 28 61 74 74 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ambda.(attr).................... |
| 9e20 | 20 20 20 20 28 63 6f 6e 73 20 28 63 61 72 20 61 74 74 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ....(cons.(car.attr)............ |
| 9e40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 63 61 64 72 20 61 74 74 72 | ..................(or.(cadr.attr |
| 9e60 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | )............................... |
| 9e80 | 20 20 20 28 70 72 69 6e 31 2d 74 6f 2d 73 74 72 69 6e 67 20 28 63 61 72 20 61 74 74 72 29 29 29 | ...(prin1-to-string.(car.attr))) |
| 9ea0 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 74 74 72 73 29 0a 20 | ))......................attrs).. |
| 9ec0 | 20 20 20 20 20 20 20 20 20 20 20 2c 40 28 6d 61 70 63 61 72 20 27 73 78 6d 6c 2d 74 6f 2d 65 73 | ...........,@(mapcar.'sxml-to-es |
| 9ee0 | 78 6d 6c 20 62 6f 64 79 29 29 29 0a 20 20 20 20 28 60 28 2c 74 61 67 20 2e 20 2c 62 6f 64 79 29 | xml.body))).....(`(,tag...,body) |
| 9f00 | 0a 20 20 20 20 20 60 28 2c 74 61 67 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 2c 40 28 | ......`(,tag.nil.............,@( |
| 9f20 | 6d 61 70 63 61 72 20 27 73 78 6d 6c 2d 74 6f 2d 65 73 78 6d 6c 20 62 6f 64 79 29 29 29 0a 20 20 | mapcar.'sxml-to-esxml.body)))... |
| 9f40 | 20 20 28 28 61 6e 64 20 73 78 6d 6c 20 28 70 72 65 64 20 73 74 72 69 6e 67 70 29 29 20 73 78 6d | ..((and.sxml.(pred.stringp)).sxm |
| 9f60 | 6c 29 29 29 0a 0a 28 64 65 66 75 6e 20 73 78 6d 6c 2d 74 6f 2d 78 6d 6c 20 28 73 78 6d 6c 29 0a | l)))..(defun.sxml-to-xml.(sxml). |
| 9f80 | 20 20 22 54 72 61 6e 73 6c 61 74 65 73 20 73 78 6d 6c 20 74 6f 20 78 6d 6c 2c 20 76 69 61 20 65 | .."Translates.sxml.to.xml,.via.e |
| 9fa0 | 73 78 6d 6c 2c 20 68 65 79 20 69 74 27 73 20 6f 6e 6c 79 20 61 20 63 6f 6e 73 74 61 6e 74 0a 66 | sxml,.hey.it's.only.a.constant.f |
| 9fc0 | 61 63 74 6f 72 2e 20 3a 29 22 0a 20 20 28 65 73 78 6d 6c 2d 74 6f 2d 78 6d 6c 20 28 73 78 6d 6c | actor..:)"...(esxml-to-xml.(sxml |
| 9fe0 | 2d 74 6f 2d 65 73 78 6d 6c 20 73 78 6d 6c 29 29 29 0a 0a 0c 0a 0a 3b 3b 20 54 4f 44 4f 3a 20 6d | -to-esxml.sxml))).....;;.TODO:.m |
| a000 | 61 6b 65 20 61 67 6e 6f 73 74 69 63 20 77 69 74 68 20 72 65 73 70 65 63 74 20 74 6f 20 6c 69 62 | ake.agnostic.with.respect.to.lib |
| a020 | 78 6d 6c 20 76 73 20 78 6d 6c 2e 65 6c 0a 28 64 65 66 75 6e 20 78 6d 6c 2d 74 6f 2d 65 73 78 6d | xml.vs.xml.el.(defun.xml-to-esxm |
| a040 | 6c 20 28 73 74 72 69 6e 67 20 26 6f 70 74 69 6f 6e 61 6c 20 74 72 69 6d 29 0a 20 20 28 77 69 74 | l.(string.&optional.trim)...(wit |
| a060 | 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 28 69 6e 73 65 72 74 20 73 74 72 69 6e 67 | h-temp-buffer.....(insert.string |
| a080 | 29 0a 20 20 20 20 28 6c 65 74 20 28 28 70 61 72 73 65 2d 74 72 65 65 20 28 6c 69 62 78 6d 6c 2d | ).....(let.((parse-tree.(libxml- |
| a0a0 | 70 61 72 73 65 2d 78 6d 6c 2d 72 65 67 69 6f 6e 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 0a 20 20 20 | parse-xml-region.(point-min).... |
| a0c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| a0e0 | 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 29 0a 20 20 20 20 20 | ............(point-max))))...... |
| a100 | 20 28 69 66 20 74 72 69 6d 0a 20 20 20 20 20 20 20 20 20 20 28 65 73 78 6d 6c 2d 74 72 69 6d 2d | .(if.trim...........(esxml-trim- |
| a120 | 77 73 20 70 61 72 73 65 2d 74 72 65 65 29 0a 20 20 20 20 20 20 20 20 70 61 72 73 65 2d 74 72 65 | ws.parse-tree).........parse-tre |
| a140 | 65 29 29 29 29 0a 0a 3b 3b 20 54 4f 44 4f 2c 20 6d 6f 76 65 20 74 6f 20 65 73 78 70 61 74 68 20 | e))))..;;.TODO,.move.to.esxpath. |
| a160 | 77 68 65 6e 20 6d 61 74 75 72 65 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 67 65 74 2d 62 79 2d | when.mature.(defun.esxml-get-by- |
| a180 | 6b 65 79 20 28 65 73 78 6d 6c 20 6b 65 79 20 76 61 6c 75 65 29 0a 20 20 22 52 65 74 75 72 6e 73 | key.(esxml.key.value)..."Returns |
| a1a0 | 20 61 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 65 6c 65 6d 65 6e 74 73 20 77 68 6f 73 65 20 77 74 | .a.list.of.all.elements.whose.wt |
| a1c0 | 74 72 69 62 75 74 65 20 4b 45 59 20 6d 61 74 63 68 0a 56 41 4c 55 45 2e 20 20 4b 45 59 20 73 68 | tribute.KEY.match.VALUE...KEY.sh |
| a1e0 | 6f 75 6c 64 20 62 65 20 61 20 73 79 6d 62 6f 6c 2c 20 61 6e 64 20 56 41 4c 55 45 20 73 68 6f 75 | ould.be.a.symbol,.and.VALUE.shou |
| a200 | 6c 64 20 62 65 20 61 20 73 74 72 69 6e 67 2e 0a 57 69 6c 6c 20 6e 6f 74 20 72 65 63 75 72 73 65 | ld.be.a.string..Will.not.recurse |
| a220 | 20 62 65 6c 6f 77 20 61 20 6d 61 74 63 68 2e 22 0a 20 20 28 75 6e 6c 65 73 73 20 28 73 74 72 69 | .below.a.match."...(unless.(stri |
| a240 | 6e 67 70 20 65 73 78 6d 6c 29 0a 20 20 20 20 28 70 63 61 73 65 2d 6c 65 74 20 28 28 60 28 2c 74 | ngp.esxml).....(pcase-let.((`(,t |
| a260 | 61 67 20 2c 61 74 74 72 73 20 2e 20 2c 62 6f 64 79 29 20 65 73 78 6d 6c 29 29 0a 20 20 20 20 20 | ag.,attrs...,body).esxml))...... |
| a280 | 20 28 69 66 20 28 65 71 75 61 6c 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .(if.(equal.value............... |
| a2a0 | 20 20 20 28 61 73 73 6f 63 2d 64 65 66 61 75 6c 74 20 6b 65 79 20 61 74 74 72 73 29 29 0a 20 20 | ...(assoc-default.key.attrs))... |
| a2c0 | 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 65 73 78 6d 6c 29 0a 20 20 20 20 20 20 20 20 28 61 70 | ........(list.esxml).........(ap |
| a2e0 | 70 6c 79 20 27 61 70 70 65 6e 64 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 73 65 78 | ply.'append.(mapcar.(lambda.(sex |
| a300 | 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | p).............................. |
| a320 | 20 20 20 20 28 65 73 78 6d 6c 2d 67 65 74 2d 62 79 2d 6b 65 79 20 73 65 78 70 20 6b 65 79 20 76 | ....(esxml-get-by-key.sexp.key.v |
| a340 | 61 6c 75 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | alue)).......................... |
| a360 | 20 20 20 20 20 20 62 6f 64 79 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 73 78 6d 6c 2d 67 | ......body))))))..(defun.esxml-g |
| a380 | 65 74 2d 74 61 67 73 20 28 65 73 78 6d 6c 20 74 61 67 73 29 0a 20 20 22 52 65 74 75 72 6e 73 20 | et-tags.(esxml.tags)..."Returns. |
| a3a0 | 61 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 65 6c 65 6d 65 6e 74 73 20 77 68 6f 73 65 20 74 61 67 | a.list.of.all.elements.whose.tag |
| a3c0 | 20 69 73 20 61 20 6d 65 6d 62 65 72 20 6f 66 20 54 41 47 53 2e 0a 54 41 47 53 20 73 68 6f 75 6c | .is.a.member.of.TAGS..TAGS.shoul |
| a3e0 | 64 20 62 65 20 61 20 6c 69 73 74 20 6f 66 20 74 61 67 73 20 74 6f 20 62 65 20 6d 61 74 63 68 65 | d.be.a.list.of.tags.to.be.matche |
| a400 | 64 20 61 67 61 69 6e 73 74 2e 20 57 69 6c 6c 20 6e 6f 74 0a 72 65 63 75 72 73 65 20 62 65 6c 6f | d.against..Will.not.recurse.belo |
| a420 | 77 20 61 20 6d 61 74 63 68 2e 22 0a 20 20 28 75 6e 6c 65 73 73 20 28 73 74 72 69 6e 67 70 20 65 | w.a.match."...(unless.(stringp.e |
| a440 | 73 78 6d 6c 29 0a 20 20 20 20 28 70 63 61 73 65 2d 6c 65 74 20 28 28 60 28 2c 74 61 67 20 2c 61 | sxml).....(pcase-let.((`(,tag.,a |
| a460 | 74 74 72 73 20 2e 20 2c 62 6f 64 79 29 20 65 73 78 6d 6c 29 29 0a 20 20 20 20 20 20 28 69 66 20 | ttrs...,body).esxml)).......(if. |
| a480 | 28 6d 65 6d 62 65 72 20 74 61 67 20 74 61 67 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 | (member.tag.tags)...........(lis |
| a4a0 | 74 20 65 73 78 6d 6c 29 0a 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 27 61 70 70 65 6e 64 20 | t.esxml).........(apply.'append. |
| a4c0 | 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 73 65 78 70 29 0a 20 20 20 20 20 20 20 20 20 | (mapcar.(lambda.(sexp).......... |
| a4e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 73 78 6d 6c 2d 67 | ........................(esxml-g |
| a500 | 65 74 2d 74 61 67 73 20 73 65 78 70 20 74 61 67 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | et-tags.sexp.tags))............. |
| a520 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 64 79 29 29 29 29 29 29 0a 0a 28 | ...................body))))))..( |
| a540 | 64 65 66 75 6e 20 65 73 78 6d 6c 2d 67 65 74 2d 66 6f 72 6d 73 20 28 65 73 78 6d 6c 29 0a 20 20 | defun.esxml-get-forms.(esxml)... |
| a560 | 22 52 65 74 75 72 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 66 6f 72 6d 73 2e 22 0a 20 | "Returns.a.list.of.all.forms.".. |
| a580 | 20 28 65 73 78 6d 6c 2d 67 65 74 2d 74 61 67 73 20 65 73 78 6d 6c 20 27 28 66 6f 72 6d 29 29 29 | .(esxml-get-tags.esxml.'(form))) |
| a5a0 | 0a 0a 3b 3b 20 74 61 6b 65 6e 20 66 72 6f 6d 20 6b 76 0a 28 64 65 66 6d 61 63 72 6f 20 65 73 78 | ..;;.taken.from.kv.(defmacro.esx |
| a5c0 | 6d 6c 2d 64 65 73 74 72 75 63 74 75 72 69 6e 67 2d 6d 61 70 63 61 72 20 28 61 72 67 73 20 73 65 | ml-destructuring-mapcar.(args.se |
| a5e0 | 78 70 20 73 65 71 29 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 32 29 29 0a 20 | xp.seq)...(declare.(indent.2)).. |
| a600 | 20 28 6c 65 74 20 28 28 65 6e 74 72 79 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 65 6e 74 72 | .(let.((entry.(make-symbol."entr |
| a620 | 79 22 29 29 29 0a 20 20 20 20 60 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 2c 65 6e 74 | y"))).....`(mapcar.(lambda.(,ent |
| a640 | 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 64 65 73 74 72 75 63 74 75 | ry)................(cl-destructu |
| a660 | 72 69 6e 67 2d 62 69 6e 64 20 2c 61 72 67 73 20 2c 65 6e 74 72 79 20 2c 73 65 78 70 29 29 0a 20 | ring-bind.,args.,entry.,sexp)).. |
| a680 | 20 20 20 20 20 20 20 20 20 20 20 20 2c 73 65 71 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 65 | ............,seq)))..(provide.'e |
| a6a0 | 73 78 6d 6c 29 0a 3b 3b 3b 20 65 73 78 6d 6c 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 | sxml).;;;.esxml.el.ends.here.... |
| a6c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a6e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a7a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a7c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a7e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a8a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a8c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a8e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a9a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a9c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| a9e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| aa00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| aa20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| aa40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| aa60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| aa80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| aaa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| aac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| aae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ab00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ab20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ab40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ab60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ab80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| aba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| abc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| abe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ac00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ac20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ac40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ac60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ac80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| aca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| acc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ace0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ad00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ad20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ad40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ad60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ad80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ada0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| adc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ade0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ae00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ae20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ae40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ae60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ae80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| aea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| aec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| aee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| af00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| af20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| af40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| af60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| af80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| afa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| afc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| afe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b0a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b0c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b0e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b1a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b1c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b1e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b2a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b2c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b2e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b3a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b3c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b3e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b4a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b4c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b4e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b5a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b5c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b5e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b6a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b6c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b6e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b7a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b7c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b7e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b8a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b8c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b8e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b9a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b9c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b9e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ba00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ba20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ba40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ba60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ba80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| baa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| bac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| bae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| bb00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| bb20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| bb40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| bb60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| bb80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| bba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| bbc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| bbe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| bc00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| bc20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| bc40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| bc60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| bc80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| bca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| bcc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| bce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| bd00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| bd20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| bd40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| bd60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| bd80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| bda0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| bdc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| bde0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| be00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| be20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| be40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| be60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| be80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| bea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| bec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| bee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| bf00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| bf20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| bf40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| bf60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| bf80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| bfa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| bfc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| bfe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c0a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c0c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c0e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c1a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c1c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c1e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c2a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c2c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c2e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c3a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c3c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c3e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c4a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c4c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c4e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c5a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c5c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c5e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c6a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c6c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c6e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c7a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c7c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| c7e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |