our
$VERSION
= 3.004;
sub
start_tag {
return
q{}
if
(!
$#_
);
return
q{}
if
(!
exists
$_
[1]->{ name });
return
qq{ $_[1]->{name}
="}
if
$_
[1]->{ attr };
return
join
q{}
,
"<$_[1]->{ name }"
,
(
defined
$_
[1]->{ xmlns }) ?
qq{ xmlns="$_[1]->{ xmlns }
"} : (),
$_
[0]->serialize_attr(
$_
[1]) ,
q{ xsi:nil="true"/>}
if
(
$_
[1]->{ nil });
return
join
q{}
,
"<$_[1]->{ name }"
,
(
defined
$_
[1]->{ xmlns }) ?
qq{ xmlns="$_[1]->{ xmlns }
"} : (),
$_
[0]->serialize_attr(
$_
[1]) ,
'/>'
if
(
$_
[1]->{ empty });
return
join
q{}
,
"<$_[1]->{ name }"
,
(
defined
$_
[1]->{ xmlns }) ?
qq{ xmlns="$_[1]->{ xmlns }
"} : (),
,
$_
[0]->serialize_attr(
$_
[1])
,
'>'
;
}
sub
end_tag {
return
q{}
if
(!
$#_
);
return
q{}
if
(!
exists
$_
[1]->{ name });
return
q{"}
if
$_
[1]->{ attr };
return
"</$_[1]->{name}>"
;
};
sub
serialize_attr {};
sub
serialize_qualified :STRINGIFY {
return
$_
[0]->serialize( {
qualified
=> 1 } );
}
sub
as_list :ARRAYIFY {
return
[
$_
[0] ];
}
Class::Std::initialize();
1;