Update of /project/cl-soap/cvsroot/cl-soap/src In directory common-lisp.net:/tmp/cvs-serv5816/src
Modified Files: xsd.lisp Log Message: we now return repeatable elements as full lists
Date: Mon Sep 26 16:40:38 2005 Author: scaekenberghe
Index: cl-soap/src/xsd.lisp diff -u cl-soap/src/xsd.lisp:1.13 cl-soap/src/xsd.lisp:1.14 --- cl-soap/src/xsd.lisp:1.13 Mon Sep 26 12:41:50 2005 +++ cl-soap/src/xsd.lisp Mon Sep 26 16:40:37 2005 @@ -1,6 +1,6 @@ ;;;; -*- mode: lisp -*- ;;;; -;;;; $Id: xsd.lisp,v 1.13 2005/09/26 10:41:50 scaekenberghe Exp $ +;;;; $Id: xsd.lisp,v 1.14 2005/09/26 14:40:37 scaekenberghe Exp $ ;;;; ;;;; A partial implementation of the XML Schema Definition standard ;;;; @@ -335,15 +335,13 @@ (resolve-primitive member member-type item-lxml namespace) (when required (incf count) - (push member-name resolved-members) - (push member-value resolved-members))) + (push (list member-name member-value) resolved-members))) (multiple-value-bind (member-value required) (resolve-type member-type item-lxml member xml-schema-definition namespace) (when required (incf count) - (push member-name resolved-members) - (push member-value resolved-members))))) + (push (list member-name member-value) resolved-members))))) (if (zerop count) (unless (or (is-optional-p member) (get-nillable member)) (error "Required element <~a> not found" member-name)))) @@ -389,15 +387,13 @@ (resolve-primitive member member-type item-lxml namespace) (when required (incf count) - (push member-name resolved-members) - (push member-value resolved-members))) + (push (list member-name member-value) resolved-members))) (multiple-value-bind (member-value required) (resolve-type member-type item-lxml member xml-schema-definition namespace) (when required (incf count) - (push member-name resolved-members) - (push member-value resolved-members)))) + (push (list member-name member-value) resolved-members)))) (error "Expected a <~a> element" sub-tag-name))) (if (zerop count) (unless (or (is-optional-p member) (get-nillable member))