Structure
XMLFile is a child of [[AbstractFile_]] class.
TYPE, EXTENDS( AbstractFile_ ) :: XMLFile_
PRIVATE
LOGICAL( LGT ), PUBLIC :: isInitiated = .FALSE.
!! Logical indicating if file was initialized
INTEGER( I4B ), PUBLIC :: unitNo=-1
!! The unit number assigned to the file
REAL( DFP ) :: version=1.0_DFP
!! The XML version
CHARACTER( LEN=32 ) :: encoding='UTF-8'
!! The XML file encoding
TYPE( String ) :: style_sheet
LOGICAL( LGT ) :: standalone=.FALSE.
!! The root XML element of the file
LOGICAL( LGT ) :: newstat=.FALSE.
!! The 'new' status of a file
LOGICAL( LGT ) :: overwriteStat=.FALSE.
!! When .TRUE., file data can be overwritten
TYPE( String ) :: fullname
!! full name of the file
TYPE( XMLTag_ ), PUBLIC, POINTER :: root => NULL()
ConstructorMethods
Initiate
MODULE SUBROUTINE Initiate( obj, filename, mode )
CLASS( xmlFile_ ), INTENT( INOUT ) :: obj
CHARACTER( LEN = * ), INTENT( IN ) :: filename
CHARACTER( LEN = * ), INTENT( IN ) :: mode
!! mode can be READ, WRITE, NEW, OVERWRITE
END SUBROUTINE Initiate
This routine initiates the XMLFile .
- filename is full name of the file
- mode can be READ, WRITE, NEW, OVERWRITE
- READ: The file should exist.
- WRITE: The file should exist.
- OVERWRITE: The file is opened with read and write access. If the file does not exist, then a new file is created.
- NEW: The file is opened with read and write access. If the file does not exist, then a new file is created.
Deallocate
MODULE SUBROUTINE Deallocate( obj, delete )
CLASS( xmlFile_ ), INTENT( INOUT ) :: obj
LOGICAL( LGT ), OPTIONAL, INTENT( IN ) :: delete
END SUBROUTINE Deallocate
This routine deallocates the data stored in the file. This routine also close the file. If delete
is present then delete the file.
Open
MODULE SUBROUTINE Open( obj )
CLASS( xmlFile_ ), INTENT( INOUT ) :: obj
END SUBROUTINE Open
Close
MODULE SUBROUTINE Close( obj )
CLASS( xmlFile_ ), INTENT( INOUT ) :: obj
END SUBROUTINE Close
Delete
MODULE SUBROUTINE Delete( obj )
CLASS( xmlFile_ ), INTENT( INOUT ) :: obj
END SUBROUTINE Delete
IOMethods
Export
MODULE SUBROUTINE Export( obj, filename )
CLASS( xmlFile_ ), INTENT( IN ) :: obj
CHARACTER( LEN = * ), INTENT( IN ) :: filename
END SUBROUTINE Export
Export the content of a XMLFile to an XML file.
Import
MODULE SUBROUTINE Import( obj, filename )
CLASS( xmlFile_ ), INTENT( INOUT ) :: obj
CHARACTER( LEN = * ), INTENT( IN ) :: filename
END SUBROUTINE Import
Display
MODULE SUBROUTINE Display( obj, msg, unitNo )
CLASS( XMLFile_ ), INTENT( IN ) :: obj
CHARACTER( LEN = * ), INTENT( IN ) :: msg
INTEGER( I4B ), OPTIONAL, INTENT( IN ) :: unitNo
END SUBROUTINE Display
ParseXMLDeclaration
MODULE SUBROUTINE ParseXMLDeclaration( obj )
CLASS( XMLFile_ ), INTENT( INOUT ) :: obj
END SUBROUTINE ParseXMLDeclaration
BuildCache
MODULE SUBROUTINE BuildCache( obj, nchars, fileCache )
CLASS( XMLFile_ ), INTENT( INOUT ) :: obj
INTEGER( I4B ), INTENT( OUT ) :: nchars
CHARACTER( LEN=1 ), ALLOCATABLE, INTENT( INOUT ) :: fileCache(:)
END SUBROUTINE BuildCache
SetMethods
SetNewStat
MODULE SUBROUTINE SetNewStat( obj, bool )
CLASS( XMLFile_ ), INTENT( INOUT ) :: obj
LOGICAL( LGT ), INTENT( IN ) :: bool
END SUBROUTINE SetNewStat
SetOverwriteStat
MODULE SUBROUTINE SetOverwriteStat( obj, bool )
CLASS( XMLFile_ ), INTENT( INOUT ) :: obj
LOGICAL( LGT ), INTENT( IN ) :: bool
END SUBROUTINE SetOverwriteStat
GetMethods
isNew
MODULE PURE FUNCTION isNew( obj ) RESULT( Ans )
CLASS( XMLFile_ ), INTENT( IN ) :: obj
LOGICAL( LGT ) :: ans
END FUNCTION isNew
isOverwrite
MODULE PURE FUNCTION isFormatted( obj ) RESULT( ans )
CLASS( XMLFile_ ), INTENT( IN ) :: obj
LOGICAL( LGT ) :: ans
END FUNCTION isFormatted