ISOAbstractObject

ISOAbstractObject

Format

R6Class object.

Value

Object of R6Class for modelling an ISO Metadata Element

Note

Abstract ISO Metadata class used internally by geometa

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, version)

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)

Author

Emmanuel Blondel <emmanuel.blondel1@gmail.com>

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

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 checkMetadataStandardCompliance()

Check if object can be instantiated vs. the current metadata standard

Usage

ISOAbstractObject$checkMetadataStandardCompliance()


Method stopIfMetadataStandardIsNot()

Utility to stop in case a the current metadata standard does not match the one required for the code. This utility can be used to check applicability of a certain method, depending on on the current metadata standard.

Usage

ISOAbstractObject$stopIfMetadataStandardIsNot(version)

Arguments

version

version


Method print()

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

Usage

ISOAbstractObject$print(..., depth = 1, add_codelist_description = TRUE)

Arguments

...

args

depth

class nesting depth

add_codelist_description

Add codelist description. Default is TRUE


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