foxy_xml_tag Module


Uses

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

Used by

  • module~~foxy_xml_tag~~UsedByGraph module~foxy_xml_tag foxy_xml_tag module~foxy_xml_file foxy_xml_file module~foxy_xml_file->module~foxy_xml_tag module~foxy foxy module~foxy->module~foxy_xml_tag 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~parse_file_simple parse_file_simple program~parse_file_simple->module~foxy program~delete_tag delete_tag program~delete_tag->module~foxy program~delete_attributes delete_attributes program~delete_attributes->module~foxy program~delete_content delete_content program~delete_content->module~foxy program~create_tag create_tag program~create_tag->module~foxy program~add_attributes add_attributes program~add_attributes->module~foxy program~write_tag write_tag program~write_tag->module~foxy program~parse_string_simple parse_string_simple program~parse_string_simple->module~foxy program~add_tag add_tag program~add_tag->module~foxy program~indent_tag indent_tag program~indent_tag->module~foxy 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_ascii_local vtk_fortran_vtk_file_xml_writer_ascii_local module~vtk_fortran_vtk_file->module~vtk_fortran_vtk_file_xml_writer_ascii_local 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_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_ascii_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_file_xml_writer_appended->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_pvtk_file vtk_fortran_pvtk_file module~vtk_fortran_pvtk_file->module~vtk_fortran_vtk_file_xml_writer_abstract module~vtk_fortran_pvtk_file->module~vtk_fortran_vtk_file_xml_writer_ascii_local module~vtk_fortran vtk_fortran module~vtk_fortran->module~vtk_fortran_vtk_file module~vtk_fortran->module~vtk_fortran_vtm_file module~vtk_fortran->module~vtk_fortran_pvtk_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_vtu~2 vtk_fortran_write_vtu program~vtk_fortran_write_vtu~2->module~vtk_fortran program~vtk_fortran_write_vtu vtk_fortran_write_vtu program~vtk_fortran_write_vtu->module~vtk_fortran program~vtk_fortran_write_volatile vtk_fortran_write_volatile program~vtk_fortran_write_volatile->module~vtk_fortran program~vtk_fortran_write_vtr vtk_fortran_write_vtr program~vtk_fortran_write_vtr->module~vtk_fortran program~vtk_fortran_write_vtm vtk_fortran_write_vtm program~vtk_fortran_write_vtm->module~vtk_fortran program~vtk_fortran_write_vts vtk_fortran_write_vts program~vtk_fortran_write_vts->module~vtk_fortran

Contents


Interfaces

public interface xml_tag

  • private pure function create_tag_flat(name, attribute, attributes, attributes_stream, sanitize_attributes_value, content, indent, is_content_indented, is_self_closing) result(tag)

    Arguments

    TypeIntentOptionalAttributesName
    character, intent(in) :: name
    character, intent(in), optional :: attribute(1:)
    character, intent(in), optional :: attributes(1:,1:)
    character, intent(in), optional :: attributes_stream
    logical, intent(in), optional :: sanitize_attributes_value
    character, 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

    Return Value type(xml_tag)

  • private pure function create_tag_nested(name, content, attribute, attributes, attributes_stream, sanitize_attributes_value, indent, is_content_indented) result(tag)

    Arguments

    TypeIntentOptionalAttributesName
    character, intent(in) :: name
    type(xml_tag), intent(in) :: content
    character, intent(in), optional :: attribute(1:)
    character, intent(in), optional :: attributes(1:,1:)
    character, intent(in), optional :: attributes_stream
    logical, intent(in), optional :: sanitize_attributes_value
    integer(kind=I4P), intent(in), optional :: indent
    logical, intent(in), optional :: is_content_indented

    Return Value type(xml_tag)


Derived Types

type, public :: xml_tag

Components

TypeVisibilityAttributesNameInitial
type(string), private :: tag_name
type(string), private :: tag_content
type(string), private, allocatable:: attribute(:,:)
integer(kind=I4P), private :: attributes_number =0
integer(kind=I4P), private :: indent =0
logical, private :: is_self_closing =.false.

Constructor

private pure function create_tag_flat(name, attribute, attributes, attributes_stream, sanitize_attributes_value, content, indent, is_content_indented, is_self_closing)
private pure function create_tag_nested(name, content, attribute, attributes, attributes_stream, sanitize_attributes_value, indent, is_content_indented)

Type-Bound Procedures

generic, public :: add_attributes => add_single_attribute, add_multiple_attributes, add_stream_attributes
procedure, public, pass(self) :: attributes
procedure, public, pass(self) :: get_content
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) :: is_attribute_present
procedure, public, pass(self) :: is_parsed
procedure, public, pass(self) :: name
procedure, public, pass(self) :: parse
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_tag_name
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, content, indent, is_content_indented, is_self_closing) result(tag)

Arguments

TypeIntentOptionalAttributesName
character, intent(in) :: name
character, intent(in), optional :: attribute(1:)
character, intent(in), optional :: attributes(1:,1:)
character, intent(in), optional :: attributes_stream
logical, intent(in), optional :: sanitize_attributes_value
character, 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

Return Value type(xml_tag)

