Hi folks,

I'm a student working on my bachelor thesis. I use BaseX to read large XML 
files and forward them to a PostgreSQL database. Additionally I want to fetch 
images via URI and add them to the database-records.
While fetching these images, I have to test three different file extensions for 
each image, as my source does not use one single image format (but jpg, png and 
gif).
First I tried checking with fn:doc-available($uri) weather that certain URI is 
available, but this obviously only works for XML-documents. Then I wanted to 
catch the err:BXFE0001 that is thrown by fetch:binary($uri), but this does not 
work, either; the error-message is displayed and the script stops.

  
> declare variable $baseuri := 'http://www.bricklink.com/ML/';
> declare variable $itemid := 'sw008';
  
> 
> try {
>     fetch:binary($baseuri || $itemid || '.png')
> }
> catch err:BXFE0001 {
>     try {
>         fetch:binary($baseuri || $itemid || '.gif')
>     }
>     catch err:BXFE0001 {
>         try {
>             fetch:binary($baseuri || $itemid || '.jpg')
>         }
>         catch err:BXFE0001 {
>             0
>         }
>     }
> }

In this example, only the .jpg-image exists. But all I get is
  
> [BXFE0001] Resource "http://www.bricklink.com/ML/sw008.png"; not found.
> Information:
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
> "http://www.w3.org/TR/html4/strict.dtd";>
> <HTML><HEAD><TITLE>The page cannot be found</TITLE> … and so on

I would be very glad if you could help me with this, either by pointing out my 
coding-error or by showing me another, better solution for doing this.


Thank you and have a nice day,
Alex

PS: My sources on Try/Catch and fetching


-- 
| Alexander von Bernuth
| [email protected]

_______________________________________________
BaseX-Talk mailing list
[email protected]
https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk

Reply via email to