function write_dataarray3_rank3_I4P(self, data_name, x, y, z, is_tuples) result(error)
!< Write `<DataArray... NumberOfComponents="3"...>...</DataArray>` tag (I4P).
class(xml_writer_appended), intent(inout) :: self !< Writer.
character(*), intent(in) :: data_name !< Data name.
integer(I4P), intent(in) :: x(1:,1:,1:) !< X component of data variable.
integer(I4P), intent(in) :: y(1:,1:,1:) !< Y component of data variable.
integer(I4P), intent(in) :: z(1:,1:,1:) !< Z component of data variable.
logical, intent(in), optional :: is_tuples !< Use "NumberOfTuples".
integer(I4P) :: error !< Error status.
character(len=:), allocatable :: data_type !< Data type.
integer(I4P) :: n_components !< Number of components.
data_type = 'Int32'
n_components = 3
call self%write_dataarray_tag_appended(data_type=data_type, number_of_components=n_components, data_name=data_name, &
is_tuples=is_tuples)
call self%ioffset_update(n_byte=self%write_on_scratch_dataarray(x=x, y=y, z=z))
error = self%error
endfunction write_dataarray3_rank3_I4P