Skip to content

Text content including special characters may be interpretted as XML #763

@adamalston

Description

@adamalston

Hi, I've encountered an issue with the plugin where text content including special characters may be interpreted as XML. It seems the formatter is thrown off by /> in the following input.

Input (test.xml):

<outer><inner>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
<ul><li>Some code &lt;
    <code>xsl: select="true()"</code>
    />.</li><li>Some code &gt;
    <code>xsl: select="false()"</code>
    />.</li></ul></inner></outer>

Command:

npx prettier --plugin=@prettier/plugin-xml --tab-width 4 --xml-whitespace-sensitivity "ignore" --print-width 1024 text.xml

Output:

<outer>
    <inner>
        Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
        <ul>
            <li>Some code &lt;
    <code>xsl: select="true()"</code>
    />.</li>
            <li>Some code &gt;
    <code>xsl: select="false()"</code>
    />.</li>
        </ul>
    </inner>
</outer>

Expected output:

<outer>
    <inner>
        Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
        <ul>
            <li>
                Some code &lt;
                <code>xsl: select="true()"</code>
                />.
            </li>
            <li>
                Some code &gt;
                <code>xsl: select="false()"</code>
                />.
            </li>
        </ul>
    </inner>
</outer>

Any suggestions or fixes would be appreciated. Thanks

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions