class RequestXml::Generate_Page
Public Class Methods
output_xml()
click to toggle source
# File lib/request_xml.rb, line 36 def self.output_xml # Theoretically, a baysian algorithm would generate a numerical input itself. number = File.read("data/number/input.txt").strip.to_i # Defines the size limit to prevent going out of range. size_limit = File.read("data/location/location_list.txt").size.to_i # If the input exceeds the size limit, then reset. if number > size_limit number = 0 end # Reads existing grammatical arrays. aspi_greeting_list = File.readlines("data/greeting/greeting_list.txt") aspi_agent_list = File.readlines("data/agent/agent_list.txt") aspi_request_list = File.readlines("data/request/request_list.txt") aspi_item_list = File.readlines("data/item/item_list.txt") aspi_for_from_list = File.readlines("data/for_from/for_from_list.txt") aspi_location_list = File.readlines("data/location/location_list.txt") # Defines output of grammar component to a number. aspi_greet = aspi_greeting_list[number] aspi_agent = aspi_agent_list[number] aspi_request = aspi_request_list[number] aspi_item = aspi_item_list[number] aspi_for_from = aspi_for_from_list[number] aspi_usr_location = aspi_location_list[number] # Write new xml request. xml_request = " <?xml version='1.0' ?> <?xml-stylesheet type='text/css' href='request.css'?> <request_struct description='request structure'> <responce>[ OUTPUT ] </responce> <greeting>#{aspi_greet} </greeting> <agent>#{aspi_agent} </agent> <request>#{aspi_request} </request> <item>#{aspi_item} </item> <for_from>#{aspi_for_from} </for_from> <user_location>#{aspi_usr_location}?</user_location> </request_struct> " # Write output xml to open in browser. open("output.xml", "w") { |f| f.puts xml_request } # Alternatively, you can open it in a text based browser. # system("w3m output.xml") end