Rebol Programming/build-tag
Appearance
USAGE:
[edit | edit source]BUILD-TAG values
DESCRIPTION:
[edit | edit source]Generates a tag from a composed block.
BUILD-TAG is a function value.
ARGUMENTS
[edit | edit source]- values -- Block of parens to evaluate and other data. (Type: block)
SOURCE CODE
[edit | edit source]build-tag: func [ "Generates a tag from a composed block." values [block!] "Block of parens to evaluate and other data." /local tag value-rule xml? name attribute value ][ tag: make string! 7 * length? values value-rule: [ set value issue! (value: mold value) | set value file! (value: replace/all copy value #" " "%20") | set value any-type! ] xml?: false parse compose values [ [ set name ['?xml (xml?: true) | word!] (append tag name) any [ set attribute [word! | url!] value-rule ( repend tag [#" " attribute {="} value {"}] ) | value-rule (repend tag [#" " value]) ] end (if xml? [append tag #"?"]) ] | [set name refinement! to end (tag: mold name)] ] to tag! tag ]