+++ title = "5e: Molds and mold builders" weight = 47 template = "doc.html" +++ ## `+$mane` XML name+space XML tag name and optional namespace. #### Source ```hoon +$ mane $@(@tas [@tas @tas]) ``` #### Examples ``` > (en-xml:html ;foo;) "" > (en-xml:html ;foo_bar;) "" > `manx`;foo_bar; [g=[n=[%foo %bar] a=~] c=~] > `mane`n.g:`manx`;foo_bar; [%foo %bar] > `mane`n.g:`manx`;foo; %foo ``` --- ## `+$manx` Dynamic XML node An XML element which may contain text, attributes, and other elements. `g` is a [`$marx`](#marx) (a tag) and `c` is a [`$marl`](#marl) (its contents). #### Source ```hoon +$ manx $~([[%$ ~] ~] [g=marx c=marl]) ``` #### Examples ``` > *manx [g=[n=%$ a=~] c=~ > `manx`;foo; [g=[n=%foo a=~] c=~] > (en-xml:html `manx`;foo;) "" > =a ^- manx ;foo ;bar: abc ;baz ;xxx: hello == == > a [ g=[n=%foo a=~] c ~[ [ g=[n=%bar a=~] c=~[[g=[n=%$ a=~[[n=%$ v="abc"]]] c=~]] ] [ g=[n=%baz a=~] c ~[ [ g=[n=%xxx a=~] c=~[[g=[n=%$ a=~[[n=%$ v="hello"]]] c=~]] ] ] ] ] ] > (en-xml:html a) "abchello" ``` --- ## `+$marl` XML node list A list of XML nodes ([`$marx`](#marx)). #### Source ```hoon +$ marl (list manx) ``` #### Examples ``` > *marl ~ > ^- marl ;= ;foo: abc ;bar: def == ~[ [g=[n=%foo a=~] c=~[[g=[n=%$ a=~[[n=%$ v=~['a' 'b' 'c']]]] c=~]]] [g=[n=%bar a=~] c=~[[g=[n=%$ a=~[[n=%$ v=~['d' 'e' 'f']]]] c=~]]] ] > %- en-xml:html ;baz ;= ;foo: abc ;bar: def == == "abcdef" ``` --- ## `+$mars` XML cdata #### Source ```hoon +$ mars [t=[n=%$ a=[i=[n=%$ v=tape] t=~]] c=~] ``` --- ## `+$mart` XML attributes A list of atributes for an XML tag. For each list item, `n` is a [`$mane`](#mane) (an attribute name with optional namespace) and `v` is a `tape` (the attribute itself). #### Source ```hoon +$ mart (list [n=mane v=tape]) ``` #### Examples ``` > *mart ~ > `manx`;foo.bar; [g=[n=%foo a=~[[n=%class v="bar"]]] c=~] > `mart`a.g:`manx`;foo.bar; ~[[n=%class v="bar"]] > (en-xml:html ;foo.bar;) "" ``` --- ## `+$marx` Dynamic XML tag An XML tag with optional attributes. `n` is a [`$mane`](#mane) (the tag name with optional namespace) and `a` is a [`$mart`](marthoot) (any XML attributes). #### Source ```hoon +$ marx $~([%$ ~] [n=mane a=mart]) ``` #### Examples ``` > `manx`;foo.bar; [g=[n=%foo a=~[[n=%class v="bar"]]] c=~] > `marx`g:`manx`;foo.bar; [n=%foo a=~[[n=%class v="bar"]]] > (en-xml:html ;foo.bar;) "" ``` --- ## `+$mite` MIME type This type represents a MIME type like `text/plain` as a `path`. #### Source ```hoon +$ mite (list @ta) ``` #### Examples ``` > `mite`/text/plain /text/plain ``` --- ## `+$pass` Public key This type is used for a ship's public key, as an atom. #### Source ```hoon +$ pass @ ``` --- ## `+$ring` Private key This type is used for a ship's private key, as an atom. #### Source ```hoon +$ ring @ ``` --- ## `+$ship` Network identity Just an `@p` #### Source ```hoon +$ ship @p ``` #### Examples ``` > *ship ~zod > `ship`~sampel-palnet ~sampel-palnet ``` --- ## `+$shop` Urbit/DNS identity Either a [`$ship`](#ship) or a domain name as a `path`. #### Source ```hoon +$ shop (each ship (list @ta)) ``` --- ## `+$spur` ship desk case spur The part of a Clay `path` after the `%`. #### Source ```hoon +$ spur path ``` --- ## `+$time` Galactic time Just a `@da` #### Source ```hoon +$ time @da ``` #### Examples ``` > *time ~2000.1.1 ``` ---