2 * parameter-lister (Rust implementation)
3 * Copyright © 2016 Vojtěch Král <vojtech@kral.hk>
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
22 pub static MOD_NAME: &'static str = "xml";
26 fn xml_escape(self) -> Self;
29 impl XMLEscape for String {
30 fn xml_escape(self) -> String {
31 self.replace("&", "&").replace("<", "<").replace(">", ">")
39 pub fn new() -> XMLModule { XMLModule }
41 fn process_io(&self, output: &mut Write, parameters: Vec<String>) -> io::Result<()> {
42 try!(write!(output, "<parameters>\n"));
44 try!(write!(output, "\t<parameter>{}</parameter>\n", p.xml_escape()));
46 try!(write!(output, "</parameters>\n"));
51 impl OutputModule for XMLModule {
52 fn process(&self, output: &mut Write, parameters: Vec<String>) -> Result<(), String> {
53 match self.process_io(output, parameters) {
55 Err(err) => Err(format!("{}", err)),