7487
((3) 0 () 21 ((q lib "xml/main.rkt") (q 1489 . 6) (q lib "xml/private/xexpr-core.rkt") (q 839 . 6) (q 1868 . 5) (q 1120 . 5) (q 1019 . 4) (q 1664 . 6) (q 662 . 3) (q 271 . 5) (q 2390 . 4) (q 1302 . 6) (q 2499 . 4) (q lib "xml/path.rkt") (q lib "xml/plist.rkt") (q 519 . 4) (q 2279 . 4) (q 0 . 6) (q 2151 . 4) (q 404 . 4) (q 2628 . 3)) () (h ! (equal) ((c def c (c (? . 0) q make-document)) c (? . 1)) ((c def c (c (? . 0) q document-type?)) c (? . 3)) ((c def c (c (? . 2) q xexpr/c)) q (2771 . 2)) ((c def c (c (? . 0) q attribute?)) c (? . 4)) ((c def c (c (? . 0) q struct:external-dtd/system)) c (? . 8)) ((c def c (c (? . 0) q syntax:read-xml/element)) q (3248 . 5)) ((c def c (c (? . 0) q document-element)) c (? . 1)) ((c def c (c (? . 0) q struct:document)) c (? . 1)) ((c def c (c (? . 0) q prolog?)) c (? . 11)) ((c def c (c (? . 0) q read-xml/document)) q (2889 . 3)) ((c def c (c (? . 0) q element-attributes)) c (? . 7)) ((c def c (c (? . 0) q struct:entity)) c (? . 18)) ((c def c (c (? . 2) q xexpr?)) q (2719 . 3)) ((c def c (c (? . 0) q make-document-type)) c (? . 3)) ((c def c (c (? . 0) q comment-text)) c (? . 6)) ((c def c (c (? . 0) q document-type-name)) c (? . 3)) ((c def c (c (? . 0) q write-xexpr)) q (4382 . 7)) ((c def c (c (? . 0) q p-i-target-name)) c (? . 5)) ((c def c (c (? . 2) q struct:exn:xml)) c (? . 20)) ((c def c (c (? . 0) q attribute)) c (? . 4)) ((c def c (c (? . 0) q struct:source)) c (? . 9)) ((c def c (c (? . 0) q xexpr-drop-empty-attributes)) q (6387 . 4)) ((c def c (c (? . 0) q exn:invalid-xexpr?)) c (? . 12)) ((c def c (c (? . 0) q struct:p-i)) c (? . 5)) ((c def c (c (? . 0) q make-comment)) c (? . 6)) ((c def c (c (? . 0) q element-name)) c (? . 7)) ((c def c (c (? . 0) q attribute-value)) c (? . 4)) ((c def c (c (? . 0) q collapse-whitespace)) q (6059 . 4)) ((c def c (c (? . 0) q external-dtd/system?)) c (? . 8)) ((c def c (c (? . 0) q comment)) c (? . 6)) ((c def c (c (? . 0) q source)) c (? . 9)) ((c def c (c (? . 0) q make-p-i)) c (? . 5)) ((c def c (c (? . 0) q no-external-dtd)) q (776 . 2)) ((c def c (c (? . 0) q html-unescaped-tags)) q (5672 . 2)) ((c def c (c (? . 0) q document?)) c (? . 1)) ((c def c (c (? . 0) q cdata)) c (? . 10)) ((c def c (c (? . 0) q make-cdata)) c (? . 10)) ((c def c (c (? . 0) q display-xml/content)) q (4039 . 7)) ((c def c (c (? . 0) q current-unescaped-tags)) q (5532 . 5)) ((c def c (c (? . 0) q document-type)) c (? . 3)) ((c def c (c (? . 0) q pcdata)) c (? . 16)) ((c def c (c (? . 0) q make-prolog)) c (? . 11)) ((c def c (c (? . 0) q eliminate-whitespace)) q (5126 . 5)) ((c def c (c (? . 0) q p-i?)) c (? . 5)) ((c def c (c (? . 14) q read-plist)) q (6632 . 3)) ((c def c (c (? . 0) q exn:invalid-xexpr)) c (? . 12)) ((c def c (c (? . 13) q se-path*)) q (6917 . 4)) ((c def c (c (? . 0) q external-dtd)) c (? . 19)) ((c def c (c (? . 0) q read-comments)) q (6173 . 4)) ((c def c (c (? . 13) q se-path*/list)) q (6826 . 4)) ((c def c (c (? . 0) q cdata?)) c (? . 10)) ((c def c (c (? . 14) q plist-value?)) q (6509 . 3)) ((c def c (c (? . 14) q plist-dict?)) q (6571 . 3)) ((c def c (c (? . 0) q struct:element)) c (? . 7)) ((c def c (c (? . 14) q write-plist)) q (6700 . 4)) ((c def c (c (? . 0) q prolog-dtd)) c (? . 11)) ((c def c (c (? . 0) q make-external-dtd/public)) c (? . 15)) ((c def c (c (? . 0) q display-xml)) q (3724 . 7)) ((c def c (c (? . 0) q external-dtd/public?)) c (? . 15)) ((c def c (c (? . 0) q struct:external-dtd/public)) c (? . 15)) ((c def c (c (? . 0) q write-xml/content)) q (3590 . 4)) ((c def c (c (? . 0) q permissive-xexprs)) q (4691 . 4)) ((c def c (c (? . 0) q make-element)) c (? . 7)) ((c def c (c (? . 0) q make-pcdata)) c (? . 16)) ((c def c (c (? . 2) q correct-xexpr?)) q (5375 . 5)) ((c def c (c (? . 0) q prolog-misc2)) c (? . 11)) ((c def c (c (? . 0) q location-char)) c (? . 17)) ((c def c (c (? . 0) q location)) c (? . 17)) ((c def c (c (? . 0) q element)) c (? . 7)) ((c def c (c (? . 0) q source?)) c (? . 9)) ((c def c (c (? . 0) q element-content)) c (? . 7)) ((c def c (c (? . 0) q pcdata-string)) c (? . 16)) ((c def c (c (? . 0) q entity?)) c (? . 18)) ((c def c (c (? . 0) q make-source)) c (? . 9)) ((c def c (c (? . 0) q location-line)) c (? . 17)) ((c def c (c (? . 0) q make-location)) c (? . 17)) ((c def c (c (? . 0) q external-dtd-system)) c (? . 19)) ((c def c (c (? . 0) q struct:document-type)) c (? . 3)) ((c def c (c (? . 0) q location-offset)) c (? . 17)) ((c def c (c (? . 0) q html-empty-tags)) q (5926 . 3)) ((c def c (c (? . 0) q document-type-external)) c (? . 3)) ((c def c (c (? . 0) q location?)) c (? . 17)) ((c def c (c (? . 0) q prolog-misc)) c (? . 11)) ((c def c (c (? . 2) q make-exn:xml)) c (? . 20)) ((c def c (c (? . 0) q read-xml)) q (2799 . 3)) ((c def c (c (? . 0) q external-dtd/system)) c (? . 8)) ((c def c (c (? . 0) q make-external-dtd)) c (? . 19)) ((c def c (c (? . 13) q se-path?)) q (6797 . 2)) ((c def c (c (? . 0) q struct:location)) c (? . 17)) ((c def c (c (? . 2) q exn:xml)) c (? . 20)) ((c def c (c (? . 0) q p-i)) c (? . 5)) ((c def c (c (? . 0) q permissive/c)) q (2061 . 2)) ((c def c (c (? . 0) q prolog)) c (? . 11)) ((c def c (c (? . 0) q exn:xml?)) c (? . 20)) ((c def c (c (? . 0) q xml-attribute-encode)) q (5055 . 3)) ((c def c (c (? . 0) q document-misc)) c (? . 1)) ((c def c (c (? . 0) q comment?)) c (? . 6)) ((c def c (c (? . 0) q cdata-string)) c (? . 10)) ((c def c (c (? . 2) q validate-xexpr)) q (5321 . 3)) ((c def c (c (? . 0) q external-dtd/public)) c (? . 15)) ((c def c (c (? . 0) q document-prolog)) c (? . 1)) ((c def c (c (? . 0) q pcdata?)) c (? . 16)) ((c def c (c (? . 0) q struct:external-dtd)) c (? . 19)) ((c def c (c (? . 0) q xexpr->xml)) q (4856 . 3)) ((c def c (c (? . 0) q make-external-dtd/system)) c (? . 8)) ((c def c (c (? . 0) q misc/c)) q (1275 . 2)) ((c def c (c (? . 0) q struct:attribute)) c (? . 4)) ((c def c (c (? . 0) q make-attribute)) c (? . 4)) ((c def c (c (? . 0) q p-i-instruction)) c (? . 5)) ((c def c (c (? . 0) q attribute-name)) c (? . 4)) ((c def c (c (? . 0) q document)) c (? . 1)) ((c def c (c (? . 0) q element?)) c (? . 7)) ((c def c (c (? . 0) q external-dtd?)) c (? . 19)) ((c def c (c (? . 0) q struct:comment)) c (? . 6)) ((c def c (c (? . 0) q make-entity)) c (? . 18)) ((c def c (c (? . 0) q struct:exn:invalid-xexpr)) c (? . 12)) ((c def c (c (? . 0) q make-exn:invalid-xexpr)) c (? . 12)) ((c def c (c (? . 0) q xexpr->string)) q (4923 . 3)) ((c def c (c (? . 0) q string->xexpr)) q (4991 . 3)) ((c def c (c (? . 0) q content/c)) q (2031 . 2)) ((c def c (c (? . 0) q entity-text)) c (? . 18)) ((c def c (c (? . 0) q location/c)) q (240 . 2)) ((c def c (c (? . 0) q document-type-inlined)) c (? . 3)) ((c def c (c (? . 0) q read-xml/element)) q (2988 . 3)) ((c def c (c (? . 0) q source-stop)) c (? . 9)) ((c def c (c (? . 0) q source-start)) c (? . 9)) ((c def c (c (? . 0) q external-dtd/public-public)) c (? . 15)) ((c def c (c (? . 0) q empty-tag-shorthand)) q (5741 . 4)) ((c def c (c (? . 0) q struct:pcdata)) c (? . 16)) ((c def c (c (? . 0) q struct:prolog)) c (? . 11)) ((c def c (c (? . 0) q xml-count-bytes)) q (6275 . 4)) ((c def c (c (? . 0) q exn:invalid-xexpr-code)) c (? . 12)) ((c def c (c (? . 0) q valid-char?)) q (2094 . 3)) ((c def c (c (? . 0) q syntax:read-xml)) q (3085 . 4)) ((c def c (c (? . 0) q xml->xexpr)) q (4785 . 3)) ((c def c (c (? . 0) q entity)) c (? . 18)) ((c def c (c (? . 0) q struct:cdata)) c (? . 10)) ((c def c (c (? . 0) q write-xml)) q (3472 . 4))))
struct
(struct location (line char offset)
    #:extra-constructor-name make-location)
  line : (or/c #f exact-nonnegative-integer?)
  char : (or/c #f exact-nonnegative-integer?)
  offset : exact-nonnegative-integer?
value
location/c : contract?
struct
(struct source (start stop)
    #:extra-constructor-name make-source)
  start : location/c
  stop : location/c
struct
(struct external-dtd (system)
    #:extra-constructor-name make-external-dtd)
  system : string?
struct
(struct external-dtd/public external-dtd (public)
    #:extra-constructor-name make-external-dtd/public)
  public : string?
struct
(struct external-dtd/system external-dtd ()
    #:extra-constructor-name make-external-dtd/system)
value
no-external-dtd : external-dtd? = (external-dtd "")
struct
(struct document-type (name external inlined)
    #:extra-constructor-name make-document-type)
  name : symbol?
  external : external-dtd?
  inlined : #f
struct
(struct comment (text)
    #:extra-constructor-name make-comment)
  text : string?
struct
(struct p-i source (target-name instruction)
    #:extra-constructor-name make-p-i)
  target-name : symbol?
  instruction : string?
value
misc/c : contract?
struct
(struct prolog (misc dtd misc2)
    #:extra-constructor-name make-prolog)
  misc : (listof misc/c)
  dtd : (or/c document-type #f)
  misc2 : (listof misc/c)
struct
(struct document (prolog element misc)
    #:extra-constructor-name make-document)
  prolog : prolog?
  element : element?
  misc : (listof misc/c)
struct
(struct element source (name attributes content)
    #:extra-constructor-name make-element)
  name : symbol?
  attributes : (listof attribute?)
  content : (listof content/c)
struct
(struct attribute source (name value)
    #:extra-constructor-name make-attribute)
  name : symbol?
  value : (or/c string? permissive/c)
value
content/c : contract?
value
permissive/c : contract?
procedure
(valid-char? x) -> boolean?
  x : any/c
struct
(struct entity source (text)
    #:extra-constructor-name make-entity)
  text : (or/c symbol? valid-char?)
struct
(struct pcdata source (string)
    #:extra-constructor-name make-pcdata)
  string : string?
struct
(struct cdata source (string)
    #:extra-constructor-name make-cdata)
  string : string?
struct
(struct exn:invalid-xexpr exn:fail (code)
    #:extra-constructor-name make-exn:invalid-xexpr)
  code : any/c
struct
(struct exn:xml exn:fail:read ()
    #:extra-constructor-name make-exn:xml)
procedure
(xexpr? v) -> boolean?
  v : any/c
value
xexpr/c : contract?
procedure
(read-xml [in]) -> document?
  in : input-port? = (current-input-port)
procedure
(read-xml/document [in]) -> document?
  in : input-port? = (current-input-port)
procedure
(read-xml/element [in]) -> element?
  in : input-port? = (current-input-port)
procedure
(syntax:read-xml [in #:src source-name]) -> syntax?
  in : input-port? = (current-input-port)
  source-name : any/c = (object-name in)
procedure
(syntax:read-xml/element [in                      
                          #:src source-name]) -> syntax?
  in : input-port? = (current-input-port)
  source-name : any/c = (object-name in)
procedure
(write-xml doc [out]) -> void?
  doc : document?
  out : output-port? = (current-output-port)
procedure
(write-xml/content content [out]) -> void?
  content : content/c
  out : output-port? = (current-output-port)
procedure
(display-xml  doc                             
             [out                             
              #:indentation indentation]) -> void?
  doc : document?
  out : output-port? = (current-output-port)
  indentation : (or/c 'none 'classic 'peek 'scan) = 'classic
procedure
(display-xml/content  content                         
                     [out                             
                      #:indentation indentation]) -> void?
  content : content/c
  out : output-port? = (current-output-port)
  indentation : (or/c 'none 'classic 'peek 'scan) = 'classic
procedure
(write-xexpr  xe                                        
             [out                                       
              #:insert-newlines? insert-newlines?]) -> void?
  xe : xexpr/c
  out : output-port? = (current-output-port)
  insert-newlines? : any/c = #f
parameter
(permissive-xexprs) -> boolean?
(permissive-xexprs v) -> void?
  v : any/c
procedure
(xml->xexpr content) -> xexpr/c
  content : content/c
procedure
(xexpr->xml xexpr) -> content/c
  xexpr : xexpr/c
procedure
(xexpr->string xexpr) -> string?
  xexpr : xexpr/c
procedure
(string->xexpr str) -> xexpr/c
  str : string?
procedure
(xml-attribute-encode str) -> string?
  str : string?
procedure
((eliminate-whitespace [tags choose]) elem) -> element?
  tags : (listof symbol?) = empty
  choose : (boolean? . -> . boolean?) = (λ (x) x)
  elem : element?
procedure
(validate-xexpr v) -> #t
  v : any/c
procedure
(correct-xexpr? v success-k fail-k) -> any/c
  v : any/c
  success-k : (-> any/c)
  fail-k : (exn:invalid-xexpr? . -> . any/c)
parameter
(current-unescaped-tags) -> (listof symbol?)
(current-unescaped-tags tags) -> void?
  tags : (listof symbol?)
 = '()
value
html-unescaped-tags : (listof symbol?) = '(script style)
parameter
(empty-tag-shorthand) -> (or/c 'always 'never (listof symbol?))
(empty-tag-shorthand shorthand) -> void?
  shorthand : (or/c 'always 'never (listof symbol?))
value
html-empty-tags : (listof symbol?)
 = '(param meta link isindex input img hr frame col br basefont base area)
parameter
(collapse-whitespace) -> boolean?
(collapse-whitespace collapse?) -> void?
  collapse? : any/c
parameter
(read-comments) -> boolean?
(read-comments preserve?) -> void?
  preserve? : any/c
parameter
(xml-count-bytes) -> boolean?
(xml-count-bytes count-bytes?) -> void?
  count-bytes? : any/c
parameter
(xexpr-drop-empty-attributes) -> boolean?
(xexpr-drop-empty-attributes drop?) -> void?
  drop? : any/c
procedure
(plist-value? any/c) -> boolean?
  any/c : v
procedure
(plist-dict? any/c) -> boolean?
  any/c : v
procedure
(read-plist in) -> plist-value?
  in : input-port?
procedure
(write-plist dict out) -> void?
  dict : plist-value?
  out : output-port?
value
se-path? : contract?
procedure
(se-path*/list p xe) -> (listof any/c)
  p : se-path?
  xe : xexpr?
procedure
(se-path* p xe) -> any/c
  p : se-path?
  xe : xexpr?
