Functions to parse XML into lazy sequences and lazy trees and emit these as text.
Functions to parse XML into lazy sequences and lazy trees and emit these as text.
(aggregate-xmlns xml)
Put all occurring xmlns into the root
Put all occurring xmlns into the root
(alias-uri & {:as alias-nss})
Define a Clojure namespace aliases for xmlns uris.
This sets up the current namespace for reading qnames denoted with Clojure's ::alias/keywords reader feature.
(alias-uri :D "DAV:") ; similar in effect to ;; (require '[xmlns.DAV%3A :as D]) ; but required namespace is auto-created ; henceforth, shorthand keywords can be used {:tag ::D/propfind} ; ::D/propfind will be expanded to :xmlns.DAV%3A/propfind ; in the current namespace by the reader
Currently, namespaces can't be auto-created in Clojurescript.
Dummy files for aliased uris have to exist. Have a look at uri-file
and print-uri-file-command!
to create those.
Define a Clojure namespace aliases for xmlns uris. This sets up the current namespace for reading qnames denoted with Clojure's ::alias/keywords reader feature. ## Example (alias-uri :D "DAV:") ; similar in effect to ;; (require '[xmlns.DAV%3A :as D]) ; but required namespace is auto-created ; henceforth, shorthand keywords can be used {:tag ::D/propfind} ; ::D/propfind will be expanded to :xmlns.DAV%3A/propfind ; in the current namespace by the reader ## Clojurescript support Currently, namespaces can't be auto-created in Clojurescript. Dummy files for aliased uris have to exist. Have a look at `uri-file` and `print-uri-file-command!` to create those.
(as-qname n)
(element tag)
(element tag attrs)
(element tag attrs & content)
Create an xml Element from content varargs
Create an xml Element from content varargs
(element* tag attrs content)
(element* tag attrs content meta)
Create an xml element from a content collection and optional metadata
Create an xml element from a content collection and optional metadata
(element-nss {:keys [attrs] :as element})
Get xmlns environment from element
Get xmlns environment from element
(element? el)
(emit e writer & {:as opts})
Prints the given Element tree as XML text to stream. Options: :encoding <str> Character encoding to use :doctype <str> Document type (DOCTYPE) declaration to use
Prints the given Element tree as XML text to stream. Options: :encoding <str> Character encoding to use :doctype <str> Document type (DOCTYPE) declaration to use
(emit-str e & opts)
Emits the Element to String and returns it. Options: :encoding <str> Character encoding to use :doctype <str> Document type (DOCTYPE) declaration to use
Emits the Element to String and returns it. Options: :encoding <str> Character encoding to use :doctype <str> Document type (DOCTYPE) declaration to use
(emit-str e & {:keys []})
Use XMLSerializer to render an xml string
Use XMLSerializer to render an xml string
(event-seq source
{:keys [include-node? location-info coalescing
supporting-external-entities allocator namespace-aware
replacing-entity-references validating reporter resolver
support-dtd]
:or {include-node? #{:characters :element}
location-info true
coalescing true
supporting-external-entities false}})
Parses an XML input source into a lazy sequence of pull events.
Input source can be a java.io.InputStream or java.io.Reader
Options:
:include-node? can be a subset of #{:element :characters :comment} default #{:element :characters} :location-info pass false to skip generating location meta data
See http://docs.oracle.com/javase/6/docs/api/javax/xml/stream/XMLInputFactory.html for documentation on options:
{:allocator XMLInputFactory/ALLOCATOR :coalescing XMLInputFactory/IS_COALESCING :namespace-aware XMLInputFactory/IS_NAMESPACE_AWARE :replacing-entity-references XMLInputFactory/IS_REPLACING_ENTITY_REFERENCES :supporting-external-entities XMLInputFactory/IS_SUPPORTING_EXTERNAL_ENTITIES :validating XMLInputFactory/IS_VALIDATING :reporter XMLInputFactory/REPORTER :resolver XMLInputFactory/RESOLVER :support-dtd XMLInputFactory/SUPPORT_DTD}
Parses an XML input source into a lazy sequence of pull events. Input source can be a java.io.InputStream or java.io.Reader Options: :include-node? can be a subset of #{:element :characters :comment} default #{:element :characters} :location-info pass false to skip generating location meta data See http://docs.oracle.com/javase/6/docs/api/javax/xml/stream/XMLInputFactory.html for documentation on options: {:allocator XMLInputFactory/ALLOCATOR :coalescing XMLInputFactory/IS_COALESCING :namespace-aware XMLInputFactory/IS_NAMESPACE_AWARE :replacing-entity-references XMLInputFactory/IS_REPLACING_ENTITY_REFERENCES :supporting-external-entities XMLInputFactory/IS_SUPPORTING_EXTERNAL_ENTITIES :validating XMLInputFactory/IS_VALIDATING :reporter XMLInputFactory/REPORTER :resolver XMLInputFactory/RESOLVER :support-dtd XMLInputFactory/SUPPORT_DTD}
(find-xmlns xml)
Find all xmlns occuring in a root
Find all xmlns occuring in a root
(indent e writer & opts)
Emits the XML and indents the result. WARNING: this is slow it will emit the XML and read it in again to indent it. Intended for debugging/testing only.
Emits the XML and indents the result. WARNING: this is slow it will emit the XML and read it in again to indent it. Intended for debugging/testing only.
(indent-str e & opts)
Emits the XML and indents the result. Writes the results to a String and returns it
Emits the XML and indents the result. Writes the results to a String and returns it
(parse source
&
{:keys [include-node? location-info coalescing
supporting-external-entities allocator namespace-aware
replacing-entity-references validating reporter resolver
support-dtd]
:or {include-node? #{:characters :element}
location-info true
coalescing true
supporting-external-entities false}})
Parses an XML input source into a a tree of Element records. The element tree is realized lazily, so huge XML files can be streamed through a depth-first tree walk.
Input source can be a java.io.InputStream or java.io.Reader
Options:
:include-node? can be a subset of #{:element :characters :comment} default #{:element :characters} :location-info pass false to skip generating location meta data
See http://docs.oracle.com/javase/6/docs/api/javax/xml/stream/XMLInputFactory.html for documentation on options:
{:allocator XMLInputFactory/ALLOCATOR :coalescing XMLInputFactory/IS_COALESCING :namespace-aware XMLInputFactory/IS_NAMESPACE_AWARE :replacing-entity-references XMLInputFactory/IS_REPLACING_ENTITY_REFERENCES :supporting-external-entities XMLInputFactory/IS_SUPPORTING_EXTERNAL_ENTITIES :validating XMLInputFactory/IS_VALIDATING :reporter XMLInputFactory/REPORTER :resolver XMLInputFactory/RESOLVER :support-dtd XMLInputFactory/SUPPORT_DTD}
Parses an XML input source into a a tree of Element records. The element tree is realized lazily, so huge XML files can be streamed through a depth-first tree walk. Input source can be a java.io.InputStream or java.io.Reader Options: :include-node? can be a subset of #{:element :characters :comment} default #{:element :characters} :location-info pass false to skip generating location meta data See http://docs.oracle.com/javase/6/docs/api/javax/xml/stream/XMLInputFactory.html for documentation on options: {:allocator XMLInputFactory/ALLOCATOR :coalescing XMLInputFactory/IS_COALESCING :namespace-aware XMLInputFactory/IS_NAMESPACE_AWARE :replacing-entity-references XMLInputFactory/IS_REPLACING_ENTITY_REFERENCES :supporting-external-entities XMLInputFactory/IS_SUPPORTING_EXTERNAL_ENTITIES :validating XMLInputFactory/IS_VALIDATING :reporter XMLInputFactory/REPORTER :resolver XMLInputFactory/RESOLVER :support-dtd XMLInputFactory/SUPPORT_DTD}
(parse-str string
&
{:keys [include-node? location-info coalescing
supporting-external-entities allocator namespace-aware
replacing-entity-references validating reporter resolver
support-dtd]
:or {include-node? #{:characters :element}
location-info true
coalescing true
supporting-external-entities false}})
Parses an XML String into a a tree of Element records.
Options:
:include-node? can be a subset of #{:element :characters :comment} default #{:element :characters} :location-info pass false to skip generating location meta data
See http://docs.oracle.com/javase/6/docs/api/javax/xml/stream/XMLInputFactory.html for documentation on options:
{:allocator XMLInputFactory/ALLOCATOR :coalescing XMLInputFactory/IS_COALESCING :namespace-aware XMLInputFactory/IS_NAMESPACE_AWARE :replacing-entity-references XMLInputFactory/IS_REPLACING_ENTITY_REFERENCES :supporting-external-entities XMLInputFactory/IS_SUPPORTING_EXTERNAL_ENTITIES :validating XMLInputFactory/IS_VALIDATING :reporter XMLInputFactory/REPORTER :resolver XMLInputFactory/RESOLVER :support-dtd XMLInputFactory/SUPPORT_DTD}
Parses an XML String into a a tree of Element records. Options: :include-node? can be a subset of #{:element :characters :comment} default #{:element :characters} :location-info pass false to skip generating location meta data See http://docs.oracle.com/javase/6/docs/api/javax/xml/stream/XMLInputFactory.html for documentation on options: {:allocator XMLInputFactory/ALLOCATOR :coalescing XMLInputFactory/IS_COALESCING :namespace-aware XMLInputFactory/IS_NAMESPACE_AWARE :replacing-entity-references XMLInputFactory/IS_REPLACING_ENTITY_REFERENCES :supporting-external-entities XMLInputFactory/IS_SUPPORTING_EXTERNAL_ENTITIES :validating XMLInputFactory/IS_VALIDATING :reporter XMLInputFactory/REPORTER :resolver XMLInputFactory/RESOLVER :support-dtd XMLInputFactory/SUPPORT_DTD}
(parse-str s
&
{:keys [content-type on-error raw]
:or {content-type "text/xml"
on-error (fn* [p1__1205#]
(throw (ex-info "XML parser error"
{:doc p1__1205# :input s})))}})
Use DOMParser to parse xml string
Use DOMParser to parse xml string
(print-uri-file-command! uri)
Shell command to create a dummy file for xmlns. Execute from a source root.
Shell command to create a dummy file for xmlns. Execute from a source root.
(qname local)
(qname uri local)
(qname uri local prefix)
(qname-local v)
Get the name for this qname
Get the name for this qname
(qname-uri v)
Get the namespace uri for this qname
Get the namespace uri for this qname
(sexp-as-element sexp)
Convert a single sexp into an Element
Convert a single sexp into an Element
(sexps-as-fragment)
(sexps-as-fragment sexp)
(sexps-as-fragment sexp & sexps)
Convert a compact prxml/hiccup-style data structure into the more formal tag/attrs/content format. A seq of elements will be returned, which may not be suitable for immediate use as there is no root element. See also sexp-as-element.
The format is [:tag-name attr-map? content*]. Each vector opens a new tag; seqs do not open new tags, and are just used for inserting groups of elements into the parent tag. A bare keyword not in a vector creates an empty element.
To provide XML conversion for your own data types, extend the AsElements protocol to them.
Convert a compact prxml/hiccup-style data structure into the more formal tag/attrs/content format. A seq of elements will be returned, which may not be suitable for immediate use as there is no root element. See also sexp-as-element. The format is [:tag-name attr-map? content*]. Each vector opens a new tag; seqs do not open new tags, and are just used for inserting groups of elements into the parent tag. A bare keyword not in a vector creates an empty element. To provide XML conversion for your own data types, extend the AsElements protocol to them.
(symbol-uri ss)
(uri-file uri)
Dummy file name for :require'ing xmlns uri
Dummy file name for :require'ing xmlns uri
(uri-symbol uri)
(xml-comment content)
Create a Comment node
Create a Comment node
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close