write_start_tag Subroutine

private subroutine write_start_tag(self, name, attributes)

Type Bound

xml_writer_abstract

Arguments

Type IntentOptional Attributes Name
class(xml_writer_abstract), intent(inout) :: self
character(len=*), intent(in) :: name
character(len=*), intent(in), optional :: attributes

Calls

proc~~write_start_tag~~CallsGraph proc~write_start_tag xml_writer_abstract%write_start_tag proc~stringify xml_tag%stringify proc~write_start_tag->proc~stringify 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~attributes xml_tag%attributes proc~self_closing_tag->proc~attributes proc~start_tag->proc~attributes

Called by

proc~~write_start_tag~~CalledByGraph proc~write_start_tag xml_writer_abstract%write_start_tag proc~write_connectivity xml_writer_abstract%write_connectivity proc~write_connectivity->proc~write_start_tag none~write_dataarray xml_writer_abstract%write_dataarray proc~write_connectivity->none~write_dataarray proc~write_dataarray_appended xml_writer_appended%write_dataarray_appended proc~write_dataarray_appended->proc~write_start_tag proc~write_dataarray_location_tag xml_writer_abstract%write_dataarray_location_tag proc~write_dataarray_location_tag->proc~write_start_tag proc~write_fielddata_tag xml_writer_abstract%write_fielddata_tag proc~write_fielddata_tag->proc~write_start_tag proc~write_geo_rect_data3_rank1_r4p xml_writer_abstract%write_geo_rect_data3_rank1_R4P proc~write_geo_rect_data3_rank1_r4p->proc~write_start_tag proc~write_geo_rect_data3_rank1_r4p->none~write_dataarray proc~write_geo_rect_data3_rank1_r8p xml_writer_abstract%write_geo_rect_data3_rank1_R8P proc~write_geo_rect_data3_rank1_r8p->proc~write_start_tag proc~write_geo_rect_data3_rank1_r8p->none~write_dataarray proc~write_geo_strg_data1_rank2_r4p xml_writer_abstract%write_geo_strg_data1_rank2_R4P proc~write_geo_strg_data1_rank2_r4p->proc~write_start_tag proc~write_geo_strg_data1_rank2_r4p->none~write_dataarray proc~write_geo_strg_data1_rank2_r8p xml_writer_abstract%write_geo_strg_data1_rank2_R8P proc~write_geo_strg_data1_rank2_r8p->proc~write_start_tag proc~write_geo_strg_data1_rank2_r8p->none~write_dataarray proc~write_geo_strg_data1_rank4_r4p xml_writer_abstract%write_geo_strg_data1_rank4_R4P proc~write_geo_strg_data1_rank4_r4p->proc~write_start_tag proc~write_geo_strg_data1_rank4_r4p->none~write_dataarray proc~write_geo_strg_data1_rank4_r8p xml_writer_abstract%write_geo_strg_data1_rank4_R8P proc~write_geo_strg_data1_rank4_r8p->proc~write_start_tag proc~write_geo_strg_data1_rank4_r8p->none~write_dataarray proc~write_geo_strg_data3_rank1_r4p xml_writer_abstract%write_geo_strg_data3_rank1_R4P proc~write_geo_strg_data3_rank1_r4p->proc~write_start_tag proc~write_geo_strg_data3_rank1_r4p->none~write_dataarray proc~write_geo_strg_data3_rank1_r8p xml_writer_abstract%write_geo_strg_data3_rank1_R8P proc~write_geo_strg_data3_rank1_r8p->proc~write_start_tag proc~write_geo_strg_data3_rank1_r8p->none~write_dataarray proc~write_geo_strg_data3_rank3_r4p xml_writer_abstract%write_geo_strg_data3_rank3_R4P proc~write_geo_strg_data3_rank3_r4p->proc~write_start_tag proc~write_geo_strg_data3_rank3_r4p->none~write_dataarray proc~write_geo_strg_data3_rank3_r8p xml_writer_abstract%write_geo_strg_data3_rank3_R8P proc~write_geo_strg_data3_rank3_r8p->proc~write_start_tag proc~write_geo_strg_data3_rank3_r8p->none~write_dataarray proc~write_geo_unst_data1_rank2_r4p xml_writer_abstract%write_geo_unst_data1_rank2_R4P proc~write_geo_unst_data1_rank2_r4p->proc~write_start_tag proc~write_geo_unst_data1_rank2_r4p->none~write_dataarray proc~write_geo_unst_data1_rank2_r8p xml_writer_abstract%write_geo_unst_data1_rank2_R8P proc~write_geo_unst_data1_rank2_r8p->proc~write_start_tag proc~write_geo_unst_data1_rank2_r8p->none~write_dataarray proc~write_geo_unst_data3_rank1_r4p xml_writer_abstract%write_geo_unst_data3_rank1_R4P proc~write_geo_unst_data3_rank1_r4p->proc~write_start_tag proc~write_geo_unst_data3_rank1_r4p->none~write_dataarray proc~write_geo_unst_data3_rank1_r8p xml_writer_abstract%write_geo_unst_data3_rank1_R8P proc~write_geo_unst_data3_rank1_r8p->proc~write_start_tag proc~write_geo_unst_data3_rank1_r8p->none~write_dataarray proc~write_parallel_open_block xml_writer_abstract%write_parallel_open_block proc~write_parallel_open_block->proc~write_start_tag proc~write_piece_start_tag xml_writer_abstract%write_piece_start_tag proc~write_piece_start_tag->proc~write_start_tag proc~write_piece_start_tag_unst xml_writer_abstract%write_piece_start_tag_unst proc~write_piece_start_tag_unst->proc~write_start_tag proc~write_topology_tag xml_writer_abstract%write_topology_tag proc~write_topology_tag->proc~write_start_tag none~write_dataarray->proc~write_dataarray_location_tag none~write_fielddata xml_writer_abstract%write_fielddata none~write_fielddata->proc~write_fielddata_tag proc~write_fielddata1_rank0 xml_writer_abstract%write_fielddata1_rank0 none~write_fielddata->proc~write_fielddata1_rank0 none~write_geo xml_writer_abstract%write_geo none~write_geo->proc~write_geo_rect_data3_rank1_r4p none~write_geo->proc~write_geo_rect_data3_rank1_r8p none~write_geo->proc~write_geo_strg_data1_rank2_r4p none~write_geo->proc~write_geo_strg_data1_rank2_r8p none~write_geo->proc~write_geo_strg_data1_rank4_r4p none~write_geo->proc~write_geo_strg_data1_rank4_r8p none~write_geo->proc~write_geo_strg_data3_rank1_r4p none~write_geo->proc~write_geo_strg_data3_rank1_r8p none~write_geo->proc~write_geo_strg_data3_rank3_r4p none~write_geo->proc~write_geo_strg_data3_rank3_r8p none~write_geo->proc~write_geo_unst_data1_rank2_r4p none~write_geo->proc~write_geo_unst_data1_rank2_r8p none~write_geo->proc~write_geo_unst_data3_rank1_r4p none~write_geo->proc~write_geo_unst_data3_rank1_r8p none~write_piece xml_writer_abstract%write_piece none~write_piece->proc~write_piece_start_tag none~write_piece->proc~write_piece_start_tag_unst proc~finalize~2 xml_writer_appended%finalize proc~finalize~2->proc~write_dataarray_appended proc~initialize xml_writer_appended%initialize proc~initialize->proc~write_topology_tag proc~initialize~3 xml_writer_binary_local%initialize proc~initialize~3->proc~write_topology_tag proc~initialize~6 xml_writer_ascii_local%initialize proc~initialize~6->proc~write_topology_tag proc~write_block_array vtm_file%write_block_array proc~write_block_array->proc~write_parallel_open_block proc~write_block_string vtm_file%write_block_string proc~write_block_string->proc~write_parallel_open_block proc~write_data~3 write_data proc~write_data~3->proc~write_connectivity proc~write_data~3->none~write_dataarray proc~write_data~3->none~write_geo proc~write_data~3->none~write_piece proc~write_data~4 write_data proc~write_data~4->proc~write_connectivity proc~write_data~4->none~write_dataarray proc~write_data~4->none~write_geo proc~write_data~4->none~write_piece none~write_block vtm_file%write_block none~write_block->proc~write_block_array none~write_block->proc~write_block_string proc~write_check write_check proc~write_check->none~write_dataarray proc~write_check->none~write_fielddata proc~write_check->none~write_geo proc~write_check->none~write_piece proc~write_data write_data proc~write_data->none~write_dataarray proc~write_data->none~write_geo proc~write_data->none~write_piece proc~write_data~2 write_data proc~write_data~2->none~write_dataarray proc~write_data~2->none~write_geo proc~write_data~2->none~write_piece proc~write_fielddata1_rank0->none~write_dataarray proc~write_pvts write_pvts proc~write_pvts->none~write_dataarray proc~write_slave write_slave proc~write_slave->none~write_dataarray proc~write_slave->none~write_fielddata proc~write_slave->none~write_geo proc~write_slave->none~write_piece proc~write_vts write_vts proc~write_vts->none~write_dataarray proc~write_vts->none~write_geo proc~write_vts->none~write_piece program~vtk_fortran_write_vtr vtk_fortran_write_vtr program~vtk_fortran_write_vtr->none~write_dataarray program~vtk_fortran_write_vtr->none~write_fielddata program~vtk_fortran_write_vtr->none~write_geo program~vtk_fortran_write_vtr->none~write_piece program~vtk_fortran_write_vtu vtk_fortran_write_vtu program~vtk_fortran_write_vtu->proc~write_data~3 program~vtk_fortran_write_vtu~2 vtk_fortran_write_vtu program~vtk_fortran_write_vtu~2->proc~write_data~4 proc~parse_scratch_files vtm_file%parse_scratch_files proc~parse_scratch_files->none~write_block program~vtk_fortran_write_pvts vtk_fortran_write_pvts program~vtk_fortran_write_pvts->proc~write_pvts program~vtk_fortran_write_pvts->proc~write_vts program~vtk_fortran_write_volatile vtk_fortran_write_volatile program~vtk_fortran_write_volatile->proc~write_check program~vtk_fortran_write_volatile->proc~write_slave program~vtk_fortran_write_vtm vtk_fortran_write_vtm program~vtk_fortran_write_vtm->none~write_block program~vtk_fortran_write_vtm->proc~write_data program~vtk_fortran_write_vts vtk_fortran_write_vts program~vtk_fortran_write_vts->proc~write_data~2 proc~finalize~5 vtm_file%finalize proc~finalize~5->proc~parse_scratch_files proc~initialize~4 vtm_file%initialize proc~initialize~4->proc~finalize~5

Source Code

   subroutine write_start_tag(self, name, attributes)
   !< Write `<tag_name...>` start tag.
   class(xml_writer_abstract), intent(inout)        :: self       !< Writer.
   character(*),               intent(in)           :: name       !< Tag name.
   character(*),               intent(in), optional :: attributes !< Tag attributes.

   self%tag = xml_tag(name=name, attributes_stream=attributes, sanitize_attributes_value=.true., indent=self%indent)
   if (.not.self%is_volatile) then
      call self%tag%write(unit=self%xml, iostat=self%error, is_indented=.true., end_record=end_rec, only_start=.true.)
   else
      self%xml_volatile = self%xml_volatile//self%tag%stringify(is_indented=.true., only_start=.true.)//end_rec
   endif
   self%indent = self%indent + 2
   endsubroutine write_start_tag