Renaming permissive? to permissive-xexprs based on Matthias suggestion
svn: r15237
This commit is contained in:
parent
685c964a3e
commit
ad53d3e60d
|
@ -52,8 +52,8 @@
|
|||
(lambda ()
|
||||
(let* ([source-name (get-source-name editor)]
|
||||
[port (open-input-text-editor editor 0 'end (xml-snip-filter editor) source-name)]
|
||||
[xml (parameterize ([permissive? #t]) (read-xml port))]
|
||||
[xexpr (parameterize ([permissive? #t]) (xml->xexpr (document-element xml)))]
|
||||
[xml (parameterize ([permissive-xexprs #t]) (read-xml port))]
|
||||
[xexpr (parameterize ([permissive-xexprs #t]) (xml->xexpr (document-element xml)))]
|
||||
[clean-xexpr (if eliminate-whitespace-in-empty-tags?
|
||||
(eliminate-whitespace-in-empty-tags xexpr)
|
||||
xexpr)]
|
||||
|
|
|
@ -566,7 +566,7 @@ END
|
|||
; XXX correct-xexpr?
|
||||
|
||||
(test-suite
|
||||
"permissive?"
|
||||
"permissive-xexprs"
|
||||
(test-exn
|
||||
"Non-permissive"
|
||||
(lambda (exn)
|
||||
|
@ -577,7 +577,7 @@ END
|
|||
|
||||
(test-false
|
||||
"Permissive"
|
||||
(parameterize ([permissive? #t])
|
||||
(parameterize ([permissive-xexprs #t])
|
||||
(xml->xexpr #f))))))
|
||||
|
||||
(local
|
||||
|
|
|
@ -54,19 +54,19 @@
|
|||
; Comment = (make-comment String)
|
||||
(define-struct comment (text))
|
||||
|
||||
; permissive? : parameter bool
|
||||
(define permissive? (make-parameter #f))
|
||||
; permissive-xexprs : parameter bool
|
||||
(define permissive-xexprs (make-parameter #f))
|
||||
|
||||
(define permissive/c
|
||||
(make-proj-contract 'permissive/c
|
||||
(lambda (pos neg src-info name)
|
||||
(lambda (v)
|
||||
(if (permissive?)
|
||||
(if (permissive-xexprs)
|
||||
v
|
||||
(raise-contract-error
|
||||
v src-info pos name "not in permissive mode"))))
|
||||
(lambda (v)
|
||||
(permissive?))))
|
||||
(permissive-xexprs))))
|
||||
|
||||
; content? : TST -> Bool
|
||||
(define content/c
|
||||
|
@ -112,7 +112,7 @@
|
|||
[stop location/c]
|
||||
[name symbol?]
|
||||
[value (or/c string? permissive/c)]))
|
||||
[permissive? (parameter/c boolean?)]
|
||||
[permissive-xexprs (parameter/c boolean?)]
|
||||
[permissive/c contract?]
|
||||
[content/c contract?]
|
||||
(struct (pcdata source) ([start location/c]
|
||||
|
|
|
@ -91,7 +91,7 @@
|
|||
(car x))
|
||||
(current-continuation-marks)
|
||||
x)))))
|
||||
[(permissive?) (true)]
|
||||
[(permissive-xexprs) (true)]
|
||||
(else (false
|
||||
(make-exn:invalid-xexpr
|
||||
(format (string-append
|
||||
|
@ -132,7 +132,7 @@
|
|||
(if (symbol? (car attr))
|
||||
(if (pair? (cdr attr))
|
||||
(if (or (string? (cadr attr))
|
||||
(permissive?))
|
||||
(permissive-xexprs))
|
||||
(true)
|
||||
(false (make-exn:invalid-xexpr
|
||||
(format "Expected a string, given ~a" (cadr attr))
|
||||
|
@ -189,7 +189,7 @@
|
|||
[(entity? x) (entity-text x)]
|
||||
[(or (comment? x) (p-i? x) (cdata? x)) x]
|
||||
[(document? x) (error 'xml->xexpr "Expected content, given ~e\nUse document-element to extract the content." x)]
|
||||
[(permissive?) x]
|
||||
[(permissive-xexprs) x]
|
||||
[else (error 'xml->xexpr "Expected content, given ~e" x)]))))
|
||||
|
||||
;; attribute->srep : Attribute -> Attribute-srep
|
||||
|
|
|
@ -106,7 +106,7 @@ Represents an attribute within an element.}
|
|||
}
|
||||
|
||||
@defthing[permissive/c contract?]{
|
||||
If @scheme[(permissive?)] is @scheme[#t], then equivalent to @scheme[any/c], otherwise equivalent to @scheme[(make-none/c 'permissive)]}
|
||||
If @scheme[(permissive-xexprs)] is @scheme[#t], then equivalent to @scheme[any/c], otherwise equivalent to @scheme[(make-none/c 'permissive)]}
|
||||
|
||||
@defstruct[(entity source) ([text (or/c symbol? exact-nonnegative-integer?)])]{
|
||||
|
||||
|
@ -246,7 +246,7 @@ like @scheme[display-xml].}
|
|||
|
||||
@section{XML and X-expression Conversions}
|
||||
|
||||
@defboolparam[permissive? v]{
|
||||
@defboolparam[permissive-xexprs v]{
|
||||
If this is set to non-false, then @scheme[xml->xexpr] will allow
|
||||
non-XML objects, such as other structs, in the content of the converted XML
|
||||
and leave them in place in the resulting ``@tech{X-expression}''.
|
||||
|
@ -255,7 +255,7 @@ like @scheme[display-xml].}
|
|||
@defproc[(xml->xexpr [content content/c]) xexpr/c]{
|
||||
|
||||
Converts document content into an @tech{X-expression}, using
|
||||
@scheme[permissive?] to determine if foreign objects are allowed.}
|
||||
@scheme[permissive-xexprs] to determine if foreign objects are allowed.}
|
||||
|
||||
@defproc[(xexpr->xml [xexpr xexpr/c]) content/c]{
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user