Hi, Hallvard,

There's more consistency that meets the eye, just not well
documented...

Hallvard Ystad wrote:
> 
> Hi again
> 
> OK, so I accept that RT wants all characters in tags to be
> accessible, so that <a href=""> and <a href = ""> are not
> alike. But how about this:
> 
> >> print <a href="">
> <a href="">
> >> print join <a href=""> "^/"
> <a href=""
> >
> >>
> 
> It seems JOIN <a href=""> "^/" puts in the linebreak too early.
>

Think of TAG! as a subtype of STRING! which uses < and > as its
delimiters instead of " and " or { and } .

Consider this console transcript, which makes it clear that the
corner-brackets are the syntax that identifies a tag, but are
not part of the tag's data content:

    >> foo: <a href="">
    == <a href="">
    >> foreach item foo [print item]
    a
    
    h
    r
    e
    f
    =
    "
    "

Now let's try another example:

    >> baz: join foo { border="0"}
    == <a href="" border="0">

which shows that JOIN (as well as the other series operations,
including APPEND, etc.) will operate on the *data*content* of
the tag, which doesn't include the delimiters.  I simply used
a printable string instead of the whitespace value of "^/" to
make the illustration more visible.

After all, if I wrote

    foo: {a href=""}

and then evaluated

    join foo "###"

you'd expect to get a result which would MOLD something like

    {a href=""###}

instead of

    {a href=""}###

wouldn't you?

>
> Or am I mistaken again? If I FORM or MOLD the TAG!, it seems
> to work fine...
> 

But the effect of FORM or MOLD is to manufacture a STRING! value
from other data types.  It just happens that the external format
for a TAG! value is always bracketed with the < and > to make it
clear that we're dealing with something other than a plain string.

HTH!

-jn-

-- 
; sub REBOL {}; sub head ($) {@_[0]}
REBOL []
# despam: func [e] [replace replace/all e ":" "." "#" "@"]
; sub despam {my ($e) = @_; $e =~ tr/:#/.@/; return "\n$e"}
print head reverse despam "moc:xedef#yleen:leoj" ;
-- 
To unsubscribe from this list, please send an email to
[EMAIL PROTECTED] with "unsubscribe" in the 
subject, without the quotes.

Reply via email to