foxy_xml_file Module


Uses

  • module~~foxy_xml_file~~UsesGraph module~foxy_xml_file foxy_xml_file module~foxy_xml_tag foxy_xml_tag module~foxy_xml_file->module~foxy_xml_tag module~penf~6 penf module~foxy_xml_file->module~penf~6 module~foxy_xml_tag->module~penf~6 module~stringifor stringifor module~foxy_xml_tag->module~stringifor module~penf_allocatable_memory~2 penf_allocatable_memory module~penf~6->module~penf_allocatable_memory~2 module~penf_b_size~2 penf_b_size module~penf~6->module~penf_b_size~2 module~penf_global_parameters_variables~3 penf_global_parameters_variables module~penf~6->module~penf_global_parameters_variables~3 module~penf_stringify~4 penf_stringify module~penf~6->module~penf_stringify~4 module~penf_allocatable_memory~2->module~penf_global_parameters_variables~3 module~penf_allocatable_memory~2->module~penf_stringify~4 iso_fortran_env iso_fortran_env module~penf_allocatable_memory~2->iso_fortran_env module~penf_b_size~2->module~penf_global_parameters_variables~3 module~penf_stringify~4->module~penf_b_size~2 module~penf_stringify~4->module~penf_global_parameters_variables~3 module~penf_stringify~4->iso_fortran_env module~stringifor->module~penf~6 module~stringifor_string_t~2 stringifor_string_t module~stringifor->module~stringifor_string_t~2 module~stringifor_string_t~2->module~penf~6 module~stringifor_string_t~2->iso_fortran_env module~befor64~3 befor64 module~stringifor_string_t~2->module~befor64~3 module~face~3 face module~stringifor_string_t~2->module~face~3 module~befor64~3->module~penf~6 module~befor64_pack_data_m befor64_pack_data_m module~befor64~3->module~befor64_pack_data_m module~face~3->iso_fortran_env module~befor64_pack_data_m->module~penf~6

Used by

  • module~~foxy_xml_file~~UsedByGraph module~foxy_xml_file foxy_xml_file module~foxy foxy module~foxy->module~foxy_xml_file module~vtk_fortran_vtk_file_xml_writer_abstract vtk_fortran_vtk_file_xml_writer_abstract module~vtk_fortran_vtk_file_xml_writer_abstract->module~foxy program~foxy_test_add_attributes foxy_test_add_attributes program~foxy_test_add_attributes->module~foxy program~foxy_test_add_tag foxy_test_add_tag program~foxy_test_add_tag->module~foxy program~foxy_test_create_tag foxy_test_create_tag program~foxy_test_create_tag->module~foxy program~foxy_test_delete_attributes foxy_test_delete_attributes program~foxy_test_delete_attributes->module~foxy program~foxy_test_delete_content foxy_test_delete_content program~foxy_test_delete_content->module~foxy program~foxy_test_delete_tag foxy_test_delete_tag program~foxy_test_delete_tag->module~foxy program~foxy_test_indent_tag foxy_test_indent_tag program~foxy_test_indent_tag->module~foxy program~foxy_test_parse_file_simple foxy_test_parse_file_simple program~foxy_test_parse_file_simple->module~foxy program~foxy_test_parse_string_nested_tags foxy_test_parse_string_nested_tags program~foxy_test_parse_string_nested_tags->module~foxy program~foxy_test_parse_string_simple foxy_test_parse_string_simple program~foxy_test_parse_string_simple->module~foxy program~foxy_test_write_tag foxy_test_write_tag program~foxy_test_write_tag->module~foxy module~vtk_fortran_pvtk_file vtk_fortran_pvtk_file module~vtk_fortran_pvtk_file->module~vtk_fortran_vtk_file_xml_writer_abstract module~vtk_fortran_vtk_file_xml_writer_ascii_local vtk_fortran_vtk_file_xml_writer_ascii_local module~vtk_fortran_pvtk_file->module~vtk_fortran_vtk_file_xml_writer_ascii_local module~vtk_fortran_vtk_file vtk_fortran_vtk_file module~vtk_fortran_vtk_file->module~vtk_fortran_vtk_file_xml_writer_abstract module~vtk_fortran_vtk_file_xml_writer_appended vtk_fortran_vtk_file_xml_writer_appended module~vtk_fortran_vtk_file->module~vtk_fortran_vtk_file_xml_writer_appended module~vtk_fortran_vtk_file->module~vtk_fortran_vtk_file_xml_writer_ascii_local module~vtk_fortran_vtk_file_xml_writer_binary_local vtk_fortran_vtk_file_xml_writer_binary_local module~vtk_fortran_vtk_file->module~vtk_fortran_vtk_file_xml_writer_binary_local module~vtk_fortran_vtk_file_xml_writer_appended->module~vtk_fortran_vtk_file_xml_writer_abstract module~vtk_fortran_vtk_file_xml_writer_ascii_local->module~vtk_fortran_vtk_file_xml_writer_abstract module~vtk_fortran_vtk_file_xml_writer_binary_local->module~vtk_fortran_vtk_file_xml_writer_abstract module~vtk_fortran_vtm_file vtk_fortran_vtm_file module~vtk_fortran_vtm_file->module~vtk_fortran_vtk_file_xml_writer_abstract module~vtk_fortran_vtm_file->module~vtk_fortran_vtk_file_xml_writer_ascii_local module~vtk_fortran vtk_fortran module~vtk_fortran->module~vtk_fortran_pvtk_file module~vtk_fortran->module~vtk_fortran_vtk_file module~vtk_fortran->module~vtk_fortran_vtm_file program~vtk_fortran_use_module_basic vtk_fortran_use_module_basic program~vtk_fortran_use_module_basic->module~vtk_fortran program~vtk_fortran_write_pvts vtk_fortran_write_pvts program~vtk_fortran_write_pvts->module~vtk_fortran program~vtk_fortran_write_volatile vtk_fortran_write_volatile program~vtk_fortran_write_volatile->module~vtk_fortran program~vtk_fortran_write_vtm vtk_fortran_write_vtm program~vtk_fortran_write_vtm->module~vtk_fortran program~vtk_fortran_write_vtr vtk_fortran_write_vtr program~vtk_fortran_write_vtr->module~vtk_fortran program~vtk_fortran_write_vts vtk_fortran_write_vts program~vtk_fortran_write_vts->module~vtk_fortran program~vtk_fortran_write_vtu vtk_fortran_write_vtu program~vtk_fortran_write_vtu->module~vtk_fortran program~vtk_fortran_write_vtu~2 vtk_fortran_write_vtu program~vtk_fortran_write_vtu~2->module~vtk_fortran

