class Wiris::Xml
Constants
- CData
- Element
- PCData
Public Class Methods
createDocument()
click to toggle source
# File lib/src-generic/Xml.rb, line 148 def self.createDocument() return Xml.new REXML::Document.new end
new(node)
click to toggle source
# File lib/src-generic/Xml.rb, line 34 def initialize(node) @node =node @nodeType = node.node_type if node.class == REXML::CData @nodeType = :text end if (@nodeType == :text) @nodeName = :text elsif (@nodeType == :text) @nodeName = :text else @nodeName = node.name end end
parse(xml)
click to toggle source
# File lib/src-generic/Xml.rb, line 49 def self.parse(xml) return Xml.new REXML::Document.new xml end
Public Instance Methods
addChild(x)
click to toggle source
# File lib/src-generic/Xml.rb, line 126 def addChild(x) @node << x.node end
attributes()
click to toggle source
# File lib/src-generic/Xml.rb, line 74 def attributes() atts = Array.new; if @node.attributes.nil? return Iterator.new end @node.attributes.each_attribute { |attr| atts.push(attr.expanded_name) } return Iterator.new atts.each end
createCData_(text)
click to toggle source
# File lib/src-generic/Xml.rb, line 170 def createCData_(text) elem = REXML::CData.new(text) return Xml.new elem end
createElement_(name)
click to toggle source
# File lib/src-generic/Xml.rb, line 152 def createElement_(name) elementNode = REXML::Element.new name return Xml.new elementNode end
createPCData_(text)
click to toggle source
# File lib/src-generic/Xml.rb, line 157 def createPCData_(text) textNode = Text.new text return Xml.new textNode end
elements()
click to toggle source
# File lib/src-generic/Xml.rb, line 57 def elements() childElements = Array.new node = nil if (self.firstChild() != nil) node = self.firstChild().node end while (!node.nil?) if (node.node_type == :element) childElements.push(node) end node = node.next_sibling end # return XmlIterator.new(childElements.each) return XmlIterator.new childElements.each end
firstChild()
click to toggle source
# File lib/src-generic/Xml.rb, line 109 def firstChild() if defined?(@node.each_child).nil? || @node.each_child.count == 0 return nil end return Xml.new @node.each_child.next end
firstElement()
click to toggle source
# File lib/src-generic/Xml.rb, line 117 def firstElement() @node.each_recursive {|e| if e.class == REXML::Element return Xml.new e end } return nil end
get(attributeName)
click to toggle source
# File lib/src-generic/Xml.rb, line 87 def get(attributeName) return @node.attributes[attributeName] end
getNodeValue_()
click to toggle source
# File lib/src-generic/Xml.rb, line 162 def getNodeValue_() if (@node.node_type == :text || @node.node_type == :node) return @node.value else return @node.text end end
insertChild(x, pos)
click to toggle source
# File lib/src-generic/Xml.rb, line 130 def insertChild(x, pos) if pos < 0 end # On ruby first index starts at 1. # Check if node has childs, if not insert node directly. if @node.elements[1].nil? xmlparsed.firstChild.addChild(x) else @node.insert_before(@node.elements[1], x.node) end end
iterator()
click to toggle source
# File lib/src-generic/Xml.rb, line 53 def iterator() return XmlIterator.new(@node.each) end
node()
click to toggle source
# File lib/src-generic/Xml.rb, line 16 def node @node end
node=(node)
click to toggle source
# File lib/src-generic/Xml.rb, line 13 def node=(node) @node=node end
nodeName()
click to toggle source
# File lib/src-generic/Xml.rb, line 23 def nodeName @nodeName end
nodeName=(nodeName)
click to toggle source
# File lib/src-generic/Xml.rb, line 20 def nodeName=(nodeName) @nodeName=nodeName end
nodeType()
click to toggle source
# File lib/src-generic/Xml.rb, line 30 def nodeType @nodeType end
nodeType=(nodeType)
click to toggle source
# File lib/src-generic/Xml.rb, line 27 def nodeType=(nodeType) @nodeType=nodeType end
parent_()
click to toggle source
# File lib/src-generic/Xml.rb, line 102 def parent_() if @node.parent.nil? return nil end return Xml.new @node.parent end
remove(attributeName)
click to toggle source
# File lib/src-generic/Xml.rb, line 91 def remove(attributeName) if !@node.attributes[attributeName].nil? @node.attributes.delete attributeName end end
removeChild(x)
click to toggle source
# File lib/src-generic/Xml.rb, line 141 def removeChild(x) remove = @node == x.node.parent if remove x.node.remove end end
set(attributeName, attributeValue)
click to toggle source
# File lib/src-generic/Xml.rb, line 97 def set(attributeName, attributeValue) newAtrribute = REXML::Attribute.new(attributeName, attributeValue); @node.attributes.add(newAtrribute) end
toString()
click to toggle source
# File lib/src-generic/Xml.rb, line 175 def toString() return @node.to_s end