- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的软件中,我使用 libxml2 来操作(显然)XML 数据结构。我主要使用 XSD 模式验证,到目前为止,它运行良好。
当客户端输入的数据结构与 XSD 架构不匹配时,libxml2 会向控制台输出一些调试消息。
这是一个例子:
/data/file_name:5230: 解析器错误:StartTag:无效的元素名称 < ^
虽然这些字符串可用于调试目的,但我不希望它们出现并污染最终应用程序中的控制台输出。到目前为止,我找不到执行此操作的官方方法。虽然,我确实有一种修改库本身的方法,但我正在寻找一种库配置,即不修改代码。
您知道如何抑制调试输出或(甚至更好)将其重定向到自定义函数吗?
和平与问候。
最佳答案
有一个回调机制可以按照您想要的方式输出警告和错误。
如 API 文档中所述,xmlSchemaSetParserErrors() 设置用于处理验证上下文错误的回调函数。
您需要针对定义的签名编写两个回调函数:
一个例子可以是:
void err(void *ctx, const char *msg, ...)
{
char buf[1024];
va_list args;
va_start(args, msg);
int len = vsnprintf_s(buf, sizeof(buf), sizeof(buf)/sizeof(buf[0]), msg, args);
va_end(args);
if(len==0) // Can't create schema validity error!
else // Do something to store `buf`,
// you may need to use void *ctx to achieve this
return;
}
然后打电话
xmlSchemaSetValidErrors(valid_ctxt_ptr, (xmlSchemaValidityErrorFunc) 错误, (xmlSchemaValidityWarningFunc) 警告, ctx);
调用之前
xmlSchemaValidateDoc()
关于xml - LIBXML2 : Suppress the debug output on console,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11901206/
我有一个报告,当前以以下格式显示数据: GROUP HEADER January Meter Number Name Class Facility ... .
我有一份报告目前以下列格式显示数据: GROUP HEADER January Meter Number Name Class Facility ... ..
我有一个 WPF ListView 控件,其中包含一个用 XAML 代码编写的 ContextMenu。每次右键单击 ListView 时,即使 ListView 中没有任何项目,也会显示 Conte
在我刚接手的一个应用中发现了这一行,感觉没什么意义。 使用 (new TransactionScope(TransactionScopeOption.Suppress, new TimeSpan(1,
我目前正在学习一些基本的 java SQL 编码,为我的 SQL 项目制作基本的终端 UI。我一直在使用 PostgreSQL 我正在使用PreparedStatement为了确保自己免受 SQL 注
我已经实现了 native Android SIP solution在我的 Android 应用中。 SipProfile.Builder builder = new SipProfile.Build
我正在将指南支持库检查器集成到我的一个项目中。 Microsoft.CppCoreCheck Microsoft.Gsl 当我运行它时,我从标准库、glm、boost 等包含的库中得到了一堆错误。 一
我只是希望我的方法调用能够抑制它依次调用的方法中可能出现的所有“NoMethodError”异常。 def foo begin bar1 bar2 rescue Excepti
我最近开始尝试 clang-tidy llvm的工具。现在我试图抑制来自第三方库代码的错误警告。为此,我想使用命令行选项-header-filter=或 -line-filter=但到目前为止没有成功
我必须为 Kendo Grid 创建一个自定义的“更新”按钮。 基本上,它以编程方式将适当的行置于编辑模式(使用 editRow),将某些字段更新为特定值(使用 model.set),然后保存该行(使
我正在使用 Visual Studio 2015、FxCop 14.0。使用自定义规则,并尝试在 GlobalSuppressions.cs 中抑制消息。我在项目文件中设置了全局抑制的路径 .. .
我想回滚名为“scope”的事务,但名为 scope2 的内部事务不应回滚。但是他们都回滚了!!!选项 TransactionScopeOption.Suppress 不起作用... 我已经启用了 D
你好, 是否可以控制可以拖动哪些记录以及可以将它们放到哪里(在悬停期间从头开始或中间抑制拖动操作)? 我需要的详细信息如下: 我有一个包含一些组(比如男性和女性)的网格,只想激活组“女性”内的 d&d
以下(废话)Python模块的doctest失败: """ >>> L = [] >>> if True: ... append_to(L) # XXX >>> L [1] """ def ap
在git push heroku master上,我收到此错误: Unable to find suppressions file at location: etc/config/checkstyle
我正在尝试安装 Taiga在我的电脑上,对于其中一个脚本,它试图 import suppress 但失败了。我尝试手动执行此操作: (taiga)$ python Python 3.3.3 (defa
有时我会为某些可能运行我的应用程序的 Android 版本列出代码。使用最新 Android 工具的 Eclipse 仍然注意到我的 Manifest 文档允许较低版本的 Android,因此确定我的
我的 Android 项目中某处有这段代码: public boolean isLoadInProgress(boolean privateLoad, boolean publicLoad) {
我一直在开发一个通过 Android Beam 发送 NDEF 消息的 Android 应用程序和一个接收它们的桌面应用程序。 一切正常;但是,我个人认为 Android Beam“Tab to be
我正在使用 xlrd 来处理 Excel 文件。我在包含许多文件的文件夹上运行脚本,并且正在打印与这些文件相关的消息。但是,对于我运行的每个文件,我也会收到以下 xlrd 生成的错误消息: WARNI
我是一名优秀的程序员,十分优秀!