ISOAbstractObject: ISOAbstractObject

ISOAbstractObjectR Documentation

ISOAbstractObject

Description

ISOAbstractObject

ISOAbstractObject

Format

R6Class object.

Value

Object of R6Class for modelling an ISO Metadata Element

Static Methods

getISOStandardByPrefix(prefix)

Inherit the ISO (and/or OGC) standard reference for a given standard prefix (e.g. GMD). The object returned is a data.frame containing the specification reference and title.

getISOStandard(clazz)

Inherit the ISO (and/or OGC) standard reference for a given geometa class. The object returned is a data.frame containing the specification reference and title.

getISOClasses(extended, pretty)

Get the list of classes supported by geometa. By default, extended is set to FALSE (restrained to geometa environment). If TRUE, this allows to list eventual classes loaded in your global environment and that extend geometa classes. The argument pretty gives a the list of classes and associated ISO/OGC standard information as data.frame.

getISOClassByNode(node)

Inherit the ISO class matching an XML document or node

compare(metadataElement1, metadataElement2)

Compares two metadata elements objects. Returns TRUE if they are equal, FALSE otherwise. The comparison of object is done by comparing the XML representation of the objects (since no R6 object comparison method seems to exist)

Abstract Methods

new(xml, element, namespace, defaults, attrs)

This method is used to instantiate an ISOAbstractObject

print()

Provides a custom print output (as tree) of the current class

decode(xml)

Decodes a ISOMetadata* R6 object from XML representation

encode(addNS, validate, strict, inspire, inspireValidator, resetSerialID, setSerialID, encoding)

Encodes a ISOMetadata* R6 object to XML representation. By default, namespace definition will be added to XML root (addNS = TRUE), and validation of object will be performed (validate = TRUE) prior to its XML encoding. The argument strict allows to stop the encoding in case object is not valid, with a default value set to FALSE. The argument setSerialID is used by geometa to generate automatically serial IDs associated to XML elements, in particular for GML, default value is TRUE (recommended value). The argument resetSerialID is used by geometa for reseting mandatory IDs associated to XML elements, such as GML objects, default value is TRUE (recommended value). Setting inspire to TRUE (default FALSE), the metadata will be checked with the INSPIRE metadata validator (online web-service provided by INSPIRE). To check metadata with the INSPIRE metadata validator, setting an INSPIRE metadata validator is now required, and should be specified with the inspireValidator. See INSPIREMetadataValidator for more details

validate(xml, strict, inspire, inspireValidator)

Validates the encoded XML against ISO 19139 XML schemas. If strict is TRUE, a error will be raised. Default is FALSE. Setting inspire toTRUE (default FALSE), the metadata will be checked with the INSPIRE metadata validator (online web-service provided by INSPIRE). To check metadata with the INSPIRE metadata validator, setting an INSPIRE metadata validator is now required, and should be specified with the inspireValidator. See INSPIREMetadataValidator for more details

save(file, ...)

Saves the current metadata object XML representation to a file. This utility ensures proper indentation of XML file produced. Additional parameters from $encode() method can be specified, such as inspire to check the INSPIRE metadata validity.

getNamespaceDefinition(recursive)

Gets the namespace definition of the current ISO* class. By default, only the namespace definition of the current element is retrieved (recursive = FALSE).

getClassName(level)

Gets the class name. The level of class inheritance. Default is 1L

getClass()

Gets the class

wrapBaseElement(field, fieldObj)

Wraps a base element type

setIsNull(isNull, reason)

Sets the object as null object for the XML. In case isNull is TRUE, a reason should be specified among values 'inapplicable', 'missing', 'template', 'unknown', 'withheld'. By default, the reason is set 'missing'.

contains(field, metadataElement)

Indicates of the present class object contains an metadata element object for a particular list-based field.

addListElement(field, metadataElement)

Adds a metadata element to a list-based field. Returns TRUE if the element has been added, FALSE otherwise. In case an element is already added, the element will not be added and this method will return FALSE.

delListElement(field, metadataElement)

