diff options
author | defanor <defanor@uberspace.net> | 2019-01-15 16:03:31 +0300 |
---|---|---|
committer | defanor <defanor@uberspace.net> | 2019-01-15 16:03:31 +0300 |
commit | 7bc223ad6408a36072b5196fbf0dcc7de15b0984 (patch) | |
tree | 6dd7815ddb270428a756c09656576ec63e0d303d /example | |
parent | 8cf0dd8156e4f51dc731650caf12366e3b736b76 (diff) |
Improve error messages
- ResultError gets handled now
- No plain textual messages anymore
- An XML namespace is set, though an experimental one
Maybe the serialization should be changed to simplify templating. It
would also be nice to specify the schema (e.g., with relax ng), host
it, and use its URI for the namespace.
Diffstat (limited to 'example')
-rw-r--r-- | example/common.xsl | 57 |
1 files changed, 47 insertions, 10 deletions
diff --git a/example/common.xsl b/example/common.xsl index 1db0229..ff456a3 100644 --- a/example/common.xsl +++ b/example/common.xsl @@ -2,6 +2,7 @@ <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xhtml="http://www.w3.org/1999/xhtml" + xmlns:pgx="urn:x-pgxhtml" xmlns="http://www.w3.org/1999/xhtml" version="1.0"> <xsl:output method="xml" indent="yes"/> @@ -17,23 +18,59 @@ </html> </xsl:template> - <xsl:template match="sql_error"> + <xsl:template match="pgx:sql_error"> <h1>SQL error</h1> <dl> <dt>State</dt> - <dd><xsl:copy-of select="@state/text()" /></dd> + <dd><xsl:copy-of select="pgx:state/text()" /></dd> <dt>Status</dt> - <dd><xsl:copy-of select="@status/text()" /></dd> + <dd><xsl:copy-of select="pgx:status/text()" /></dd> <dt>Message</dt> - <dd><xsl:copy-of select="@message/text()" /></dd> + <dd><xsl:copy-of select="pgx:message/text()" /></dd> <dt>Detail</dt> - <dd><xsl:copy-of select="@detail/text()" /></dd> + <dd><xsl:copy-of select="pgx:detail/text()" /></dd> <dt>Hint</dt> - <dd><xsl:copy-of select="@hint/text()" /></dd> - <dt>Query template</dt> - <dd><xsl:copy-of select="@template/text()" /></dd> - <dt>Query parameters</dt> - <dd><xsl:copy-of select="@parameters/text()" /></dd> + <dd><xsl:copy-of select="pgx:hint/text()" /></dd> + </dl> + </xsl:template> + + <xsl:template match="pgx:result_error"> + <h1>Result error</h1> + <dl> + <dt>Message</dt> + <dd><xsl:copy-of select="pgx:message/text()" /></dd> + </dl> + </xsl:template> + + <xsl:template match="pgx:query_error"> + <h1>Query error</h1> + <dl> + <dt>Message</dt> + <dd><xsl:copy-of select="pgx:message/text()" /></dd> + <dt>Query</dt> + <dd><xsl:copy-of select="pgx:query/text()" /></dd> + </dl> + </xsl:template> + + <xsl:template match="pgx:format_error"> + <h1>Format error</h1> + <dl> + <dt>Message</dt> + <dd><xsl:copy-of select="pgx:message/text()" /></dd> + <dt>Query</dt> + <dd><xsl:copy-of select="pgx:query/text()" /></dd> + <dt>Parameters</dt> + <xsl:for-each select="pgx:param"> + <dd><xsl:copy-of select="text()" /></dd> + </xsl:for-each> + </dl> + </xsl:template> + + <xsl:template match="pgx:error"> + <h1>Error</h1> + <dl> + <dt>Message</dt> + <dd><xsl:copy-of select="pgx:message/text()" /></dd> </dl> </xsl:template> |