www/include/scripts/xml.js

Code
Comments
Other
Rev Date Author Line
5274 17 Mar 10 nicklas 1 /* $Id $
5274 17 Mar 10 nicklas 2   ------------------------------------------------------------------
5274 17 Mar 10 nicklas 3   Copyright (C) 2010 Nicklas Nordborg
5274 17 Mar 10 nicklas 4
5274 17 Mar 10 nicklas 5   This file is part of BASE - BioArray Software Environment.
5274 17 Mar 10 nicklas 6   Available at http://base.thep.lu.se/
5274 17 Mar 10 nicklas 7
5274 17 Mar 10 nicklas 8   BASE is free software; you can redistribute it and/or
5274 17 Mar 10 nicklas 9   modify it under the terms of the GNU General Public License
5274 17 Mar 10 nicklas 10   as published by the Free Software Foundation; either version 3
5274 17 Mar 10 nicklas 11   of the License, or (at your option) any later version.
5274 17 Mar 10 nicklas 12
5274 17 Mar 10 nicklas 13   BASE is distributed in the hope that it will be useful,
5274 17 Mar 10 nicklas 14   but WITHOUT ANY WARRANTY; without even the implied warranty of
5274 17 Mar 10 nicklas 15   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
5274 17 Mar 10 nicklas 16   GNU General Public License for more details.
5274 17 Mar 10 nicklas 17
5274 17 Mar 10 nicklas 18   You should have received a copy of the GNU General Public License
5274 17 Mar 10 nicklas 19   along with BASE. If not, see <http://www.gnu.org/licenses/>.
5274 17 Mar 10 nicklas 20   ------------------------------------------------------------------
5274 17 Mar 10 nicklas 21
5274 17 Mar 10 nicklas 22   JavaScript functions for XML documents
5274 17 Mar 10 nicklas 23
5274 17 Mar 10 nicklas 24   @author Nicklas
5274 17 Mar 10 nicklas 25   @version 2.15
5274 17 Mar 10 nicklas 26 */
7419 03 Nov 17 nicklas 27 'use strict';
7419 03 Nov 17 nicklas 28
6400 27 Jan 14 nicklas 29 var Xml = function()
5274 17 Mar 10 nicklas 30 {
6400 27 Jan 14 nicklas 31   var xml = {};
6400 27 Jan 14 nicklas 32   
5274 17 Mar 10 nicklas 33   /**
5274 17 Mar 10 nicklas 34     Create a new empty XML document
5274 17 Mar 10 nicklas 35     @param rootTag The root tag in the xml document
5274 17 Mar 10 nicklas 36     @return A Document object
5274 17 Mar 10 nicklas 37   */
6400 27 Jan 14 nicklas 38   xml.createDocument = function(rootTag)
5274 17 Mar 10 nicklas 39   {
6400 27 Jan 14 nicklas 40     var doc = document.implementation.createDocument(null, rootTag, null);
5281 23 Mar 10 nicklas 41     return doc;
5274 17 Mar 10 nicklas 42   }
5274 17 Mar 10 nicklas 43   
5274 17 Mar 10 nicklas 44   /**
5274 17 Mar 10 nicklas 45     Add a tag as a child node in the document.
5274 17 Mar 10 nicklas 46     @param node The parent node
5274 17 Mar 10 nicklas 47     @param name The child tag name
5274 17 Mar 10 nicklas 48     @param value The text value of the tag (or null if not given)
5274 17 Mar 10 nicklas 49     @return The new node object
5274 17 Mar 10 nicklas 50   */
6400 27 Jan 14 nicklas 51   xml.addTag = function(node, name, value)
5274 17 Mar 10 nicklas 52   {
5274 17 Mar 10 nicklas 53     var childNode = node.ownerDocument.createElement(name);
5274 17 Mar 10 nicklas 54     node.appendChild(childNode);
5274 17 Mar 10 nicklas 55     if (value)
5274 17 Mar 10 nicklas 56     {
5274 17 Mar 10 nicklas 57       var textNode = node.ownerDocument.createTextNode(value);
5274 17 Mar 10 nicklas 58       childNode.appendChild(textNode);
5274 17 Mar 10 nicklas 59     }
5274 17 Mar 10 nicklas 60     return childNode;
5274 17 Mar 10 nicklas 61   }
5274 17 Mar 10 nicklas 62   
5274 17 Mar 10 nicklas 63   /**
5274 17 Mar 10 nicklas 64     Set an attribute for a node.
5274 17 Mar 10 nicklas 65     @param node The node
5274 17 Mar 10 nicklas 66     @param name The name of the attribute
5274 17 Mar 10 nicklas 67     @param value The value of the attribute
5274 17 Mar 10 nicklas 68   */
6400 27 Jan 14 nicklas 69   xml.setAttribute = function(node, name, value)
5274 17 Mar 10 nicklas 70   {
5274 17 Mar 10 nicklas 71     node.setAttribute(name, value);
5274 17 Mar 10 nicklas 72   }
5274 17 Mar 10 nicklas 73   
5274 17 Mar 10 nicklas 74   /**
5274 17 Mar 10 nicklas 75     Convert an XML Document object to it's string representation.
5274 17 Mar 10 nicklas 76     @param document The document object
5274 17 Mar 10 nicklas 77     @return An xml string
5274 17 Mar 10 nicklas 78   */
6400 27 Jan 14 nicklas 79   xml.toString = function(document)
5274 17 Mar 10 nicklas 80   {
6400 27 Jan 14 nicklas 81     var s = new XMLSerializer().serializeToString(document);
6400 27 Jan 14 nicklas 82     return s;
5274 17 Mar 10 nicklas 83   }
6400 27 Jan 14 nicklas 84   
6400 27 Jan 14 nicklas 85   return xml;
6400 27 Jan 14 nicklas 86 }();
5274 17 Mar 10 nicklas 87
6400 27 Jan 14 nicklas 88