Deletes a metadata element from a list-based field. Returns TRUE if the element has been deleted, FALSE otherwise. In case an element is abstent, this method will return FALSE.

setAttr(attrKey, attrValue)

Set an attribute

addFieldAttrs(field, ...)

Allows to add one more xlink attributes a field (element property)

setId(id, addNS)

Set an id. By default addNS is FALSE (no namespace prefix added).

setHref(href)

Sets an href reference

setCodeList(codeList)

Sets a codeList

setCodeListValue(codeListValue)

Sets a codeList value

setCodeSpace(codeSpace)

Set a codeSpace

setValue(value)

Set a value

isDocument()

Indicates if the object is a metadata document, typically an object of class ISOMetadata or ISOFeatureCatalogue

isFieldInheritedFrom(field)

Gives the parent from which the field is inherited, otherwise return NULL.

createLocalisedProperty(text, locales)

Creates a localised property made of a default text and a list of localised texts.

Super class

geometa::geometaLogger -> ISOAbstractObject

Public fields

wrap

wrap

element

element

namespace

namespace

defaults

defaults

attrs

attributes

printAttrs

attributes to print

parentAttrs

parent attributes

value

value

value_as_field

value as field?

isNull

is null?

anyElement

any element?

Methods

Public methods

Inherited methods

Method new()

Initializes object

Usage
ISOAbstractObject$new(
  xml = NULL,
  element = NULL,
  namespace = NULL,
  attrs = list(),
  defaults = list(),
  wrap = TRUE,
  value_as_field = FALSE
)
Arguments
xml

object of class XMLInternalNode-class

element

element name

namespace

namespace

attrs

attrs

defaults

defaults

wrap

wrap?

value_as_field

value as field?


Method print()

Provides a custom print output (as tree) of the current class

Usage
ISOAbstractObject$print(..., depth = 1)
Arguments
...

args

depth

class nesting depth


Method decode()

Decodes object from XML

Usage
ISOAbstractObject$decode(xml)
Arguments
xml

object of class XMLInternalNode-class


Method encode()

Encodes object as XML.

By default, namespace definition will be added to XML root (addNS = TRUE), and validation of object will be performed (validate = TRUE) prior to its XML encoding. The argument strict allows to stop the encoding in case object is not valid, with a default value set to FALSE.

The argument setSerialID is used by geometa to generate automatically serial IDs associated to XML elements, in particular for GML, default value is TRUE (recommended value).

The argument resetSerialID is used by geometa for reseting mandatory IDs associated to XML elements, such as GML objects, default value is TRUE (recommended value).

Setting inspire to TRUE (default FALSE), the metadata will be checked with the INSPIRE metadata validator (online web-service provided by INSPIRE). To check metadata with the INSPIRE metadata validator, setting an INSPIRE metadata validator is now required, and should be specified with the inspireValidator. See INSPIREMetadataValidator for more details

Usage
ISOAbstractObject$encode(
  addNS = TRUE,
  validate = TRUE,
  strict = FALSE,
  inspire = FALSE,
  inspireValidator = NULL,
  resetSerialID = TRUE,
  setSerialID = TRUE,
  encoding = "UTF-8"
)
Arguments
addNS

add namespace? Default is TRUE

validate

validate XML output against schemas?

strict

strict validation? Default is FALSE.

inspire

perform INSPIRE validation? Default is FALSE

inspireValidator

an object of class INSPIREMetadataValidator to perform INSPIRE metadata validation

resetSerialID

reset Serial ID? Default is TRUE

setSerialID

set serial ID? Default is TRUE

encoding

encoding. Default is UTF-8


Method validate()

Validates an XML object resulting from object encoding

Usage
ISOAbstractObject$validate(
  xml = NULL,
  strict = FALSE,
  inspire = FALSE,
  inspireValidator = NULL
)
Arguments
xml

object of class XMLInternalNode-class

strict

strict validation? If TRUE, a invalid XML will return an error

inspire

perform INSPIRE validation? Default is FALSE

inspireValidator

