xml安全编译器
‘壹’ XML用什么编译器编写
Altova XMLspy
‘贰’ eclipse 怎么看xmlbuddy安装
这里只介绍XMLBuddy,它主要提供是有关DTD方面的验证、代码助手等功能;还有一种是XMLBuddy
Pro,它相对于XMLBuddy来说,扩展了许多功能,比如对Schema、XSLT、RELAXNG
的支持,但它需要Money。对于XML的一般编写,XMLBuddy已经够用了,而且它是免费的,很容易得到,所以这里就着重谈谈它了。
一、下载与安装
1.下载
XMLBuddy的主页地址是:http://www.xmlbuddy.com/
下载要注意是XMLBuddy,不是XMLBuddyPro。这里给出一个下载地址,是XMLBuddy2.0.38版本的:
http://xmlbuddy.com/2.0/78945789020508924908525/8902390238490587584751/xmlbuddy_2.0.38.zip
http://dl.download.csdn.net/down6/20081206/.zip?response-content-disposition=attachment%3Bfilename%2A%3D%22utf8%27%27com.objfac.xmlbuddy-V2.0.9.zip%22&OSSAccessKeyId=9q6nvzoJGowBj4q1&Expires=1469007502&Signature=JKgXBc%2B26iq1KGztUDYOYWwMaIE%3D
注意:这个版本匹配的是eclipse3.0.1-3.1M5。
为了讲解方便,我使用的eclipse的版本是3.0.1,并且安装了中文语言包,没有安装其它插件。如图:
2.安装
安装XMLBuddy2.0.38,先解压这个下载的文件,然后将com.objfac.xmleditor_2.0.38这个目录复制到eclipse安装目录下的plugins目录中即可;或者采用links方式安装也可以。
再次启动eclipse,应该可以发现XMLBuddy已经安装了。
3.定制
如果要定制XMLBuddy,可以通过窗口->首选项->XMLBuddy来修改:
Eclipse的插件大全
以下是我整理的自己开发过程中的常用Eclipse插件,按字母排序:
(1)AmaterasUML
介绍:Eclipse的UML插件,支持UML活动图,class图,sequence图,usecase图等;支持与javaclass/interface之间的相互导入导出。
官方网站:http://amateras.sourceforge.jp/cgi-bin/fswiki_en/wiki.cgi?page=AmaterasUML
插件下载URL:http://sourceforge.jp/projects/amateras/downloads/56447/AmaterasUML_1.3.4.zip/(目前最新版本)
注:安装时需要GEF插件的支持。
(2)BravoJSP
介绍:BravoJSP编辑器是一款WYSIWYG(所见即所得的)JSP/html页面编辑器。Code
Editor(代码编辑器)与EclipseWeb
Tools的JSP编辑器相同,所以支持代码建议,代码模板和其它相同的功能。可视化部分:支持CSS样式、图片、JSP表达式/标签库/标签文件、外部included的文件。改变HTML/CSS/JSP代码可以立即看到效果。提供DOM查找/替换对话框。JSTL的变量查看功能。
官方网站:http://bravo.comxa.com/index.php
Eclipse在线安装URL:http://bravo.comxa.com/update
(3)Checkstyle
介绍:CheckStyle是SourceForge下的一个项目,提供了一个帮助JAVA开发人员遵守某些编码规范的工具。它能够自动化代码规范检查过程,从而使得开发人员从这项重要,但是枯燥的任务中解脱出来。CheckStyle检验的主要内容有:Javadoc注释、命名约定、标题、import语句、体积大小、空白、修饰符、块、代码问题、类设计以及混合检查(包括一些有用的比如非必须的System.out和printstackTrace)等。
官方网站:http://checkstyle.sourceforge.net/
Eclipse在线安装URL:http://eclipse-cs.sourceforge.net/update/
(4)EasyExplorer
介绍:如果你经常需要在Eclipse里打开相关资源文件所在的文件夹,比较麻烦,要右键,属性,在Location一栏中把所在的文件夹拷贝一下,然后再去资源管理器里输入这个路径,回车,然后打开它,比较麻烦。Easy
Explorer是一个Eclipse的小插件,它能直接打开选中文件所在的目录,很方便好用.
官方网站:http://sourceforge.net/projects/easystruts/
(5)Easysql
介绍:EasySQL:EclipseSQL插件。包含SQL编辑器和执行器,表格编辑器,数据导出工具。EasySQL设计成易于与其它插件相集成。如果在你的项目中需要数据库
操作功能,可以考虑该插件。
官方网站:http://easysql.sourceforge.net/
插件下载URL:http://sourceforge.net/projects/easysql/files/latest/download?source=files
(6)EclEmma
介绍:提到EclEmma首先就要说到着名的Java覆盖测试工具
Emma。从某种程度上说,EclEmma可以看作是Emma的一个图形界面。EclEmma的出现弥补了Emma用户一个大的遗憾----
缺乏图形界面以及对集成开发环境的支持。将Eclipse和Emma这两个在各自领域最为优秀的工具结合起来,这就是EclEmma
为我们提供的。
官方网站:http://www.eclemma.org/
Eclipse在线安装URL:http://update.eclemma.org/
(7)EclipseSWTDesignerPlugin
介绍:EclipseSWTDesignerPlugin是一个用于快速构建J2SE的桌面化GUI开发的Eclipse插件。
官方网站:http://sourceforge.net/projects/eclipsedesigner/
插件下载URL:http://sourceforge.net/projects/eclipsedesigner/files/latest/download
(8)FindBugs
介绍:Findbugs是一个静态分析工具,它检查类或者JAR
文件,将字节码与一组缺陷模式进行对比以发现可能的问题。了静态分析工具,就可以在不实际运行程序的情况对软件进行分析。它可以帮助改进代码的质量。它是寻找代码缺陷的,很多我们写的不好的地方,可以优化的地方,它都能检查出来。例如:未关闭的数据库连接,缺少必要的null
check,多余的null
check,多余的if后置条件,相同的条件分支,重复的代码块,错误的使用了"==",不同数据类型的比较,建议使用StringBuffer代替字符串连加等等。
官方网站:http://findbugs.sourceforge.net/
Eclipse在线安装URL:http://findbugs.cs.umd.e/eclipse
(9)FreeMarkerIDE
介绍:FreeMarker
IDE是一个FreeMarker(模板引擎)感知编辑器,支持:语法高亮显示(SyntaxHilighting)、内容辅助(Content
Assist)、大纲视图(Outline
View)。其主页上提供了如何使用该插件进行开发的Flash视频。FreeMarker还有另外一个插件FreeMarkerEclipse
Plugin。
官方网站:http://freemarker-ide.sourceforge.net/
插件下载URL:http://sourceforge.net/projects/freemarker-ide/files/
(10)Spket
介绍:SpketIDE是功能强大的JavaScript
和XML开发工具包。这个强大的编辑器可以进行JavaScript、XUL/XBL以及Yahoo!
Widget开发。其中JavaScript编辑器具有代码完成(code
completion)、语法标记以及内容概览等功能,协助开发人员创建高效的JavaScript代码。
官方网站:http://www.spket.com
Eclipse在线安装URL:http://www.agpad.com/update
(11)JadClipse
介绍:JadClipse是一个Eclipse插件,无缝地集成了Jad(快速Java反编译器)与Eclipse。通常,当打开一个类文件,类文件查看器将显示一个简短的API类的轮廓。如果你安装这个插件,JadClipse类文件查看器将替换类文件查看器并显示了类的反编译源代码。这个任务可以通过在后台使用Jad反编译相应的类文件来完成。可以支持正常的Java语法高亮以及大纲视图。
官方网站:http://sourceforge.net/projects/jadclipse/
Eclipse在线安装URL:http://feeling.sourceforge.net/update
(12)JavascriptDebugToolkit
介绍:JSDT(JavascriptDebug
Toolkit)是一个用于javascript调试的Eclipse
插件,用于调试javascript。JSDT可以跨浏览器调试,支持在IE,Firefox,Safari,Chrome等主流浏览器中调试javascript。JSDT支持设置断点,单步调试等调试工具的基本特性。
官方网站:http://code.google.com/p/jsdt/
Eclipse在线安装URL:http://jsdt.googlecode.com/svn/trunk/org.ayound.js.debug.update
(13)MybatisEditor
介绍:MyBatisEditor是一个Eclipse的插件,用来编辑MyBatis的配置文件。
官方网站:http://code.google.com/a/eclipselabs.org/p/mybatiseditor/
Eclipse在线安装URL:http://mybatiseditor.eclipselabs.org.codespot.com/git/org.eclipselabs.mybatiseditor.updatesite
(14)MAT
介绍:EclipseMemoryAnalyzer(MAT)是着名的跨平台集成开发环境Eclipse
Galileo版本的33个组成项目中之一,它是一个功能丰富的JAVA堆转储文件分析工具,可以帮助你发现内存漏洞和减少内存消耗。对于大型
JAVA
应用程序来说,再精细的测试也难以堵住所有的漏洞,即便我们在测试阶段进行了大量卓有成效的工作,很多问题还是会在生产环境下暴露出来,并且很难在测试环境中进行重现。JVM
能够记录下问题发生时系统的部分运行状态,并将其存储在堆转储
(HeapDump)文件中,从而为我们分析和诊断问题提供了重要的依据。
官方网站:http://www.eclipse.org/mat/
Eclipse在线安装URL:http://download.eclipse.org/mat/1.2/update-site/
(15)m2eclipse
介绍:这是一个在Eclipse环境中集成的Maven插件。
官方网站:http://www.sonatype.org/m2eclipse/
Eclipse在线安装URL:
http://m2eclipse.sonatype.org/sites/m2e
(16)PatternBox
介绍:PatternBox是一个Java设计模式编辑器。它提供一个基于模板的代码生成器。这个基于XML的模板机制使得你能够定义自己的代码模板。PatternBox当前能够为16种GoF设计模式生成代码。
官方网站:http://www.patternbox.com/
插件下载URL:http://www.patternbox.com/eclipse-plugin.html
(17)PMD
介绍:PMD是一种开源分析Java代码错误的工具。与其他分析工具不同的是,PMD通过静态分析获知代码错误。也就是说,在不运行Java程序的情况下报告错误。PMD附带了许多可以直接使用的规则,利用这些规则可以找出Java源程序的许多问题。此外,用户还可以自己定义规则,检查Java代码是否符合某些特定的编码规范。PMD是一款采用BSD协议发布的Java程序代码检查工具。该工具可以做到检查Java代码中是否含有未使用的变量、是否含有空的抓取块、是否含有不必要的对象等。该软件功能强大,扫描效率高,是Java程序员debug的好帮手。
官方网站:http://pmd.sourceforge.net/
Eclipse在线安装URL:http://pmd.sf.net/eclipse
(18)PropertiesEditor
介绍:PropertiesEditor编辑java的属性文件,并可以自动存盘为Unicode格式。
官方网站:http://propedit.sourceforge.jp/index_en.html
Eclipse在线安装URL:http://propedit.sourceforge.jp/eclipse/updates/
(19)RegexUtil
介绍:正则表达式测试插件。它能够高亮显示正则表达式语法、括号匹配、错误检测。能够提醒正则表达式的功能详细描述等。
官方网站:http://myregexp.com/eclipsePlugin.html
Eclipse在线安装URL:http://regex-util.sourceforge.net/update/
(20)Smelly
介绍:Smelly这个插件能够自动探测Java代码中的BadSmells。Smelly在软件开发中非常有用,它当前能够探测以下这些BadSmells:
1.DataClass(纯数据类):Class只有fields或get/set属性,没有任何行为。
2.LargeClass(庞大的类):单一类做过多的事情。
3.LongMethod(过长的Method):过长的代码会使得Method难以理解和维护,应该将该Method分解成多个独立功能的Method。
4.HighCommentDensity(过多的注释):注释过多意味着该段代码难于理解。
5.LongParametersList(过长的参数列表):一个Method中传入过长的参数列表,使得参数列难以理解。修改参数列时将会使得参数前后不一致。
6.SwitchStatements(Switch语句):同样的Switch语句出现在不同的方法或不同的Class中,这样当需要增加新的CASE分支或者修改CASE分支内语句时,就必须找到所有的地方,然后进行修改。
官方网站:http://smelly.sourceforge.net/english.html
插件下载URL:http://smelly.sourceforge.net/download2.html
(21)SpringIDE
介绍:SpringIDE是一系列Eclipse插件,目的开发基于Spring的应用。Spring
IDE增强了普通EclipseIDE自带工具构建基于Spring的应用程序的能力。它使你的Eclipse
IDE能够感知Spring,并给各种不同类型的Spring相关构件(Spring配置文件,Spring注解等)添加代码完成,验证,内容辅助,快速修复等功能。它也包含了对重构、Spring自动装配、Spring
AOP和AspectJ、SpringBatch、Spring集成、Spring
Security以及SpringWebFlow的支持,并集成了EclipseMylyn。它同时还包含了Spring
UAA(用户代理分析),帮助我们收集一些使用数据的一个可选组件。这是完全匿名的,并且有助于我们更好地理解如何使用工具,如何在未来改进它。它还附带了SpringSource面板这个可选组件,可以给你带来有关SpringSource相关项目的最新信息以及一个易于使用的扩展安装来为Eclipse集成像VMware
vFabricTCServer或CloudFoundry这样的额外的工具附加组件。
官方网站:https://github.com/SpringSource/spring-ide
Eclipse在线安装URL:http://dist.springsource.com/release/TOOLS/update/e4.2(forEclipseJuno4.2)
http://dist.springsource.com/release/TOOLS/update/e3.7(forEclipseIndigo3.7)
http://dist.springsource.com/release/TOOLS/update/e3.6(forEclipseHelios3.6)
(22)StrutsIDE
介绍:Struts开发辅助工具。提供struts-config.xml的图形编辑界面;提供Action,ActionForm,JSP等的创建向导。
官方网站:http://amateras.sourceforge.jp/cgi-bin/fswiki_en/wiki.cgi?page=StrutsIDE
插件下载URL:http://sourceforge.jp/projects/amateras/downloads/48176/tk.eclipse.plugin.struts_2.0.7.jar/
(23)Subclipse
介绍:Subclipse是一个为EclipseIDE添加Subversion支持的项目。支持几乎所有版本的Eclipse。
官方网站:http://subclipse.stage.tigris.org/
Eclipse在线安装URL:http://subclipse.tigris.org/update_1.8.x
(24)XMLBuddy
介绍:一个XML的Eclipse插件,支持XML,DTD,XMLSchema,XSLT等。XMLBuddy分了2个版本,一个是免费的,XMLBuddyPro是收费的。
http://dl.download.csdn.NET/down6/20081206/.zip?response-content-disposition=attachment%3Bfilename%2A%3D%22utf8%27%27com.objfac.xmlbuddy-V2.0.9.zip%22&OSSAccessKeyId=9q6nvzoJGowBj4q1&Expires=1469007502&Signature=JKgXBc%2B26iq1KGztUDYOYWwMaIE%3D
‘叁’ linux tinyxml2怎么编译
1.首先,要到官网上去把tinyxml库下载下来,网址为:点击打开链接:http://sourceforge.net/projects/tinyxml/
2.把下载的tinyxml库解压缩,我这里是解压缩到/opt 目录下
3.进入到解压缩目录下,我们会发现Tinyxml在Windows 下是使用微软的VS 来生成的库,因为其中有tinyxml.sln,tinyxml_lib.vcxproj,tinyxmlSTL.vcxproj等文件,当然,Tinyxml是开源的,所以它也有一个Makefile,用来生成Linux下的Tinyxml库。整个Tinyxml源码项目其实是由2个头文件和一个4个C++源文件(.cpp)组成:tinystr.h,tinyxml.h,tinystr.cpp,tinyxml.cpp,tinyxmlerror.cpp,tinyxmlparser.cpp。其中还有一个xmltest.cpp文件,只是一个测试代码,有兴趣的话,大家可以打开研究它。好了,现在介绍怎么修改它的Makefile:
(1)使用vim或者其他的编辑器打开Makefile文件
(2)将其中的注释为Targets of the build的下一行OUTPUT := xmltest一行修改为:OUTPUT := libtinyxml.a
(3)将其中的注释为Source files 的下一行SRCS:=tinyxml.cpp tinyxml-parser.cpp xmltest.cpp tinyxmlerror.cpp tinystr.cpp中的xmltest.cpp删除,因为它只是一个测试源文件,不需要编译。
(4)将其中的Output的下一行的${LD} -o $@ ${LDFLAGS} ${OBJS} ${LIBS} ${EXTRA_LIBS}修改为:${AR} $@ ${LDFLAGS} ${OBJS} ${LIBS} ${EXTRA_LIBS}。大致改成这样
- ${OUTPUT}:${OBJS}
- ${AR}$@${LDFLAGS}${OBJS}${LIBS}${EXTRA_LIBS}
- #${LD}-o$@${LDFLAGS}${OBJS}${LIBS}${EXTRA_LIBS}
(5)将Makefile的倒数第二行 xmltest.o:tinyxml.h tinystr.h,注释掉,因为不需要将演示程序添加到静态库中。然后保存退出。
(6)在终端下进入Makefile所在目录,执行make命令编译,即可在Makefile所在目录下生成libtinyxml.a文件。
4.接下来就可以使用这个静态库了:$ g++ -o xmltest xmltest.cpp libtinyxml.a 注意:将使用的静态库放在源文件后面即可,如果静态库文件不在当前目录,应该使用它的绝对路径或者用g++的参数-L来指定路径,因为编译器默认在当前目录下先查找指定的库文件。
修改后的Makefile (v 1.0.1) 记录如下:
[plain] view plain print?
#****************************************************************************
#
#MakefileforTinyXmltest.
#LeeThomason
#www.grinninglizard.com
#
#ThisisaGNUmake(gmake)makefile
#****************************************************************************
#,orNOotherwise
DEBUG:=NO
#,orNOotherwise
PROFILE:=NO
#TINYXML_USE_.NO,thenSTL
#willnotbeused.YESwillincludetheSTLfiles.
TINYXML_USE_STL:=NO
#****************************************************************************
CC:=gcc
CXX:=g++
LD:=g++
AR:=arrc
RANLIB:=ranlib
DEBUG_CFLAGS:=-Wall-Wno-format-g-DDEBUG
RELEASE_CFLAGS:=-Wall-Wno-unknown-pragmas-Wno-format-O3
LIBS:=
DEBUG_CXXFLAGS:=${DEBUG_CFLAGS}
RELEASE_CXXFLAGS:=${RELEASE_CFLAGS}
DEBUG_LDFLAGS:=-g
RELEASE_LDFLAGS:=
ifeq(YES,${DEBUG})
CFLAGS:=${DEBUG_CFLAGS}
CXXFLAGS:=${DEBUG_CXXFLAGS}
LDFLAGS:=${DEBUG_LDFLAGS}
else
CFLAGS:=${RELEASE_CFLAGS}
CXXFLAGS:=${RELEASE_CXXFLAGS}
LDFLAGS:=${RELEASE_LDFLAGS}
endif
ifeq(YES,${PROFILE})
CFLAGS:=${CFLAGS}-pg-O3
CXXFLAGS:=${CXXFLAGS}-pg-O3
LDFLAGS:=${LDFLAGS}-pg
endif
#****************************************************************************
#Preprocessordirectives
#****************************************************************************
ifeq(YES,${TINYXML_USE_STL})
DEFS:=-DTIXML_USE_STL
else
DEFS:=
endif
#****************************************************************************
#Includepaths
#****************************************************************************
#INCS:=-I/usr/include/g++-2-I/usr/local/include
INCS:=
#****************************************************************************
#
#****************************************************************************
CFLAGS:=${CFLAGS}${DEFS}
CXXFLAGS:=${CXXFLAGS}${DEFS}
#****************************************************************************
#Targetsofthebuild
#****************************************************************************
OUTPUT:=libtinyxml.a
all:${OUTPUT}
#****************************************************************************
#Sourcefiles
#****************************************************************************
SRCS:=tinyxml.cpptinyxmlparser.cpptinyxmlerror.cpptinystr.cpp
#Addonthesourcesforlibraries
SRCS:=${SRCS}
OBJS:=$(addsuffix.o,$(basename${SRCS}))
#****************************************************************************
#Output
#****************************************************************************
${OUTPUT}:${OBJS}
${AR}$@${LDFLAGS}${OBJS}${LIBS}${EXTRA_LIBS}
#${LD}-o$@${LDFLAGS}${OBJS}${LIBS}${EXTRA_LIBS}
#****************************************************************************
#commonrules
#****************************************************************************
#
%.o:%.cpp
${CXX}-c${CXXFLAGS}${INCS}$<-o$@
%.o:%.c
${CC}-c${CFLAGS}${INCS}$<-o$@
dist:
bashmakedistlinux
clean:
-rm-fcore${OBJS}${OUTPUT}
depend:
#makedepend${INCS}${SRCS}
tinyxml.o:tinyxml.htinystr.h
tinyxmlparser.o:tinyxml.htinystr.h
tinyxmlerror.o:tinyxml.htinystr.h