將你的文件類型集合進(jìn)XML編輯器(第一部分)
感謝 Vadiraj 的幫助,我現(xiàn)在知道了如何在XML編輯器里打開(kāi)非XML文件。有時(shí)候你擁有一個(gè)內(nèi)容是XML但是卻并非以“.xml”結(jié)尾的文件。如何讓IDE把它看作一 個(gè)XML文件呢?接下來(lái)你可以看到一個(gè)后綴為“.test”的文件在XML編輯器里被打開(kāi)。你知道它被打開(kāi)是因?yàn)檎Z(yǔ)法著色和縮進(jìn),以及XML文件特有的附 加菜單項(xiàng):
1、使用文件類型向?qū)В瑫?huì)創(chuàng)建一些不同的類。只需要修改名為 XxxDataObject 的類。
2、為模塊依賴關(guān)系添加 XML Tools API。
3、在 DataObject 里,將繼承的類由 MultiDataObject 改為 XMLDataObject。
4、在構(gòu)造函數(shù)里補(bǔ)充驗(yàn)證 XML、確認(rèn) XML 和使用 XSLT 改變 XML 樣式等附加功能所提供的 Cookies,像這樣:
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、確認(rèn)導(dǎo)入合適的聲明。
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;
就這樣,你已經(jīng)完成。你的文件現(xiàn)在可以被看作是一個(gè) XML 文件,就像其他所有的 XML 文件一樣。
原文地址:http://blogs.sun.com/geertjan/entry/integrating_the_xml_edior_for
posted on 2009-09-14 20:01 陳維 閱讀(189) 評(píng)論(0) 編輯 收藏 所屬分類: NetBeans