PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hallo. Ist es möglich in einem Listing die Sprache (und damit die Hervorherbung) zu



DAB268
21-01-2010, 17:55
Hallo.

Ist es möglich in einem Listing die Sprache (und damit die Hervorherbung) zu wechseln? Ich würde nämlich gerne einen HTTP Request mit einer SOAP Nachricht im Body darstellen. Geht das irgendwie? "morekeywords" funktioniert mit der Sprache XML leider nicht.

MfG
Christian

voss
21-01-2010, 20:26
Ist es möglich in einem Listing die Sprache (und damit die Hervorherbung) zu wechseln? Ich würde nämlich gerne einen HTTP Request mit einer SOAP Nachricht im Body darstellen. Geht das irgendwie? "morekeywords" funktioniert mit der Sprache XML leider nicht.


dann tritt erst mal den Beweis an, dass es nicht geht ...

HErbert

DAB268
22-01-2010, 15:22
\documentclass[paper=a4]{scrbook}

\usepackage{pifont}
\usepackage{mathpazo}
\usepackage[scaled=.95]{helvet}
\usepackage{courier}

\usepackage[pdftex]{graphicx}
\usepackage{color}
\definecolor{shadowgray}{gray}{.55}

\usepackage[pdftex]{hyperref}
\hypersetup{colorlinks=true, urlcolor=black, linkcolor=black, citecolor=black, breaklinks=true}

\usepackage{listings}
\lstset{aboveskip=\the\parskip, belowskip=0cm}
\lstloadlanguages{XML, Java}

\lstdefinestyle{XMLHTTP}{
language=XML,
morekeywords={POST},
keywordstyle={\bfseries},
tagstyle={\bfseries},
escapeinside={(*@}{@*)},
frame=shadowbox,
numbers=left,
stepnumber=1,
numberstyle=\tiny,
basicstyle=\small\ttfamily,
commentstyle=\itshape,
columns=fullflexible,
captionpos=b,
rulesepcolor=\color{shadowgray},
keepspaces=true,
fontadjust=true,
showstringspaces=false,
morecomment=[s]{<!--}{-->},
}

\lstdefinestyle{JavaHTTP}{
language=Java,
morekeywords={POST},
keywordstyle={\bfseries},
tagstyle={\bfseries},
escapeinside={(*@}{@*)},
frame=shadowbox,
numbers=left,
stepnumber=1,
numberstyle=\tiny,
basicstyle=\small\ttfamily,
commentstyle=\itshape,
columns=fullflexible,
captionpos=b,
rulesepcolor=\color{shadowgray},
keepspaces=true,
fontadjust=true,
showstringspaces=false,
morecomment=[s]{<!--}{-->},
}

\begin{document}

\begin{lstlisting}[style=XMLHTTP, caption=XML-HTTP]
POST /StockQuote HTTP/1.1
Host: www.stockquoteserver.com
Content-Type: text/xml; charset="utf-8"
Content-Length: nnnn
SOAPAction: "Some-URI"


<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<m:GetLastTradePrice xmlns:m="Some-URI">
<symbol>DIS</symbol>
</m:GetLastTradePrice>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
\end{lstlisting}

\begin{lstlisting}[style=JavaHTTP, caption=Java-HTTP]
POST /StockQuote HTTP/1.1
Host: www.stockquoteserver.com
Content-Type: text/xml; charset="utf-8"
Content-Length: nnnn
SOAPAction: "Some-URI"

public void example(){}
\end{lstlisting}

\end{document}

POST wurde nur bei Java markiert. Leider musste ich noch eine HTML-Codeumgebung ins Beispiel einbinden...

voss
22-01-2010, 16:17
[CODE]
POST wurde nur bei Java markiert. Leider musste ich noch eine HTML-Codeumgebung ins Beispiel einbinden...

das kann bei XML nicht gehen, da dort Tags in <> erwartet werden.
Du musst also selbst eingreifen

\begin{lstlisting}[style=XMLHTTP, caption=XML-HTTP,escapechar=|]
|\bfseries POST| /StockQuote HTTP/1.1


Courier ist übrigens die schrecklichste Schrift dieses Universums ...
bera oder luximono sind weitas schöner.

Herbert