diff options
author | jsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68> | 2010-12-24 04:35:53 +0000 |
---|---|---|
committer | jsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68> | 2010-12-24 04:35:53 +0000 |
commit | 86fa951ba99a04edf6a41b04751a1ad679dc2d36 (patch) | |
tree | c366d8560cf95210f8c2400fdec76652142950f9 /sca-cpp/trunk/modules/js | |
parent | 150feb74a6f2897d860be360cedf641e004f5ca8 (diff) |
Apply roundtripping fixes from SVN r1052432 to Python and Javascript scripts.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1052445 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
-rw-r--r-- | sca-cpp/trunk/modules/js/htdocs/atomutil.js | 10 | ||||
-rw-r--r-- | sca-cpp/trunk/modules/js/htdocs/elemutil.js | 2 | ||||
-rw-r--r-- | sca-cpp/trunk/modules/js/htdocs/xmlutil.js | 11 |
3 files changed, 16 insertions, 7 deletions
diff --git a/sca-cpp/trunk/modules/js/htdocs/atomutil.js b/sca-cpp/trunk/modules/js/htdocs/atomutil.js index 3499948083..6b998dceda 100644 --- a/sca-cpp/trunk/modules/js/htdocs/atomutil.js +++ b/sca-cpp/trunk/modules/js/htdocs/atomutil.js @@ -65,11 +65,9 @@ atom.entryValue = function(e) { * Return true if a list of strings represents an ATOM feed. */ atom.isATOMFeed = function(l) { - if (isNil(l)) - return false; - if (car(l).substring(0, 5) != "<?xml") + if (!isXML(l)) return false; - return car(l).match("<feed") != null; + return car(l).match('<feed') != null && car(l).match('="http://www.w3.org/2005/Atom"') != null; }; /** @@ -151,7 +149,9 @@ atom.writeATOMFeed = function(l) { * Convert an ATOM entry containing a value to an ATOM entry containing an item element. */ atom.entryValuesToElements = function(v) { - return cons(car(v), cons(cadr(v), valuesToElements(mklist(cons("'item", caddr(v)))))); + if (isList(caddr(v))) + return cons(car(v), cons(cadr(v), valuesToElements(mklist(cons("'item", caddr(v)))))); + return cons(car(v), cons(cadr(v), valuesToElements(mklist(mklist("'item", caddr(v)))))); }; /** diff --git a/sca-cpp/trunk/modules/js/htdocs/elemutil.js b/sca-cpp/trunk/modules/js/htdocs/elemutil.js index 6bebc02101..00baab06c8 100644 --- a/sca-cpp/trunk/modules/js/htdocs/elemutil.js +++ b/sca-cpp/trunk/modules/js/htdocs/elemutil.js @@ -161,7 +161,7 @@ function elementsToValues(e) { function valueToElement(t) { if (isList(t) && !isNil(t) && isSymbol(car(t))) { var n = car(t); - var v = cadr(t) + var v = isNil(cdr(t))? mklist() : cadr(t); if (!isList(v)) { if (n.substring(0, 2) == atsign) return mklist(attribute, n.substring(1), v); diff --git a/sca-cpp/trunk/modules/js/htdocs/xmlutil.js b/sca-cpp/trunk/modules/js/htdocs/xmlutil.js index 121bf8692c..1bec45f9b9 100644 --- a/sca-cpp/trunk/modules/js/htdocs/xmlutil.js +++ b/sca-cpp/trunk/modules/js/htdocs/xmlutil.js @@ -84,6 +84,15 @@ function readElements(l) { } /** + * Return true if a list of strings contains an XML document. + */ +function isXML(l) { + if (isNil(l)) + return false; + return car(l).substring(0, 5) == '<?xml'; +} + +/** * Parse a list of strings representing an XML document. */ function parseXML(l) { @@ -107,7 +116,7 @@ function parseXML(l) { * Read a list of values from an XML document. */ function readXMLDocument(doc) { - var root = nodeList(doc.childNodes); + var root = childElements(doc); if (isNil(root)) return mklist(); return mklist(readElement(car(root))); |