### ImageMagick version

7.1.1-22

### Operating system

Linux

### Operating system, version and so on

Alpine 3.19.0

### Description

ImageMagick is swallowing parsing errors from the lib-rsvg delegate. This results in the command exiting successfully (exit code 0) with bogus information about the image. Mainly that the width/height are both reported as 0x0 regardless of the actual dimensions.

I think calls to ImageMagick should fail if the delegate runs into an error. The other SVG handling delegates either fail, or handle the XML errors more gracefully (see the bottom of reproduction steps).

### Steps to Reproduce

1. Setup ImageMagick to use the librsvg delegate. I'm using the following commands in a fresh `alpine:3.19.0` Docker container:

```shell
apk update
apk upgrade
apk add imagemagick
apk add imagemagick-svg
```

2. Create an SVG that has invalid XML. For example:

```shell
echo '<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100"> <> </svg>' > test.svg
```
(notice the `<>` characters that makes this invalid XML)

3. Attempt to identify the SVG. I'm using this command:

```shell
identify test.svg
```

4. Notice that the output has errors from librsvg, but *the command still completes with exit code 0*. Additionally, the dimensions of the image are reported as 0x0. Here's the output I get:

stderr:
```

(process:25): librsvg-CRITICAL **: 23:21:55.737: Handle could not read or parse the SVG; did you check for errors during the loading stage?

(process:25): librsvg-CRITICAL **: 23:21:55.737: Handle could not read or parse the SVG; did you check for errors during the loading stage?
```

stdout:
```
test.svg SVG 0x0 16-bit sRGB 76B 0.000u 0:00.003
```

I would have expected there to be no output to stdout, and for the command to exit with a non-0 exit code.

## Other SVG Delegates

Reproducing the same steps with the other two SVG libraries yields different results:

- The **built-in** SVG renderer fails:

```
identify: xmlParseStartTag: invalid element name
 `No such file or directory` @ error/svg.c/SVGError/3370.
```

- The **InkScape** delegate produces no errors, but it also gives dimensions that match the SVG:

```
test.svg SVG 100x100 100x100+0+0 8-bit sRGB 371B 0.000u 0:00.002
```

### Images

Any SVG with XML errors will work. Here's the one I used in my reproduction steps:

![test](https://github.com/ImageMagick/ImageMagick/assets/50586585/859e81d8-c51c-408f-a25b-a47e72425e39)

ImageMagick is swallowing parsing errors from librsvg
This is a GitHub Issue
repo:ImageMagick
owner:ImageMagick
Title : ImageMagick is swallowing parsing errors from librsvg
Issue date:

--- start body ---
### ImageMagick version

7.1.1-22

### Operating system

Linux

### Operating system, version and so on

Alpine 3.19.0

### Description

ImageMagick is swallowing parsing errors from the lib-rsvg delegate. This results in the command exiting successfully (exit code 0) with bogus information about the image. Mainly that the width/height are both reported as 0x0 regardless of the actual dimensions.

I think calls to ImageMagick should fail if the delegate runs into an error. The other SVG handling delegates either fail, or handle the XML errors more gracefully (see the bottom of reproduction steps).

### Steps to Reproduce

1. Setup ImageMagick to use the librsvg delegate. I'm using the following commands in a fresh `alpine:3.19.0` Docker container:

```shell
apk update
apk upgrade
apk add imagemagick
apk add imagemagick-svg
```

2. Create an SVG that has invalid XML. For example:

```shell
echo '<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100"> <> </svg>' > test.svg
```
(notice the `<>` characters that makes this invalid XML)

3. Attempt to identify the SVG. I'm using this command:

```shell
identify test.svg
```

4. Notice that the output has errors from librsvg, but *the command still completes with exit code 0*. Additionally, the dimensions of the image are reported as 0x0. Here's the output I get:

stderr:
```

(process:25): librsvg-CRITICAL **: 23:21:55.737: Handle could not read or parse the SVG; did you check for errors during the loading stage?

(process:25): librsvg-CRITICAL **: 23:21:55.737: Handle could not read or parse the SVG; did you check for errors during the loading stage?
```

stdout:
```
test.svg SVG 0x0 16-bit sRGB 76B 0.000u 0:00.003
```

I would have expected there to be no output to stdout, and for the command to exit with a non-0 exit code.

## Other SVG Delegates

Reproducing the same steps with the other two SVG libraries yields different results:

- The **built-in** SVG renderer fails:

```
identify: xmlParseStartTag: invalid element name
 `No such file or directory` @ error/svg.c/SVGError/3370.
```

- The **InkScape** delegate produces no errors, but it also gives dimensions that match the SVG:

```
test.svg SVG 100x100 100x100+0+0 8-bit sRGB 371B 0.000u 0:00.002
```

### Images

Any SVG with XML errors will work. Here's the one I used in my reproduction steps:

![test](https://github.com/ImageMagick/ImageMagick/assets/50586585/859e81d8-c51c-408f-a25b-a47e72425e39)

--- end body ---
