foxy_xml_tag Module


Uses

  • module~~foxy_xml_tag~~UsesGraph module~foxy_xml_tag foxy_xml_tag module~penf~6 penf 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~stringifor->module~penf~6 module~stringifor_string_t~2 stringifor_string_t module~stringifor->module~stringifor_string_t~2 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_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_tag~~UsedByGraph module~foxy_xml_tag foxy_xml_tag module~foxy foxy module~foxy->module~foxy_xml_tag module~foxy_xml_file foxy_xml_file module~foxy->module~foxy_xml_file module~foxy_xml_file->module~foxy_xml_tag 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

Interfaces

public interface xml_tag

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

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: name
    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:)
    character(len=*), intent(in), optional :: content
    integer(kind=I4P), intent(in), optional :: indent
    logical, intent(in), optional :: is_content_indented
    logical, intent(in), optional :: is_self_closing
    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)

  • 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)


Derived Types

type, public ::  xml_tag

Components

Type Visibility Attributes Name Initial
type(string), private :: tag_name
type(string), private :: tag_content
integer(kind=I4P), private :: pos(3) = [0_I4P, 0_I4P, 0_I4P]
type(string), private, allocatable :: attribute(:,:)
integer(kind=I4P), private :: attributes_number = 0_I4P
integer(kind=I4P), private :: indent = 0_I4P
logical, private :: is_self_closing = .false.
integer(kind=I4P), private :: level = 0_I4P
integer(kind=I4P), private :: id = 0_I4P
integer(kind=I4P), private :: parent_id = 0_I4P
integer(kind=I4P), public :: children_number = 0_I4P
integer(kind=I4P), public, allocatable :: child_id(:)

Constructor

private pure function create_tag_flat (name, attribute, attributes, attributes_stream, sanitize_attributes_value, pos, content, indent, is_content_indented, is_self_closing, id, level, parent_id, attributes_stream_alloc, content_alloc)
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)

Finalizations Procedures

final :: finalize

Type-Bound Procedures

generic, public :: add_attributes => add_single_attribute, add_multiple_attributes, add_stream_attributes
procedure, public, pass(self) :: add_child_id
procedure, public, pass(self) :: attributes
generic, public :: delete_attributes => delete_single_attribute, delete_multiple_attributes
procedure, public, pass(self) :: delete_content
procedure, public, pass(self) :: end_tag
procedure, public, pass(self) :: free
procedure, public, pass(self) :: get_content
procedure, public, pass(self) :: is_attribute_present
procedure, public, pass(self) :: is_parsed
procedure, public, pass(self) :: name
procedure, public, pass(self) :: parse
procedure, public, pass(self) :: parse_tag_name
procedure, public, pass(self) :: self_closing_tag
procedure, public, pass(self) :: set
procedure, public, pass(self) :: start_tag
procedure, public, pass(self) :: stringify
procedure, public, pass(self) :: write => write_tag
generic, public :: assignment(=) => assign_tag
procedure, private, pass(self) :: add_single_attribute
procedure, private, pass(self) :: add_multiple_attributes
procedure, private, pass(self) :: add_stream_attributes
procedure, private, pass(self) :: alloc_attributes
procedure, private, pass(self) :: delete_single_attribute
procedure, private, pass(self) :: delete_multiple_attributes
procedure, private, pass(self) :: get
procedure, private, pass(self) :: get_value
procedure, private, pass(self) :: get_attributes
procedure, private, pass(self) :: parse_attributes_names
procedure, private, pass(self) :: search
procedure, private, pass(lhs) :: assign_tag

Functions

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

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: name
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:)
character(len=*), intent(in), optional :: content
integer(kind=I4P), intent(in), optional :: indent
logical, intent(in), optional :: is_content_indented
logical, intent(in), optional :: is_self_closing
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)

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)

private pure function attributes(self) result(att_)

Arguments

Type IntentOptional Attributes Name
class(xml_tag), intent(in) :: self

Return Value character(len=:), allocatable

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

Arguments

Type IntentOptional Attributes Name
class(xml_tag), intent(in) :: self
logical, intent(in), optional :: is_indented

Return Value character(len=:), allocatable

private pure function is_attribute_present(self, name) result(is_present)

Arguments

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

Return Value logical

private elemental function is_parsed(self)

Arguments

Type IntentOptional Attributes Name
class(xml_tag), intent(in) :: self

Return Value logical

private pure function name(self)

Arguments

Type IntentOptional Attributes Name
class(xml_tag), intent(in) :: self

Return Value character(len=:), allocatable

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

Arguments

Type IntentOptional Attributes Name
class(xml_tag), intent(in) :: self
logical, intent(in), optional :: is_indented

Return Value character(len=:), allocatable

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

Arguments

Type IntentOptional Attributes Name
class(xml_tag), intent(in) :: self
logical, intent(in), optional :: is_indented

Return Value character(len=:), allocatable

