Class: Uniword::Element

Inherits:
Lutaml::Model::Serializable
  • Object
show all
Defined in:
lib/uniword/element.rb

Overview

Base class for all OOXML element classes.

In v2.0 architecture, all elements inherit from Lutaml::Model::Serializable for XML serialization. This base class provides common functionality and serves as a common ancestor for all Uniword elements.

Examples:

Creating a custom element

class MyElement < Uniword::Element
  attribute :name, :string

  xml do
    element 'myElement'
    namespace 'http://example.com/ns'
    map_attribute 'name', to: :name
  end
end

Direct Known Subclasses

Comment, CommentRange, Image, MathEquation

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.abstract!Object



32
33
34
# File 'lib/uniword/element.rb', line 32

def abstract!
  @abstract = true
end

.abstract?Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/uniword/element.rb', line 28

def abstract?
  @abstract || false
end

Instance Method Details

#accept(visitor) ⇒ Object

Accept method for visitor pattern Subclasses should override this method



39
40
41
# File 'lib/uniword/element.rb', line 39

def accept(visitor)
  visitor.visit_element(self)
end

#valid?Boolean

Default validation - returns true Subclasses can override for custom validation

Returns:

  • (Boolean)


45
46
47
# File 'lib/uniword/element.rb', line 45

def valid?
  true
end