5Parses an XML node from a [`++cord`](), producing a [`++unit`]() [`++manx`]().
21 =< |=(a=cord (rush a apex))
27 ~zod/try=> (poxa '<div />')
28 [~ [g=[n=%div a=~] c=~]]
29 ~zod/try=> (poxa '<html><head/> <body/></html>')
30 [~ [g=[n=%html a=~] c=~[[g=[n=%head a=~] c=~] [g=[n=%body a=~] c=~]]]]
31 ~zod/try=> (poxa '<script src="/gep/hart.js"/>')
32 [~ [g=[n=%script a=~[[n=%src v="/gep/hart.js"]]] c=~]]
33 ~zod/try=> (poxa '<<<<')
40Parses a node of XML, type [`++manx`]().
56 =+ spa=;~(pose comt whit)
58 %+ ifix [(star spa) (star spa)]
60 %+ sear |=([a=marx b=marl c=mane] ?.(=(c n.a) ~ (some [a b])))
61 ;~(plug head (more (star comt) ;~(pose apex chrd)) tail)
69 ~zod/try=> (rash '<div />' apex:poxa)
71 ~zod/try=> (rash '<html><head/> <body/></html>' apex:poxa)
72 [g=[n=%html a=~] c=~[[g=[n=%head a=~] c=~] [g=[n=%body a=~] c=~]]]
73 ~zod/try=> (rash '<script src="/gep/hart.js"/>' apex:poxa)
74 [g=[n=%script a=~[[n=%src v="/gep/hart.js"]]] c=~]
75 ~zod/try=> (rash '<<<<' apex:poxa)
83Parses the list of attributes inside the opening XML tag, which is zero
84or more space-prefixed name to string values.
105 (ifix [doq doq] (star ;~(less doq escp)))
106 (ifix [soq soq] (star ;~(less soq escp)))
114 ~zod/try=> (rash '' attr:poxa)
116 ~zod/try=> (rash 'sam=""' attr:poxa)
119 ~zod/try=> (rash ' sam=""' attr:poxa)
121 ~zod/try=> (rash ' sam="hek"' attr:poxa)
123 ~zod/try=> (rash ' sam="hek" res="actor"' attr:poxa)
124 ~[[n=%sam v="hek"] [n=%res v="actor"]]
125 ~zod/try=> (rash ' sam=\'hek\' res="actor"' attr:poxa)
126 ~[[n=%sam v="hek"] [n=%res v="actor"]]
127 ~zod/try=> (rash ' sam=\'hek" res="actor"' attr:poxa)
135Parsing rule. Parses XML character data.
150 ++ chrd :: character data
151 %+ cook |=(a=tape ^-(mars :/(a)))
152 (plus ;~(less soq doq ;~(pose (just `@`10) escp)))
158 ~zod/try=> (rash 'asa' chrd:poxa)
159 [g=[n=%$ a=~[[n=%$ v="asa"]]] c=~]
160 ~zod/try=> (rash 'asa > are' chrd:poxa)
161 [g=[n=%$ a=~[[n=%$ v="asa > are"]]] c=~]
162 ~zod/try=> (rash 'asa > are' chrd:poxa)
170Parsing rule. Parses XML comment blocks.
186 =- (ifix [(jest '<!--') (jest '-->')] (star -))
190 ;~(less (jest '-->') hep)
198 ~zod/try=> (rash '<!-- bye -->' comt:poxa)
200 ~zod/try=> (rash '<!-- bye ><<<>< - - -->' comt:poxa)
202 ~zod/try=> (rash '<!-- invalid -->-->' comt:poxa)
208Parse (possibly) escaped char
210Parsing rule. Parses a nonspecial or escaped character. Result type
221The [`++edge`]() of a [`++cord`]().
228 ;~(less gal gar pam prn)
229 (cold '>' (jest '>'))
230 (cold '<' (jest '<'))
231 (cold '&' (jest '&'))
232 (cold '"' (jest '"'))
233 (cold '\'' (jest '''))
239 ~zod/try=> (rash 'a' escp:poxa)
241 ~zod/try=> (rash 'ab' escp:poxa)
244 ~zod/try=> (rash '.' escp:poxa)
246 ~zod/try=> (rash '!' escp:poxa)
248 ~zod/try=> (rash '>' escp:poxa)
251 ~zod/try=> (rash '>' escp:poxa)
253 ~zod/try=> (rash '"' escp:poxa)
258Parse self-closing tag
260Parsing rule. Parses self-closing XML tags that end in `/>`.
276 ++ empt :: self-closing tag
277 %+ ifix [gal (jest '/>')]
278 ;~(plug ;~(plug name attr) (cold ~ (star whit)))
284 ~zod/try=> (rash '<div/>' empt:poxa)
286 ~zod/try=> (rash '<pre color="#eeffee" />' empt:poxa)
287 [[%pre ~[[n=%color v="#eeffee"]]] ~]
288 ~zod/try=> (rash '<pre color="#eeffee"></pre>' empt:poxa)
296Parsing rule. Parses the opening tag of an XML node. Result type
312 ++ head :: opening tag
313 (ifix [gal gar] ;~(plug name attr))
319 ~zod/try=> (rash '<a>' head:poxa)
321 ~zod/try=> (rash '<div mal="tok">' head:poxa)
322 [n=%div a=~[[n=%mal v="tok"]]]
323 ~zod/try=> (rash '<div mal="tok" />' head:poxa)
331Parsing rule. Parses the name of an XML tag.
341An [`++edge`]() of a [`++mane`]().
352 (star ;~(pose cab dot alp))
354 ;~(pose ;~(plug ;~(sfix chx col) chx) chx)
360 ~zod/try=> (scan "ham" name:poxa)
362 ~zod/try=> (scan "ham:tor" name:poxa)
364 ~zod/try=> (scan "ham-tor" name:poxa)
366 ~zod/try=> (scan "ham tor" name:poxa)
374Parsing rule. Parses an XML closing tag.
389 ++ tail (ifix [(jest '</') gar] name) :: closing tag
394 ~zod/try=> (scan "</div>" tail:poxa)
396 ~zod/try=> (scan "</a>" tail:poxa)
398 ~zod/try=> (scan "</>" tail:poxa)
404Parse whitespace, etc.
406Parsing rule. Parses newlines, tabs, and spaces.
421 ++ whit (mask ~[' ' `@`0x9 `@`0xa]) :: whitespace
427 ~zod/try=> `@`(scan " " whit:poxa)
429 ~zod/try=> `@`(scan " " whit:poxa)
432 ~zod/try=> `@`(scan "\0a" whit:poxa)
434 ~zod/try=> `@`(scan "\09" whit:poxa)
436 ~zod/try=> `@`(scan "\08" whit:poxa)
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list