鍵盤上的舞者

          像寫情書一樣Coding...
          隨筆 - 20, 文章 - 0, 評(píng)論 - 15, 引用 - 0
          數(shù)據(jù)加載中……

          將你的文件類型集合進(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):

          own-extension-xml.png

          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,像這樣:

          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、確認(rèn)導(dǎo)入合適的聲明。

          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;

          就這樣,你已經(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

          主站蜘蛛池模板: 东乡族自治县| 自贡市| 友谊县| 金山区| 景泰县| 汾阳市| 尚义县| 辛集市| 页游| 安西县| 民乐县| 游戏| 西乡县| 南雄市| 邳州市| 三台县| 光山县| 旅游| 密山市| 什邡市| 乌什县| 亳州市| 永胜县| 萨嘎县| 昌图县| 吉安县| 滦南县| 昌平区| 阿尔山市| 龙州县| 师宗县| 临湘市| 凤庆县| 内江市| 北海市| 平江县| 上犹县| 怀来县| 日土县| 肇源县| 渭源县|