`

你懂不懂xml! (2)

    博客分类:
  • xml
阅读更多
这个故事发生在上个笑话之后的几个月,由于cozy同志的离去,俺赶鸭子上架似的被委与重任,开发一个和CBOSS/BOSS相关的项目。

依然是使用xml做数据交换,有关那个xml规范制定的问题就不详细提了,总之一句话概括就是制定规范的同志,不知道在xml世界中有个东西叫xsd.

这个笑话没有上一个那么夸张,不过是直接发生在俺身上,感触深刻,终于明白当年cozy愤愤地叨唠“****都是笨蛋”的心情了。

问题发生在这个地方,在xml中,表示空元素的方式,恩,<name/>和<name></name>等同,这个相信大家都明白吧?那么这两个呢?

<name/>
    <name />

    注意第二个在"/>"之前有一个空格(space)。俺是习惯这样表示空元素的,另外我常用jdom来生成xml, 加空格也是jdom的做法。相信看这个文章的朋友都对此没有异议吧,如果有的话,呵呵,嘻嘻......

    问题就发生在这个空格上了,规范文档中给的示例内容都是没有空格的。于是n个人(注意,不是一个两个)对此表示异议,提醒/警告/训斥俺:“你这个和规范不符”。有甚者,非常严厉的告诫俺:“你要为因此可能带来的问题负责任”。

    需要强调的是,当时对于<name />是否符合规范的争执,是基于xml的语法即<name />是否能正确的表示空元素,而不是基于书写的习惯要求将<name/>, <name></name>和<name />统一,所以才有“懂不懂xml”的说法。

    郁闷了,"<name/>"写成"<name />"会带来xml解析的问题,那家的xml解析方式如此强悍?而且责任还要俺承担,无语......
    
    这年头,都是些什么人在用xml?

    ps: 总结一下吧,写这两个事情,主要是有感于目前我接触到的xml使用情况, 可以说是鱼龙混杂。xml是个好东西,可是也要使用得当啊。连基本知识都欠缺就敢在工程上使用或者做项目开发,未免牵强了一点。
分享到:
评论
1 楼 sp42 2016-07-03  
好搞笑 

相关推荐

    hibernate--你懂的

    XML配置文件通常为`hibernate.cfg.xml`,而Java配置则可以通过`@Configuration`和`@EntityScan`等注解实现。 最后,Hibernate还提供了逆向工程(Reverse Engineering)功能,可以从现有数据库生成实体类和映射文件...

    NewsRelease.zip

    在"NewsRelease"项目中,Maven管理了所有依赖库,如Spring Boot、MySQL连接器等,通过POM.xml文件定义项目结构和依赖关系,使得团队协作更加顺畅。 三、数据库设计与使用 MySQL是一个广泛使用的开源关系型数据库...

    mybatis-plugin 3.21 你懂的版本(idea 2017.2 已经不能安装低于3.0版本的了)

    2. **代码生成器**:能够快速生成Mapper接口、Mapper XML文件、实体类和Service类,提高开发效率。 3. **动态SQL高亮**:对MyBatis的动态SQL标签进行语法高亮,便于阅读和调试。 4. **SQL执行**:可以直接在IDE内...

    Navicat Premium 11.2.7 可用版,你懂的

    2. **数据可视化**:通过直观的图表和报表,Navicat提供数据可视化功能,帮助用户更好地理解和分析数据。 3. **数据同步**:它具备强大的数据同步功能,能对比并分析数据库之间的差异,生成必要的脚本进行同步。 4...

    氧气 XML v21 简体中文配置文件

    【标题】"氧气 XML v21 简体中文配置文件"所指的是一款名为“氧气编辑”的XML处理工具的本地化配置文件。氧气编辑是一款专业...对于XML开发人员来说,这样的本地化配置文件是必不可少的,能提升工作效率和使用体验。

    前后端数据交互ajax ,包括原生js的ajax,以及jquery中的ajax的使用(一)

    2.[removed] 这就不多说了,你懂的。 3.XML:标记语言,写法和html还很类似,但XML名字可以随便取。XML用来存放数据,前端用XML的格式发送数据给后端,后端也发送XML格式数据给前端,前段也好处理(相当于中

    qP.zip_QP架构_opera

    仿 Q+ 程序 模版和后台完全独立 程序都已封装起来了 外面是个框架 加载的模版 数据全部通过XML传递 后台我...那个不兼容IE6内核 你懂的。。。。谷歌浏览最好 其次是IE9 在就是火狐 OPERA SS 最后是IE78兄弟了。。。

    仿Q+ WEBOS系统 模版和后台完全独立

    程序都已封装起来了 外面是个框架 加载的模版 ...那个不兼容IE6内核 你懂的。。。。谷歌浏览最好 其次是IE9 在就是火狐 OPERA SS 最后是IE78兄弟了。。。 http://32100.net/#application_jBlog_list 这是测试网址

    SXW Flash CMS V2.0破解xx版超酷动感网站,附FLA源文件

    有人说破解的不完全,我哭,asp文件本身是没有加密的,我怎么破啊,只不过是有些功能官方本身就没有加入而已,如果你懂asp的话就自己加吧,如果你什么都不懂就别下这个了,真的,世界上不可能有一个程序能完全满足你...

    QQ用户数据目录切换器

    在使用QQ时,登录列表中会显示许多以前登记过的QQ号,如果某个QQ号你不希望显示,并且这个号的聊天记录也需要保存在某个特定的磁盘中方便保留所有的记录,你就需要他了。 再具体用途你懂的。 提示,此软件和 HoeKey...

    微软的 SqlHelper.cs(中文注释) OdbcHelper.cs OleDbHelper.cs 等

    你信或者不信,微软的SqlHelper就在那里;访问数据库,方法齐全。你懂或者不懂,微软的SqlHepler就在那里;拿过来就能用, 中文注释,方便快捷。 有时候开发速度不是我们埋头苦写,而是站在前辈们的尸体上前进....

    YurunPHP(开源 PHP 框架) v1.3.zip

    模版引擎:采用 html 标签式的标签,方便不懂 PHP 的设计人员制作页面模版。release 模式下模版会被编译,无须担心效率损耗! 插件机制:支持在系统中埋下事件,以便开发插件扩展 数据验证:不仅有数据验证类,...

    仿Q+ WEBOS系统

    那个不兼容IE6内核 你懂的。。。。谷歌浏览最好 其次是IE9 在就是火狐 OPERA SS 最后是IE78兄弟了。。。可以通过滚轮来切换屏幕,右键菜单等注:源码需要放到服务器执行,不然没有权限执行AJAX,本地无法测试。

    通过html为FLASH加链接的实现代码(div层)

    后果你懂的。 几年前帮别人维护的时候做过,后来好久不做了,感觉太生疏了,这里特别整理下,方便需要的朋友,希望大家多多支持软件开发网。 下面是完整的代码,因为flash文件都比较大我们特别用iframe加载了广告: ...

    高性能JavaScript DOM编程(1)

    我们不可能不用DOM的接口,那么,怎样才能提高程序的效率? 1、DOM访问与修改 访问DOM元素是有代价的(“过桥费”你懂的),修改元素代价更是昂贵,因为它会导致浏览器重新计算页面的几何变化(重排和重绘)。

    vs2005漂亮皮肤

    【描述】提到的"不说了你懂的"暗示了这些皮肤不仅美观,还可能包含了一些独特的设计元素或者特别的功能,使得VS2005的工作界面更加舒适和高效。同时,"里面还包含了使用教程"意味着用户在安装和应用这些皮肤时,可以...

    基于maven项目的SSM框架与layu前端框架的代码

    MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。可以这么理解,MyBatis是一个用来帮你管理数据增删改查的框架。

    dotnetfx_2.0.zip

    2. **类库**:提供了丰富的API,涵盖数据访问、网络通信、图形处理、XML处理等多个领域,方便开发者快速构建应用程序。 3. **C#、VB.NET、C++/CLI等编程语言支持**:这些语言可以编译成中间语言(IL),并在运行库...

    Hibernate学习PPT

    2. **实体类(Entities)**:实体类代表数据库中的表,每个类对应一张表,类的属性对应表的列。通常,我们需要使用@Entity注解标识一个类为实体,并用@Id注解标记主键字段。 3. **映射文件(Mappings)**:XML映射...

    学生Ajavx的PPT

    2. **异步交互**:不影响用户对其他页面元素的操作。 3. **资源高效利用**:只传输必要的数据,降低服务器和网络负担。 挑战: 1. **浏览器兼容性**:不同浏览器对XMLHttpRequest的支持程度不同,需要编写兼容代码...

Global site tag (gtag.js) - Google Analytics