Well, that seems like a filter written by someone with a sense of humour.

OK. Lets get back to your use-case:
- Data extracted from DLL files need to be stored in ML.

We have already explored the extract-metadata silliness.
We have described options for initiating from MarkLogic (using your own
external service).

The next question is: **  Does this have to be initiated by MarkLogic? **If
not:
External to ML in the language of your choice, extract the data and use
some http connector to load the data into ML via the built-in REST
endpoints.
This is back to the ETL approach:
- Extract Metadata from DLL with VB
- Translate it into XML or JSON
- Load it into MarkLogic via REST endpoints



Kind Regards,
David Ennis



On 2 September 2015 at 23:34, Danny Sinang <[email protected]> wrote:

> Unfortunately, the only output I get from xdmp:document-filter() when I
> pass in my DLL is this :
>
> <?xml version="1.0" encoding="UTF-8"?>
> <html xmlns="http://www.w3.org/1999/xhtml";>
>   <head>
>     <meta name="content-type" content="application/x-exe"/>
>     <meta name="filter-capabilities" content="none"/>
>     <meta name="size" content="20480"/>
>   </head>
> </html>
>
> No version information, unlike the one returned by my VBScript.
>
>
>
> On Wed, Sep 2, 2015 at 4:46 PM, Danny Sinang <[email protected]> wrote:
>
>> Ah, document-get() ... perfect ... thanks !
>>
>> - Danny
>>
>> On Wed, Sep 2, 2015 at 4:44 PM, Joe Bryan <[email protected]>
>> wrote:
>>
>>> Hi Danny,
>>>
>>> You don't need to have the DLL stored in the database in order to use
>>> xdmp:document-filter(). You merely need to have it's contents as a node()
>>> (specifically, a document-node() or binary() node). That node could come in
>>> as the response to a network request (to another system), it could be
>>> received as parameter in a network request, it could be read from the
>>> filesystem, etc.
>>>
>>> Here's an example reading from the filesystem:
>>>
>>> let $doc := xdmp:document-get("/Users/jbryan/Downloads/sample.pdf")
>>> return xdmp:document-filter($doc)
>>>
>>> Thanks.
>>>
>>> -jb
>>>
>>> From: <[email protected]> on behalf of Danny
>>> Sinang <[email protected]>
>>> Reply-To: MarkLogic Developer Discussion <
>>> [email protected]>
>>> Date: Wednesday, September 2, 2015 at 4:37 PM
>>> To: MarkLogic Developer Discussion <[email protected]>
>>> Subject: Re: [MarkLogic Dev General] Running executable from XQuery
>>>
>>> Hi David,
>>>
>>> Thank you very much for pointing out that article.
>>>
>>> xdmp:document-filter() accepts a node parameter. Since the DLL is on the
>>> filesystem, does this mean I need to ingest the DLL into ML first before I
>>> can pass it to xdmp:document-filter() ?
>>>
>>> Regards,
>>> Danny
>>>
>>> On Wed, Sep 2, 2015 at 3:29 PM, David Ennis <[email protected]>
>>> wrote:
>>>
>>>> HI.
>>>>
>>>> [other than some hooks for custom search extensions], MarkLogic does
>>>> not have a way to directly run code external to itself. You always need to
>>>> bridge to this other code as you have seen in the MLJAM example.
>>>>
>>>> However.. Looking at your use case, consider the fact that MarkLogic
>>>> can extract interesting metadata from over 100 different file formats.. DLL
>>>> (Windoes Executable) is one of them (lister under 'other'
>>>>
>>>> https://docs.marklogic.com/guide/search-dev/binary-document-metadata
>>>>
>>>> So, maybe your goal is reachable by using ML to do the extraction for
>>>> you...
>>>>
>>>>
>>>>
>>>> Kind Regards,
>>>> David Ennis
>>>>
>>>>
>>>> David Ennis
>>>> *Content Engineer*
>>>>
>>>> [image: HintTech]  <http://www.hinttech.com/>
>>>> Mastering the value of content
>>>> creative | technology | content
>>>>
>>>> Delftechpark 37i
>>>> 2628 XJ Delft
>>>> The Netherlands
>>>> T: +31 88 268 25 00
>>>> M: +31 63 091 72 80
>>>>
>>>> [image: http://www.hinttech.com] <http://www.hinttech.com>
>>>> <https://twitter.com/HintTech>  <http://www.facebook.com/HintTech>
>>>> <http://www.linkedin.com/company/HintTech>
>>>>
>>>> On 2 September 2015 at 21:17, Danny Sinang <[email protected]> wrote:
>>>>
>>>>> Has anyone here tried running Windows executable files from within
>>>>> XQuery scripts ?
>>>>>
>>>>> I've got a VBScript that can read the version info of any given DLL,
>>>>> and I'd like to invoke it from an ML scheduled task and store the version
>>>>> info inside MarkLogic.
>>>>>
>>>>> The list of DLLs to read is stored in an XML file inside MarkLogic.
>>>>>
>>>>> I think I can probably use MLJAM to make the OS run the VBScript, but
>>>>> I'm wondering if there's a solution out there that involves less 
>>>>> components
>>>>> / moving parts.
>>>>>
>>>>> Regards,
>>>>> Danny
>>>>>
>>>>> _______________________________________________
>>>>> General mailing list
>>>>> [email protected]
>>>>> Manage your subscription at:
>>>>> http://developer.marklogic.com/mailman/listinfo/general
>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> General mailing list
>>>> [email protected]
>>>> Manage your subscription at:
>>>> http://developer.marklogic.com/mailman/listinfo/general
>>>>
>>>>
>>>
>>> _______________________________________________
>>> General mailing list
>>> [email protected]
>>> Manage your subscription at:
>>> http://developer.marklogic.com/mailman/listinfo/general
>>>
>>>
>>
>
> _______________________________________________
> General mailing list
> [email protected]
> Manage your subscription at:
> http://developer.marklogic.com/mailman/listinfo/general
>
>
_______________________________________________
General mailing list
[email protected]
Manage your subscription at: 
http://developer.marklogic.com/mailman/listinfo/general

Reply via email to