Question: I've a xml like follows,

```
<doc>
  <chap>&lt;The root&gt;
     &lt;element that&gt;
     &lt;declares&gt;
     &lt;the document to be an XSL style sheet&gt;</chap>
</doc>

```

I need to write xsl to add separate nodes named `<p>` to text where exist between `&lt;` and `&gt;`within `<chap>`.

So the output should be,

```
<doc>
  <p>&lt;The root&gt;</p>
  <p>&lt;element that&gt;</p>
  <p>&lt;declares&gt;</p>
  <p>&lt;the document to be an XSL style sheet&gt;</p>
</doc>

```

I can write a template to the text inside `<chap>` node like, `<xsl:template match="chap/text()"` but I cannot think of a way to add new `<p>` by analyzing the text() node within `<chap>`

Any suggestions how can I do this?

Answer: 
I realize this is an old question, but a complete list of warnings, along with the text printed for each one, can be found in the [Clang Documentation](https://clang.llvm.org/docs/DiagnosticsReference.html).
The [current] accepted answer is correct. clang/clang++'s documentation up on the website doesn't necessarily reflect the supported options in the code. As the old phrase goes, "the source code is the documentation" :/..

One thing that will help with finding options is grepping the source code for `DiagGroup`. For example, the following demonstrates an attempt at grepping for `sign-compare`, aka `-Wsign-compare`, using a pared down clang 7.0.1 source checkout:

```
$ grep --include \*.td -r sign-compare . | grep DiagGroup
tools/clang/include/clang/Basic/DiagnosticGroups.td:def SignCompare : DiagGroup<"sign-compare">;

```