# File proofreader.rb, line 172 def closure?(element, die=nil) die = @proofsheet.die(element.inherited_namespace, element.absolute_xpath) if not die validity = true # default unordered, so valid if die if die.closure and element.has_elements? closure_how = die.closure[0] closure_has = die.closure[1] # load childern element tag names into an array children = [] element.elements.each do |child_element| children << child_element.name end case closure_how when 'inclusive' diff = closure_has - children if not diff.empty? validity = false error = "CLOSURE inclusive" @errors << [die.namespace, die.xpath, error] end when 'exclusive' diff = closure_has - children if not diff.empty? validity = false error = "CLOSURE exclusive" @errors << [die.namespace, die.xpath, error] end diff = children - closure_has if not diff.empty? validity = false error = "CLOSURE exclusive" @errors << [die.namespace, die.xpath, error] end end end end end