private pure function create_tag_nested(name, content, attribute, attributes, attributes_stream, sanitize_attributes_value, indent, is_content_indented) result(tag)

Arguments

TypeIntentOptionalAttributesName
character, intent(in) :: name
type(xml_tag), intent(in) :: content
character, intent(in), optional :: attribute(1:)
character, intent(in), optional :: attributes(1:,1:)
character, intent(in), optional :: attributes_stream
logical, intent(in), optional :: sanitize_attributes_value
integer(kind=I4P), intent(in), optional :: indent
logical, intent(in), optional :: is_content_indented

Return Value type(xml_tag)

private pure function attributes(self) result(att_)

Arguments

TypeIntentOptionalAttributesName
class(xml_tag), intent(in) :: self

Return Value character(len=:),allocatable

private pure function end_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

private elemental function is_parsed(self)

Arguments

TypeIntentOptionalAttributesName
class(xml_tag), intent(in) :: self

Return Value logical

private pure function name(self)

Arguments

TypeIntentOptionalAttributesName
class(xml_tag), intent(in) :: self

Return Value character(len=:),allocatable

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

private pure function start_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

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

Arguments

TypeIntentOptionalAttributesName
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

Return Value character(len=:),allocatable

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

Arguments

TypeIntentOptionalAttributesName
class(xml_tag), intent(in) :: self
character, intent(in) :: name

Return Value logical


Subroutines

private pure subroutine get_content(self, name, content)

Arguments

TypeIntentOptionalAttributesName
class(xml_tag), intent(in) :: self
character, intent(in) :: name
character(len=:), intent(out), allocatable:: content

private elemental subroutine free(self)

Arguments

TypeIntentOptionalAttributesName
class(xml_tag), intent(inout) :: self

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

Arguments

TypeIntentOptionalAttributesName
class(xml_tag), intent(inout) :: self
character, 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, indent, is_content_indented, is_self_closing)

Arguments

TypeIntentOptionalAttributesName
class(xml_tag), intent(inout) :: self
character, intent(in), optional :: name
character, intent(in), optional :: attribute(1:)
character, intent(in), optional :: attributes(1:,1:)
character, intent(in), optional :: attributes_stream
logical, intent(in), optional :: sanitize_attributes_value
character, 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

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

Arguments

TypeIntentOptionalAttributesName
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, intent(in), optional :: form
character, 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, intent(out), optional :: iomsg

private pure subroutine add_single_attribute(self, attribute, sanitize_value)

Arguments

TypeIntentOptionalAttributesName
class(xml_tag), intent(inout) :: self
character, intent(in) :: attribute(1:)
logical, intent(in), optional :: sanitize_value

private pure subroutine add_multiple_attributes(self, attributes, sanitize_values)

Arguments

TypeIntentOptionalAttributesName
class(xml_tag), intent(inout) :: self
character, intent(in) :: attributes(1:,1:)
logical, intent(in), optional :: sanitize_values

private pure subroutine add_stream_attributes(self, attributes_stream, sanitize_values)

Arguments

TypeIntentOptionalAttributesName
class(xml_tag), intent(inout) :: self
character, intent(in) :: attributes_stream
logical, intent(in), optional :: sanitize_values

private elemental subroutine alloc_attributes(self, Na)

Arguments

TypeIntentOptionalAttributesName
class(xml_tag), intent(inout) :: self
integer(kind=I4P), intent(in) :: Na

private pure subroutine delete_content(self)

Arguments

TypeIntentOptionalAttributesName
class(xml_tag), intent(inout) :: self

private pure subroutine delete_single_attribute(self, name)

Arguments

TypeIntentOptionalAttributesName
class(xml_tag), intent(inout) :: self
character, intent(in) :: name

private pure subroutine delete_multiple_attributes(self, name)

Arguments

TypeIntentOptionalAttributesName
class(xml_tag), intent(inout) :: self
character, intent(in) :: name(1:)

private elemental subroutine get(self, source)

Arguments

TypeIntentOptionalAttributesName
class(xml_tag), intent(inout) :: self
character, intent(in) :: source

private elemental subroutine get_attributes(self, source)

Arguments

TypeIntentOptionalAttributesName
class(xml_tag), intent(inout) :: self
character, intent(in) :: source

private elemental subroutine get_value(self, source)

Arguments

TypeIntentOptionalAttributesName
class(xml_tag), intent(inout) :: self
character, intent(in) :: source

private elemental subroutine parse_attributes_names(self, source)

Arguments

TypeIntentOptionalAttributesName
class(xml_tag), intent(inout) :: self
character, intent(in) :: source

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

Arguments

TypeIntentOptionalAttributesName
class(xml_tag), intent(inout) :: self
character, intent(in) :: source
integer(kind=I4P), intent(out), optional :: tstart
integer(kind=I4P), intent(out), optional :: tend

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

Arguments

TypeIntentOptionalAttributesName
class(xml_tag), intent(inout) :: self
character, intent(in) :: tag_name
character, 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

TypeIntentOptionalAttributesName
class(xml_tag), intent(inout) :: lhs
type(xml_tag), intent(in) :: rhs

private elemental subroutine finalize(tag)

Arguments

TypeIntentOptionalAttributesName
type(xml_tag), intent(inout) :: tag