# Error Prone

Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors.
Table of Contents

## MistypedCDATASection

Since: PMD 5.0

Priority: Medium (3)

An XML CDATA section begins with a <![CDATA[ marker, which has only one [, and ends with a ]]> marker, which has two ].

This rule is defined by the following XPath expression:

    //cdata-section[starts-with(@Text,'[') or ends-with(@Text,']')]

Example(s):

    <root>
        <child>
            <![CDATA[[ character data ]]> - this cdata section is valid, but it contains an
            additional square bracket at the beginning.
            It should probably be just <![CDATA[ character data ]]>.
        </child>
        <child>
            <![CDATA[ character data ]]]> - this cdata section is valid, but it contains an
            additional square bracket in the end.
            It should probably be just <![CDATA[ character data ]]>.
        </child>
    </root>

Use this rule by referencing it:

    <rule ref="category/xml/errorprone.xml/MistypedCDATASection" />