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.

Reply via email to