将你的文件类型集合进XML编辑器(第一部分)

感谢 Vadiraj 的帮助,我现在知道了如何在XML编辑器里打开非XML文件。有时候你拥有一个内容是XML但是却并非以“.xml”结尾的文件。如何让IDE把它看作一 个XML文件呢?接下来你可以看到一个后缀为“.test”的文件在XML编辑器里被打开。你知道它被打开是因为语法着色和缩进,以及XML文件特有的附 加菜单项:

own-extension-xml.png

1、使用文件类型向导,会创建一些不同的类。只需要修改名为 XxxDataObject 的类。

2、为模块依赖关系添加 XML Tools API。

3、在 DataObject 里,将继承的类由 MultiDataObject 改为 XMLDataObject。

4、在构造函数里补充验证 XML、确认 XML 和使用 XSLT 改变 XML 样式等附加功能所提供的 Cookies,像这样:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --> public  TestDataObject(FileObject pf, TestDataLoader loader)  throws  DataObjectExistsException, IOException {
    
super (pf, loader);
    CookieSet cookies 
=  getCookieSet();
    InputSource is 
=  DataObjectAdapters.inputSource( this );
    Source source 
=  DataObjectAdapters.source( this );
    cookies.add(
new  CheckXMLSupport(is));
    cookies.add(
new  ValidateXMLSupport(is));
    cookies.add(
new  TransformableSupport(source));
    cookies.add((Node.Cookie) DataEditorSupport.create(
this , getPrimaryEntry(), cookies));
}

5、确认导入合适的声明。

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --> import  java.io.IOException;
import  javax.xml.transform.Source;
import  org.netbeans.spi.xml.cookies.CheckXMLSupport;
import  org.netbeans.spi.xml.cookies.DataObjectAdapters;
import  org.netbeans.spi.xml.cookies.TransformableSupport;
import  org.netbeans.spi.xml.cookies.ValidateXMLSupport;
import  org.openide.filesystems.FileObject;
import  org.openide.loaders.DataObjectExistsException;
import  org.openide.loaders.XMLDataObject;
import  org.openide.nodes.CookieSet;
import  org.openide.nodes.Node;
import  org.openide.text.DataEditorSupport;
import  org.xml.sax.InputSource;

就这样,你已经完成。你的文件现在可以被看作是一个 XML 文件,就像其他所有的 XML 文件一样。



原文地址:http://blogs.sun.com/geertjan/entry/integrating_the_xml_edior_for

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值