Derived Types

type, public ::  xml_file

Components

Type Visibility Attributes Name Initial
type(xml_tag), private, allocatable :: tag(:)
integer(kind=I4P), private :: nt = 0_I4P

Finalizations Procedures

final :: finalize

Type-Bound Procedures

procedure, public, pass(self) :: add_tag
procedure, public, pass(self) :: content
procedure, public, pass(self) :: delete_tag
procedure, public, pass(self) :: free
procedure, public, pass(self) :: parse
procedure, public, pass(self) :: stringify
procedure, private, pass(self) :: add_child
procedure, private, pass(self) :: parse_from_string
procedure, private, pass(self) :: stringify_recursive

Functions

private pure function content(self, name)

Arguments

Type IntentOptional Attributes Name
class(xml_file), intent(in) :: self
character(len=*), intent(in) :: name

Return Value character(len=:), allocatable

private pure function stringify(self, linearize) result(string)

Arguments

Type IntentOptional Attributes Name
class(xml_file), intent(in) :: self
logical, intent(in), optional :: linearize

Return Value character(len=:), allocatable

private function load_file_as_stream(filename, delimiter_start, delimiter_end, fast_read, iostat, iomsg) result(stream)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: filename
character(len=*), intent(in), optional :: delimiter_start
character(len=*), intent(in), optional :: delimiter_end
logical, intent(in), optional :: fast_read
integer(kind=I4P), intent(out), optional :: iostat
character(len=*), intent(out), optional :: iomsg

Return Value character(len=:), allocatable


Subroutines

private elemental subroutine add_tag(self, tag)

Arguments

Type IntentOptional Attributes Name
class(xml_file), intent(inout) :: self
type(xml_tag), intent(in) :: tag

private elemental subroutine delete_tag(self, name)

Arguments

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

private elemental subroutine free(self)

Arguments

Type IntentOptional Attributes Name
class(xml_file), intent(inout) :: self

private subroutine parse(self, string, filename)

Arguments

Type IntentOptional Attributes Name
class(xml_file), intent(inout) :: self
character(len=*), intent(in), optional :: string
character(len=*), intent(in), optional :: filename

private pure subroutine add_child(self, parent_id, child_id)

Arguments

Type IntentOptional Attributes Name
class(xml_file), intent(inout) :: self
integer(kind=I4P), intent(in) :: parent_id
integer(kind=I4P), intent(in) :: child_id

private pure subroutine parse_from_string(self, source_string)

Arguments

Type IntentOptional Attributes Name
class(xml_file), intent(inout) :: self
character(len=*), intent(in) :: source_string

private pure recursive subroutine stringify_recursive(self, tag, is_done, tag_string)

Arguments

Type IntentOptional Attributes Name
class(xml_file), intent(in) :: self
type(xml_tag), intent(in) :: tag
logical, intent(inout) :: is_done(:)
character(len=:), intent(inout), allocatable :: tag_string

private subroutine finalize(self)

Arguments

Type IntentOptional Attributes Name
type(xml_file), intent(inout) :: self

private pure subroutine find_matching_end_tag(source, start_pos, tag_name, end_pos)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: source
integer(kind=I4P), intent(in) :: start_pos
character(len=*), intent(in) :: tag_name
integer(kind=I4P), intent(out) :: end_pos

private pure subroutine get_tag_content(source, tag_name, start_pos, content, end_pos)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: source
character(len=*), intent(in) :: tag_name
integer, intent(in) :: start_pos
character(len=:), intent(out), allocatable :: content
integer(kind=I4P), intent(out), optional :: end_pos

private pure subroutine parse_tag_name(tag_str, tag_name, attributes_str, is_closing, is_self_closing)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: tag_str
character(len=:), intent(out), allocatable :: tag_name
character(len=:), intent(out), allocatable :: attributes_str
logical, intent(out) :: is_closing
logical, intent(out) :: is_self_closing