Odoo 源码包含了2个 relax ng 文件,也是odoo sa用来验证xml的正确性的。

openerp/import_xml.rng

openerp/addons/base/rng/view.rng

阅读源码,发现odoo 在装载xml 文件以及加载 view到数据库的时候,会使用 lxml 调用 relax ng 来验证 XML文件,以及view 定义的正确性。

源码 addons/base/ir/ir_ui_view.py 里面的 _check_xml 方法

源码 tools/convert.py 里面的 convert_xml_import 方法

如果开发者在开发时,就能验证 XML 的正确性,就不用等到安装模块时才发现XML 撰写错误。

下面就如何在 sublime text 平台使用 relax ng 验证XML

其他 IDE 自行套用。

Sublime text 使用 sublimelinter - xmllint 插件

前提是要安装好 xmllint, xmllint 在 libxml2-utils 包分发

安装 sublimelinter 和 sublimelinter - xmllint.

使用 package control 管理 sublime text 的插件,将 sublimelnter 和 sublimelinter -xmllint 加入到 package control 用户配置里,这样, Package control 将会自动安装添到 installed pakcages 里面的插件

我的用户配置如下

{

"bootstrapped": true,

"git_binary":

[

"c:\\cygwin\\bin\\git.exe"

],

"in_process_packages":

[

],

"installed_packages":

[

"All Autocomplete",

"Anaconda",

"GitGutter",

"HTML-CSS-JS Prettify",

"Markdown Extended",

"Markdown Preview",

"MarkdownEditing",

"Package Control",

"SideBarEnhancements",

"SnippetMaker",

"sublime-odoo-snippets",

"SublimeGoogle",

"SublimeLinter",

"SublimeLinter-jshint",

"SublimeLinter-json",

"SublimeLinter-xmllint",

"SublimeREPL",

"Vintageous"

],

"repositories":

[

"https://github.com/sotogarcia/sublime-odoo-snippets"

]

}

从上面可以看出,我用cygwin来运行 linux tools… 所以我的 xmllint 也是在cygwin 下运行的。如果你是其他的平台,按照OS选择安装合适的 xmllint

安装 sublimelinter -xmllint 之后,最重要的事情,就是配置 sublimelinter…

进入 sublimelinter 用户配置

对 xmllint 小节修改配置

增加 xmllint 参数。。。

"args": [

"--relaxng",

"e:\\view.rng",

"--relaxng",

"e:\\import_xml.rng",

],

其中 view.rng 和 import_xml.rng 是 relax ng 文件的存放位置。

使用 xmllint 验证 odoo xml文件的更多相关文章

  1. 1.在配置XML文件时出现reference file contains errors (http://www.springframework.org/schema/beans/...解决方案

    解决方案: 第一步:将 Preferences > XML > XML Files > Validation中"Honour all XML schema location ...

  2. Eclipse关闭XML文件验证的方法

    XML的编写是否符合规范,可以通过XML Schema或DTD进行验证,但有时候电脑本来就很卡,而且XML的某些错误并未导致程序无法运行的情况下,暂时关闭XML的验证也算不错的选择. 如web.xml ...

  3. mybatis,Spring等工具对xml文件正确性的验证

    我们知道mybatis或者spring都是使用xml文件作为配置文件,配置文件的格式都是定义在叫做.dtd或者.xsd文件中的,当工具在解析用户自己定义的xml文件的时候,如何才能知道用户自定义的文件 ...

  4. Eclipse关闭XML文件验证的方法,解决xml警告

    XML的编写是否符合规范,可以通过XML Schema或DTD进行验证,但有时候电脑本来就很卡,而且XML的某些错误并未导致程序无法运行的情况下,暂时关闭XML的验证也算不错的选择. 如web.xml ...

  5. java struts2入门学习--基于xml文件的声明式验证

    一.知识点总结 后台验证有两种实现方式: 1 手工验证顺序:validateXxx(针对Action中某个业务方法验证)--> validate(针对Action中所有的业务方法验证) 2 声明 ...

  6. Java 使用poi导入excel,结合xml文件进行数据验证的例子(增加了jar包)

    ava 使用poi导入excel,结合xml文件进行数据验证的例子(增加了jar包) 假设现在要做一个通用的导入方法: 要求: 1.xml的只定义数据库表中的column字段,字段类型,是否非空等条件 ...

  7. 史上最全的maven的pom.xml文件详解

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  8. Java Web的web.xml文件作用及基本配置(转)

    其实web.xml就是asp.net的web.config一个道理. 说明: 一个web中完全可以没有web.xml文件,也就是说,web.xml文件并不是web工程必须的. web.xml文件是用来 ...

  9. WebAPI使用多个xml文件生成帮助文档

    一.前言 上篇有提到在WebAPI项目内,通过在Nuget里安装(Microsoft.AspNet.WebApi.HelpPage)可以根据注释生成帮助文档,查看代码实现会发现是基于解析项目生成的xm ...

随机推荐

  1. python-高级编程-04

    [http协议] 断句 : 由于tcp协议是基于流的传输协议,也就是在传输层本身是做不到断句的功能的, 于是断句需要在应用层协议实现.  最初用回车和换行来标示一套命令的结束 如果信息里面有 \r\n ...

  2. ASP.NET MVC下使用SWFUpload完成剪切头像功能

    首先介绍SWFUpload组件 SWFUpload是一个客户端文件上传工具,最初由Vinterwebb.se开发,它通过整合Flash与JavaScript技术 为WEB开发者提供了一个具有丰富功能继 ...

  3. csa Round #73 (Div. 2 only)

    Three Equal Time limit: 1000 msMemory limit: 256 MB   You are given an array AA of NN integers betwe ...

  4. Mysql 数值类型

    Mysql数值类型 整数型 小数型(浮点数) 日期时间型

  5. HDU——4565So Easy!(矩阵快速幂)

    So Easy! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total S ...

  6. BZOJ 2330 [SCOI2011]糖果 ——差分约束系统 SPFA

    最小值求最长路. 最大值求最短路. 发现每个约束条件可以转化为一条边,表示一个点到另外一个点至少要加上一个定值. 限定了每一个值得取值下界,然后最长路求出答案即可. 差分约束系统,感觉上更像是两个变量 ...

  7. POJ3071 Football 【概率dp】

    题目 Consider a single-elimination football tournament involving 2n teams, denoted 1, 2, -, 2n. In eac ...

  8. Jersey实现Client端:GET/PUT/POST/DELETE

    原文地址:Jersey客户端API调用REST风格的Web服务 [节选] 要开始使用 Jersey 客户端 API,你首先需要创建一个 com.sun.jersey .api.client.Clien ...

  9. Eclipse + Apache Axis2 发布RESTful WebService(二)配置开发环境

    1. 下载axis2相关软件地址:http://axis.apache.org/axis2/java/core/download.html 2. 安装插件:将axis2-eclipse-codegen ...

  10. 常用的UltraEdit使用技巧

    Tip 1: Alt+C 列模式可以说最初选择使用这个文本编辑软件,原因很简单,就是因为"她"具有列编辑模式.如果您还不知道什么是列编辑模式的话,我想您应该好好研究一下啦.这是一个 ...