Skip to content

Unable to access references defined after an element #115

@bsweeney

Description

@bsweeney

SvgLib operates as a stream processor, rendering elements as they are encountered. This means that a reference element (e.g., defs) and styling must occur in the document prior to any other elements. Otherwise, the reference element or styling will not yet be available.

For example, the following SVG document:

<svg width="600" height="600" xmlns="http://www.w3.org/2000/svg">
    <rect width="400" height="400" x="100" y="100" />
    <style>
        rect { stroke: blue; stroke-width: 20px; fill: orange; }
    </style>
</svg>

should produce the following output:

image

but SvgLib renders the following:

image

Switching the order of elements in the SVG produces the correct output:

<svg width="600" height="600" xmlns="http://www.w3.org/2000/svg">
    <style>
        rect { stroke: blue; stroke-width: 20px; fill: orange; }
    </style>
    <rect width="400" height="400" x="100" y="100" />
</svg>

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions