Lstlisting-为前后缀名称定义其他颜色

Lstlisting-为前后缀名称定义其他颜色

我正在使用 listings 包并尝试定义自己的 XML 样式。它看起来像这样:

\lstdefinestyle{webxml}{%
language=XML,
tagstyle=\color{purple},
keywordstyle=[1]{\color{red}},
keywordstyle=[2]{\color{purple}},
morekeywords=[1]{name},
}

现在我面临一个问题:

<property name="eclipselink.ddl-generation" value="create-tables" />
<name>peer</name>

第一行中的名称值显示为红色。这是正确的。但第二个“标签”也显示为红色。我怎样才能将“名称”标签的颜色改回紫色?有没有办法添加其他标签?与 morestring 或 morekeyword 相比?

在此处输入图片描述

谢谢您的帮助。

以下也是一个 MWE:

\documentclass[12pt,a4paper]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[ngerman,english]{babel}
\usepackage{listings, xcolor}

\lstdefinestyle{webxml}{%
language=XML,
tagstyle=\color{purple},
keywordstyle=[1]{\color{red}},
keywordstyle=[2]{\color{purple}},
morekeywords=[1]{value, name},
keywords=[2]{<name>} %???
}

\begin{document}

\begin{lstlisting}[style=webxml]
<property name="eclipselink-ddl-generation" value="create tables" />
<name>peer</name>
\end{lstlisting}

\end{document}  

相关内容