an object of class INSPIREMetadataValidator to perform INSPIRE metadata validation

Returns

TRUE if valid, FALSE otherwise


Method save()

Save XML representation resulting from $encode(...) method to a file

Usage
ISOAbstractObject$save(file, ...)
Arguments
file

file

...

any other argument from $encode(...) method


Method getNamespaceDefinition()

Get namespace definition

Usage
ISOAbstractObject$getNamespaceDefinition(recursive = FALSE)
Arguments
recursive

recursive namespace definitions? Default is FALSE

Returns

the list of XML namespace definitions


Method getClassName()

Get class name

Usage
ISOAbstractObject$getClassName(level = 1L)
Arguments
level

level of class

Returns

the class name


Method getClass()

Get class

Usage
ISOAbstractObject$getClass()
Returns

the corresponding class, as R6Class reference object generator


Method wrapBaseElement()

Wraps base element

Usage
ISOAbstractObject$wrapBaseElement(field, fieldObj)
Arguments
field

field name

fieldObj

field object

an

object of class R6Class


Method setIsNull()

Set Is Null

Usage
ISOAbstractObject$setIsNull(isNull, reason = "missing")
Arguments
isNull

object of class logical

reason

reason why object is Null


Method contains()

Util to know if a field contain a metadata element

Usage
ISOAbstractObject$contains(field, metadataElement)
Arguments
field

field name

metadataElement

metadata element

Returns

TRUE if contains, FALSE otherwise


Method addListElement()

Util to add an element to a list of elements for N cardinality of a target element name

Usage
ISOAbstractObject$addListElement(field, metadataElement)
Arguments
field

field

metadataElement

metadata element

Returns

TRUE if added, FALSE otherwise


Method delListElement()

Util to deleted an element to a list of elements for N cardinality of a target element name

Usage
ISOAbstractObject$delListElement(field, metadataElement)
Arguments
field

field

metadataElement

metadata element

Returns

TRUE if deleted, FALSE otherwise


Method setAttr()

Util to set an attribute

Usage
ISOAbstractObject$setAttr(attrKey, attrValue)
Arguments
attrKey

attribute key

attrValue

attribute value


Method addFieldAttrs()

Util add field attributes, over the XML field wrapping element instead of the element itself

Usage
ISOAbstractObject$addFieldAttrs(field, ...)
Arguments
field

field

...

list of attributes


Method setId()

Set id

Usage
ISOAbstractObject$setId(id, addNS = FALSE)
Arguments
id

id

addNS

add namespace definition? Default is FALSE


Method setHref()

Set Href attribute

Usage
ISOAbstractObject$setHref(href)
Arguments
href

href


Method setCodeList()

Set codelist attribute

Usage
ISOAbstractObject$setCodeList(codeList)
Arguments
codeList

codelist


Method setCodeListValue()

Set codelist value

Usage
ISOAbstractObject$setCodeListValue(codeListValue)
Arguments
codeListValue

codelist value


Method setCodeSpace()

Set codeSpace

Usage
ISOAbstractObject$setCodeSpace(codeSpace)
Arguments
codeSpace

codespace


Method setValue()

Set value

Usage
ISOAbstractObject$setValue(value)
Arguments
value

value


Method isDocument()

Util to check where object refers to a emetadata document (eg. ISOMetadata or ISOFeatureCatalogue)

Usage
ISOAbstractObject$isDocument()
Returns

TRUE if a document, FALSE otherwise


Method isFieldInheritedFrom()

Indicates the class a field inherits from

Usage
ISOAbstractObject$isFieldInheritedFrom(field)
Arguments
field

field

Returns

an object generator of class R6Class


Method createLocalisedProperty()

Creates a localised property

Usage
ISOAbstractObject$createLocalisedProperty(text, locales)
Arguments
text

text

locales

a list of localized names

Note

Abstract ISO Metadata class used internally by geometa

Author(s)

Emmanuel Blondel <emmanuel.blondel1@gmail.com>


geometa documentation built on Oct. 29, 2022, 1:06 a.m.