Changeset 12181 in project


Ignore:
Timestamp:
10/16/08 05:26:38 (12 years ago)
Author:
Ivan Raikov
Message:

Added a warning message for unrecognized XML.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • release/3/nemo/trunk/nemo.scm

    r12129 r12181  
    4444(define nl "\n")
    4545
    46 ;;; Error/warning procedures for the XML parser
     46
     47(define (warn port message . specialising-msgs)
     48  (print-error-message message (current-output-port) "Warning")
     49  (print (string-concatenate (map ->string specialising-msgs))))
     50
     51;;; Error procedure for the XML parser
    4752
    4853(define (parser-error port message . specialising-msgs)
    4954  (error (string-append message (string-concatenate (map ->string specialising-msgs)))))
    5055
    51 (define (ssax:warn port message . specialising-msgs)
    52   (print-error-message message (current-output-port) "Warning")
    53   (print (string-concatenate (map ->string specialising-msgs))))
     56(define ssax:warn warn)
     57
    5458
    5559(define opts
     
    7074                       (string->symbol arg))
    7175    ,(args:make-option (t)       #:none
    72                        (s+ "use interpolation tables in generated code")
     76                       (s+ "use interpolation tables in generated code, if possible")
    7377                       #t)
    7478    ,(args:make-option (h help)  #:none               "Print help"
     
    290294
    291295
    292 (define null-template `(*default* ,(lambda (node bindings root env) '())))
     296(define null-template
     297  `(*default* ,(lambda (node bindings root env)
     298                 (begin
     299                   (warn "Unrecognized input element:" node)
     300                   '()))))
    293301
    294302(define-syntax  sxml:make-null-ss
     
    487495                           ))))))
    488496
     497       (decaying-pool-template
     498        (sxml:match 'ncml:decaying_pool
     499                    (lambda (node bindings root env)
     500                      (let* ((or-expr   (lambda (x) (and x (ncml-expr->expr (second x)))))
     501                             (id         (sxml:attr node 'id))
     502                             (initial    (or-expr (sxml:kidn* 'ncml:initial node)))
     503                             (beta       (or-expr (sxml:kidn* 'ncml:beta node)))
     504                             (depth      (or-expr (sxml:kidn* 'ncml:depth node)))
     505                             (temp-adj   (or-expr (sxml:kidn* 'ncml:temp_adj node))))
     506                        (if (not id)
     507                            (error 'decaying-pool-template "decaying pool definition requires id attribute"))
     508                        (if (not initial)
     509                            (error 'decaying-pool-template "decaying pool definition requires initial value"))
     510                        (if (not beta)
     511                            (error 'decaying-pool-template "decaying pool definition requires beta parameter"))
     512                        (if (not depth)
     513                            (error 'decaying-pool-template "decaying pool definition requires depth parameter"))
     514                           
     515                        `(decaying-pool
     516                          (,($ id)
     517                           ,@(if temp_adj `((temp_adj ,temp_adj)) `())
     518                           (beta ,beta)
     519                           (depth ,depth)
     520                           (initial ,initial)))))))
    489521        )
    490522
     
    496528                                                       defun-template
    497529                                                       component-template
    498                                                        hh-template)
     530                                                       hh-template
     531                                                       decaying-pool-template)
    499532                         ncml:model (list))))
    500533
Note: See TracChangeset for help on using the changeset viewer.