self_closing_tag Function

private pure function self_closing_tag(self, is_indented) result(tag_)

Arguments

TypeIntentOptionalAttributesName
class(xml_tag), intent(in) :: self
logical, intent(in), optional :: is_indented

Return Value character(len=:),allocatable


Contents

Source Code


Source Code

  pure function self_closing_tag(self, is_indented) result(tag_)
  !< Return `<tag_name.../>` self closing tag.
  class(xml_tag), intent(in)           :: self        !< XML tag.
  logical,        intent(in), optional :: is_indented !< Flag to check if tag is indented.
  character(len=:), allocatable        :: tag_        !< The self closing tag string.

  tag_ = '<'//self%tag_name
  if (self%attributes_number>0) tag_ = tag_//' '//self%attributes()
  tag_ = tag_//'/>'
  if (present(is_indented)) then
    if (is_indented) tag_ = repeat(' ', self%indent)//tag_
  endif
  endfunction self_closing_tag