I changed the code a bit: cpe-dictionary (-> "official-cpe-dictionary_v2.3.xml" (java.io.StringReader.) (xml/parse))
xmlzipper (clojure.zip/xml-zip cpe-dictionary) Now I get this: clojure.data.xml/*parse* xml.clj: 84 clojure.data.xml/*parse* xml.clj: 109 clojure.data.xml.tree/*event-tree* tree.clj: 70 clojure.core/*ffirst* core.clj: 105 clojure.core/*first* core.clj: 55 ... clojure.data.xml.tree/seq-tree/*fn* tree.clj: 39 clojure.core/*seq* core.clj: 139 ... clojure.data.xml.jvm.parse/pull-seq/*fn* parse.clj: 78 com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next XMLStreamReaderImpl.java: 652 *javax.xml.stream.XMLStreamException*: *ParseError at [row,col]:[1,1]* * Message: Content is not allowed in prolog.* *location*: #object[com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl$1 0x296bfddb "Line number = 1\nColumn number = 1\nSystem Id = null\nPublic Id = null\nLocation Uri= null\nCharacterOffset = 0\n"] On Tuesday, February 15, 2022 at 7:50:12 PM UTC-5 Laws wrote: > So, I went to the government NVD website: > > https://nvd.nist.gov/products/cpe > > I downloaded the CPE Dictionary and unpacked it. It looks like standard > XML. > > I copy and paste the standard XML example given on the Clojure XML > documentation page: > > cpe-dictionary (-> "official-cpe-dictionary_v2.3.xml" io/resource io/file > clj-xml/parse zip/xml-zip) > > I get: > > clojure.xml/*startparse-sax* xml.clj: 76 > ... > > jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke > DelegatingMethodAccessorImpl.java: 43 > > jdk.internal.reflect.NativeMethodAccessorImpl.invoke > NativeMethodAccessorImpl.java: 77 > > jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 > NativeMethodAccessorImpl.java > > com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse > SAXParserImpl.java: 317 > > *java.lang.IllegalArgumentException*: > > > I'm wondering, how do I figure out what is wrong here? I'm going to assume > the government is offering reasonably standard XML, so where would the > problem arise? How do I figure out a way around this? > > The CPE dictionary is 386 megabytes so I can't share the hold file here, > but when I run "head" on it, the beginning looks like this: > > > <?xml version='1.0' encoding='UTF-8'?> > > <cpe-list xmlns:config="http://scap.nist.gov/schema/configuration/0.1" > xmlns="http://cpe.mitre.org/dictionary/2.0" xmlns:xsi=" > http://www.w3.org/2001/XMLSchema-instance" xmlns:scap-core=" > http://scap.nist.gov/schema/scap-core/0.3" xmlns:cpe-23=" > http://scap.nist.gov/schema/cpe-extension/2.3" xmlns:ns6=" > http://scap.nist.gov/schema/scap-core/0.1" xmlns:meta=" > http://scap.nist.gov/schema/cpe-dictionary-metadata/0.2" > xsi:schemaLocation="http://scap.nist.gov/schema/cpe-extension/2.3 > https://scap.nist.gov/schema/cpe/2.3/cpe-dictionary-extension_2.3.xsd > http://cpe.mitre.org/dictionary/2.0 > https://scap.nist.gov/schema/cpe/2.3/cpe-dictionary_2.3.xsd > http://scap.nist.gov/schema/cpe-dictionary-metadata/0.2 > https://scap.nist.gov/schema/cpe/2.1/cpe-dictionary-metadata_0.2.xsd > http://scap.nist.gov/schema/scap-core/0.3 > https://scap.nist.gov/schema/nvd/scap-core_0.3.xsd > http://scap.nist.gov/schema/configuration/0.1 > https://scap.nist.gov/schema/nvd/configuration_0.1.xsd > http://scap.nist.gov/schema/scap-core/0.1 > https://scap.nist.gov/schema/nvd/scap-core_0.1.xsd"> > > <generator> > > <product_name>National Vulnerability Database (NVD)</product_name> > > <product_version>4.9</product_version> > > <schema_version>2.3</schema_version> > > <timestamp>2022-01-25T04:50:56.780Z</timestamp> > > </generator> > > <cpe-item > name="cpe:/a:%240.99_kindle_books_project:%240.99_kindle_books:6::~~~android~~"> > > <title xml:lang="en-US">$0.99 Kindle Books project $0.99 Kindle Books > (aka com.kindle.books.for99) for android 6.0</title> > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/clojure/f5623282-9099-4b62-832c-827afbc0dae7n%40googlegroups.com.