private pure function stringify(self, is_indented, is_content_indented, only_start, only_content, only_end, linearize) result(stringed)

Arguments

Type IntentOptional Attributes Name
class(xml_tag), intent(in) :: self
logical, intent(in), optional :: is_indented
logical, intent(in), optional :: is_content_indented
logical, intent(in), optional :: only_start
logical, intent(in), optional :: only_content
logical, intent(in), optional :: only_end
logical, intent(in), optional :: linearize

Return Value character(len=:), allocatable


Subroutines

private pure subroutine add_child_id(self, child_id)

Arguments

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

private elemental subroutine free(self)

Arguments

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

private pure subroutine get_content(self, name, content)

Arguments

Type IntentOptional Attributes Name
class(xml_tag), intent(in) :: self
character(len=*), intent(in) :: name
character(len=:), intent(out), allocatable :: content

private elemental subroutine parse(self, source, tstart, tend)

Arguments

Type IntentOptional Attributes Name
class(xml_tag), intent(inout) :: self
character(len=*), intent(in) :: source
integer(kind=I4P), intent(out), optional :: tstart
integer(kind=I4P), intent(out), optional :: tend

private elemental subroutine parse_tag_name(self, source, tstart, tend)

Arguments

Type IntentOptional Attributes Name
class(xml_tag), intent(inout) :: self
character(len=*), intent(in) :: source
integer(kind=I4P), intent(out), optional :: tstart
integer(kind=I4P), intent(out), optional :: tend

private pure subroutine set(self, name, attribute, attributes, attributes_stream, sanitize_attributes_value, content, pos, indent, is_content_indented, is_self_closing, id, level, parent_id, attributes_stream_alloc, content_alloc)

Arguments

Type IntentOptional Attributes Name
class(xml_tag), intent(inout) :: self
character(len=*), intent(in), optional :: name
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
character(len=*), intent(in), optional :: content
integer(kind=I4P), intent(in), optional :: pos(1:)
integer(kind=I4P), intent(in), optional :: indent
logical, intent(in), optional :: is_content_indented
logical, intent(in), optional :: is_self_closing
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

private subroutine write_tag(self, unit, is_indented, is_content_indented, form, end_record, only_start, only_content, only_end, iostat, iomsg)

Arguments

Type IntentOptional Attributes Name
class(xml_tag), intent(in) :: self
integer(kind=I4P), intent(in) :: unit
logical, intent(in), optional :: is_indented
logical, intent(in), optional :: is_content_indented
character(len=*), intent(in), optional :: form
character(len=*), intent(in), optional :: end_record
logical, intent(in), optional :: only_start
logical, intent(in), optional :: only_content
logical, intent(in), optional :: only_end
integer(kind=I4P), intent(out), optional :: iostat
character(len=*), intent(out), optional :: iomsg

private pure subroutine add_single_attribute(self, attribute, sanitize_value)

Arguments

Type IntentOptional Attributes Name
class(xml_tag), intent(inout) :: self
character(len=*), intent(in) :: attribute(1:)
logical, intent(in), optional :: sanitize_value

private pure subroutine add_multiple_attributes(self, attributes, sanitize_values)

Arguments

Type IntentOptional Attributes Name
class(xml_tag), intent(inout) :: self
character(len=*), intent(in) :: attributes(1:,1:)
logical, intent(in), optional :: sanitize_values

private pure subroutine add_stream_attributes(self, attributes_stream, sanitize_values)

Arguments

Type IntentOptional Attributes Name
class(xml_tag), intent(inout) :: self
character(len=*), intent(in) :: attributes_stream
logical, intent(in), optional :: sanitize_values

private elemental subroutine alloc_attributes(self, Na)

Arguments

Type IntentOptional Attributes Name
class(xml_tag), intent(inout) :: self
integer(kind=I4P), intent(in) :: Na

private pure subroutine delete_content(self)

Arguments

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

private pure subroutine delete_single_attribute(self, name)

Arguments

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

private pure subroutine delete_multiple_attributes(self, name)

Arguments

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

private elemental subroutine get(self, source)

Arguments

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

private elemental subroutine get_attributes(self, source)

Arguments

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

private elemental subroutine get_value(self, source)

Arguments

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

private elemental subroutine parse_attributes_names(self, source)

Arguments

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

private elemental subroutine search(self, tag_name, source, tstart, tend)

Arguments

Type IntentOptional Attributes Name
class(xml_tag), intent(inout) :: self
character(len=*), intent(in) :: tag_name
character(len=*), intent(in) :: source
integer(kind=I4P), intent(out), optional :: tstart
integer(kind=I4P), intent(out), optional :: tend

private elemental subroutine assign_tag(lhs, rhs)

Arguments

Type IntentOptional Attributes Name
class(xml_tag), intent(inout) :: lhs
type(xml_tag), intent(in) :: rhs

private elemental subroutine finalize(tag)

Arguments

Type IntentOptional Attributes Name
type(xml_tag), intent(inout) :: tag