Handbook
Glossary
tag
XML data types
ยป
XML data classes
Prev:
xml-chunk
Next:
name
Vocabulary
xml
.
data
Class description
Tuple representing an XML tag, delegating to a
name
, containing the following slots:
attrs
an alist of names to strings
children
a
sequence
Tags implement the
Sequence protocol
by acting like a sequence of its chidren, and the
Associative mapping protocol
for getting and setting their attributes.
See also
<tag>
,
contained-tag
,
<contained-tag>
,
open-tag
Definition
USING:
sequences
;
IN:
xml.data
TUPLE:
tag
{
name
name
initial:
T{
name
}
}
{
attrs
attrs
initial:
T{
attrs
}
}
{
children
sequence
initial:
f
}
;
Methods
USING:
accessors
assocs
kernel
xml.data
;
M:
tag
>alist
[
attrs>>
]
call
\
>alist
execute
;
USING:
xml.data
xml.syntax.inverse
;
M:
tag
>xml
;
USING:
accessors
combinators
inverse
kernel
xml.data
xml.syntax.inverse
;
M:
tag
[undo-xml]
{
[
name>>
main>>
[
[
name>>
main>>
]
]
dip
[
=/fail
]
curry
compose
]
[
attrs>>
undo-attrs
]
[
children>>
[undo-xml]
[
[
children>>
]
]
dip
compose
]
}
cleave
[
tri
]
3curry
;
USING:
accessors
assocs
kernel
xml.data
;
M:
tag
assoc-clone-like
[
attrs>>
]
call
\
assoc-clone-like
execute
;
USING:
accessors
assocs
kernel
xml.data
;
M:
tag
assoc-like
[
attrs>>
]
call
\
assoc-like
execute
;
USING:
accessors
assocs
kernel
xml.data
;
M:
tag
assoc-size
[
attrs>>
]
call
\
assoc-size
execute
;
USING:
accessors
assocs
kernel
xml.data
;
M:
tag
at*
[
attrs>>
]
call
\
at*
execute
;
USING:
accessors
assocs
kernel
xml.data
;
M:
tag
clear-assoc
[
attrs>>
]
call
\
clear-assoc
execute
;
USING:
kernel
xml.data
;
M:
tag
clone
tag
clone-slots
;
USING:
accessors
assocs
kernel
xml.data
;
M:
tag
delete-at
[
attrs>>
]
call
\
delete-at
execute
;
USING:
xml.data
xml.syntax.private
;
M:
tag
interpolate-item
interpolate-tag
;
USING:
accessors
kernel
sequences
xml.data
;
M:
tag
length
[
children>>
]
call
\
length
execute
;
USING:
accessors
kernel
sequences
xml.data
;
M:
tag
lengthen
[
children>>
]
call
\
lengthen
execute
;
USING:
accessors
kernel
sequences
xml.data
;
M:
tag
like
over
tag?
[
drop
]
[
[
name>>
]
keep
attrs>>
rot
dup
[
V{
}
like
]
when
<tag>
]
if
;
USING:
accessors
assocs
kernel
xml.data
;
M:
tag
new-assoc
[
attrs>>
]
call
\
new-assoc
execute
;
USING:
accessors
kernel
sequences
xml.data
;
M:
tag
new-resizable
[
children>>
]
call
\
new-resizable
execute
;
USING:
accessors
kernel
sequences
xml.data
;
M:
tag
new-sequence
[
children>>
]
call
\
new-sequence
execute
;
USING:
accessors
kernel
sequences
xml.data
;
M:
tag
nth
[
children>>
]
call
\
nth
execute
;
USING:
accessors
kernel
sequences.private
xml.data
;
M:
tag
nth-unsafe
[
children>>
]
call
\
nth-unsafe
execute
;
USING:
accessors
assocs
kernel
xml.data
;
M:
tag
set-at
[
attrs>>
]
call
\
set-at
execute
;
USING:
accessors
kernel
sequences
xml.data
;
M:
tag
set-length
[
children>>
]
call
\
set-length
execute
;
USING:
accessors
kernel
sequences
xml.data
;
M:
tag
set-nth
[
children>>
]
call
\
set-nth
execute
;
USING:
accessors
kernel
sequences.private
xml.data
;
M:
tag
set-nth-unsafe
[
children>>
]
call
\
set-nth-unsafe
execute
;