create_tag_nested Function

private pure function create_tag_nested(name, content, attribute, attributes, attributes_stream, sanitize_attributes_value, pos, indent, is_content_indented, id, level, parent_id, attributes_stream_alloc, content_alloc) result(tag)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: name
type(xml_tag), intent(in) :: content
character(len=*), intent(in), optional :: attribute(1:)
character(len=*), intent(in), optional :: attributes(1:,1:)
character(len=*), intent(in), optional :: attributes_stream
logical, intent(in), optional :: sanitize_attributes_value
integer(kind=I4P), intent(in), optional :: pos(1:)
integer(kind=I4P), intent(in), optional :: indent
logical, intent(in), optional :: is_content_indented
integer(kind=I4P), intent(in), optional :: id
integer(kind=I4P), intent(in), optional :: level
integer(kind=I4P), intent(in), optional :: parent_id
character(len=:), intent(in), optional, allocatable :: attributes_stream_alloc
character(len=:), intent(in), optional, allocatable :: content_alloc

Return Value type(xml_tag)


Calls

proc~~create_tag_nested~~CallsGraph proc~create_tag_nested create_tag_nested proc~set xml_tag%set proc~create_tag_nested->proc~set proc~stringify xml_tag%stringify proc~create_tag_nested->proc~stringify proc~add_multiple_attributes xml_tag%add_multiple_attributes proc~set->proc~add_multiple_attributes proc~add_single_attribute xml_tag%add_single_attribute proc~set->proc~add_single_attribute proc~add_stream_attributes xml_tag%add_stream_attributes proc~set->proc~add_stream_attributes interface~str str proc~stringify->interface~str proc~attributes xml_tag%attributes proc~stringify->proc~attributes proc~chars string%chars proc~stringify->proc~chars proc~end_tag xml_tag%end_tag proc~stringify->proc~end_tag proc~is_allocated string%is_allocated proc~stringify->proc~is_allocated proc~self_closing_tag xml_tag%self_closing_tag proc~stringify->proc~self_closing_tag proc~start_tag xml_tag%start_tag proc~stringify->proc~start_tag proc~str_a_i1p str_a_I1P interface~str->proc~str_a_i1p proc~str_a_i2p str_a_I2P interface~str->proc~str_a_i2p proc~str_a_i4p str_a_I4P interface~str->proc~str_a_i4p proc~str_a_i8p str_a_I8P interface~str->proc~str_a_i8p proc~str_a_r4p str_a_R4P interface~str->proc~str_a_r4p proc~str_a_r8p str_a_R8P interface~str->proc~str_a_r8p proc~str_bol str_bol interface~str->proc~str_bol proc~str_i1p str_I1P interface~str->proc~str_i1p proc~str_i2p str_I2P interface~str->proc~str_i2p proc~str_i4p str_I4P interface~str->proc~str_i4p proc~str_i8p str_I8P interface~str->proc~str_i8p proc~str_r4p str_R4P interface~str->proc~str_r4p proc~str_r8p str_R8P interface~str->proc~str_r8p proc~strf_i1p strf_I1P interface~str->proc~strf_i1p proc~strf_i2p strf_I2P interface~str->proc~strf_i2p proc~strf_i4p strf_I4P interface~str->proc~strf_i4p proc~strf_i8p strf_I8P interface~str->proc~strf_i8p proc~strf_r4p strf_R4P interface~str->proc~strf_r4p proc~strf_r8p strf_R8P interface~str->proc~strf_r8p proc~add_multiple_attributes->proc~add_single_attribute proc~alloc_attributes xml_tag%alloc_attributes proc~add_single_attribute->proc~alloc_attributes proc~add_stream_attributes->proc~add_single_attribute proc~fill string%fill proc~add_stream_attributes->proc~fill proc~partition string%partition proc~add_stream_attributes->proc~partition proc~slice string%slice proc~add_stream_attributes->proc~slice proc~self_closing_tag->proc~attributes proc~start_tag->proc~attributes proc~str_a_i1p->proc~str_i1p proc~str_a_i2p->proc~str_i2p proc~str_a_i4p->proc~str_i4p proc~str_a_i8p->proc~str_i8p proc~str_a_r4p->proc~str_r4p proc~str_a_r8p->proc~str_r8p proc~compact_real_string compact_real_string proc~str_r4p->proc~compact_real_string proc~str_r8p->proc~compact_real_string

Called by

proc~~create_tag_nested~~CalledByGraph proc~create_tag_nested create_tag_nested interface~xml_tag xml_tag interface~xml_tag->proc~create_tag_nested

Source Code

   pure function create_tag_nested(name, content, attribute, attributes, attributes_stream, sanitize_attributes_value, pos, indent,&
                                   is_content_indented, id, level, parent_id, attributes_stream_alloc, content_alloc) result(tag)
   !< Return an instance of xml tag with value being a nested tag.
   character(*),              intent(in)           :: name                      !< Tag name.
   type(xml_tag),             intent(in)           :: content                   !< Tag value as nested tag..
   character(*),              intent(in), optional :: attribute(1:)             !< Attribute name/value pair [1:2].
   character(*),              intent(in), optional :: attributes(1:,1:)         !< Attributes list of name/value pairs [1:2,1:].
   character(*),              intent(in), optional :: attributes_stream         !< Attributes list as single stream.
   logical,                   intent(in), optional :: sanitize_attributes_value !< Sanitize attributes value.
   integer(I4P),              intent(in), optional :: pos(1:)                   !< Characters position (in source) indexes.
   integer(I4P),              intent(in), optional :: indent                    !< Number of indent-white-spaces.
   logical,                   intent(in), optional :: is_content_indented       !< Activate value indentation.
   integer(I4P),              intent(in), optional :: id                        !< Uniq ID.
   integer(I4P),              intent(in), optional :: level                     !< Tag hierarchy level.
   integer(I4P),              intent(in), optional :: parent_id                 !< Parent uniq ID.
   character(:), allocatable, intent(in), optional :: attributes_stream_alloc   !< Attributes list stream, allocatable input.
   character(:), allocatable, intent(in), optional :: content_alloc             !< Tag value, allocatable input.
   type(xml_tag)                                   :: tag                       !< XML tag.

   call tag%set(name=name,                                           &
                attribute=attribute,                                 &
                attributes=attributes,                               &
                content=content%stringify(),                         &
                sanitize_attributes_value=sanitize_attributes_value, &
                attributes_stream=attributes_stream,                 &
                pos=pos,                                             &
                indent=indent,                                       &
                is_content_indented=is_content_indented,             &
                id=id,                                               &
                level=level,                                         &
                parent_id=parent_id,                                 &
                attributes_stream_alloc=attributes_stream_alloc,     &
                content_alloc=content_alloc)
   endfunction create_tag_nested