- 浏览: 2486364 次
- 性别:
- 来自: 杭州
-
文章分类
- 全部博客 (574)
- Book (62)
- Architecture (6)
- Java (39)
- Taobao (41)
- Distributed (4)
- Life (72)
- Database (7)
- Spring (16)
- Photography (15)
- Bicycle (41)
- Test (20)
- jBPM (8)
- Business (12)
- Movie (3)
- Ajax (15)
- Code (7)
- Eclipse (96)
- VIM (2)
- Music (6)
- Groovy (10)
- AutoHotKey (3)
- Dorado (10)
- Maven (7)
- Scrum (5)
- English (20)
- Financial (12)
- OSGi (3)
- Other (4)
- Tool (6)
- Browser (1)
- PPT (1)
- Project Management (4)
- Agile (6)
- Nosql (1)
- Search engine (6)
- Shell (2)
- Open Source (4)
- Storm (10)
- Guava (3)
- Baby (1)
- netty (1)
- Algorithm (1)
- Linux (1)
- Python (2)
最新评论
-
roy2011a:
https://github.com/ebottabi/sto ...
storm的序列化问题及与spring的结合方式 -
roy2011a:
能抗能打 写道哥们儿,你好!能共享下那个storm与sprin ...
storm的序列化问题及与spring的结合方式 -
Alick1:
兄弟,你之前是不是在深圳的正阳公司呆过啊?
storm的ack和fail -
liuleixwd:
先点个赞,写的非常好!有个问题请教下,如果我再bolt里不用e ...
storm的ack和fail -
yao-dd:
solr的facet查询
FROM:http://ganzhi.bokee.com/2968058.html
通常我们使用EMF的方式是让EMF为我们产生stub代码。但有些情况下可能无法预先生成Java代码,而需要直接从XML文件中直接载入模型。使用GenericXMLResourceFactoryImpl能够直接载入XML文档,不管这个文档是否具有Schema。如果XML文档具有Schema,那么GenericXMLResouceFactoryImpl能够根据schema生成Epackage。(载入没有schema的XML文档是在EMF 2.1.0之后加入的)
java 代码
- package ganzhi.test.emf;
- import java.io.File;
- import java.io.IOException;
- import java.util.HashMap;
- import org.eclipse.emf.common.util.TreeIterator;
- import org.eclipse.emf.common.util.URI;
- import org.eclipse.emf.ecore.resource.Resource;
- import org.eclipse.emf.ecore.resource.ResourceSet;
- import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
- import org.eclipse.emf.ecore.xmi.XMLResource;
- import org.eclipse.emf.ecore.xmi.impl.GenericXMLResourceFactoryImpl;
- import org.eclipse.emf.ecore.xmi.impl.XMLParserPoolImpl;
- public class LoadNoSchemaXML {
- /**
- *
- * @param args
- *
- */
- public static void main(String[] args) {
- try {
- HashMap options = new HashMap();
- options.put(XMLResource.OPTION_USE_PARSER_POOL,
- new XMLParserPoolImpl());
- options.put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
- options.put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
- ResourceSet rs = new ResourceSetImpl();
- Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put(
- "xml", new GenericXMLResourceFactoryImpl());
- URI fileURI = URI.createFileURI(new File(
- "ganzhi\\test\\emf\\schema\\LibraryNoS.xml")
- .getAbsolutePath());
- Resource resource = rs.createResource(fileURI);
- resource.load(options);
- int i = 0;
- for (TreeIterator ti = resource.getAllContents(); ti.hasNext();) {
- System.out.println(i);
- System.out.println(ti.next());
- i++;
- }
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
发表评论
-
Java程序员25个必备的Eclipse插件
2012-01-12 22:36 21960原文:http://www.fromdev.com/2012/ ... -
关于插件更新安装的错误
2007-12-21 20:12 2237在更新插件的时候出现这样的错误: Unable to comp ... -
最近做eclipse branding, features的一些经验
2007-12-16 01:24 4577知道eclipse的splash怎么做 ... -
GEF学习笔记
2007-12-07 20:20 4183GEF以前学习过, 而且还� ... -
SWT布局深入学习
2007-11-30 23:00 7968以下内容是学习"The Definitive Gui ... -
Eclipse Action 深入学习笔记(3)
2007-11-25 17:59 4137filter元素是用来指定当� ... -
Eclipse Action 深入学习笔记(2)
2007-11-25 17:14 5243Object Action 这种Action是跟弹出的上下文菜 ... -
Eclipse Action 深入学习笔记(1)
2007-11-25 17:07 7708以前做插件用到的ActionSet都只是依葫芦画瓢,没有真正理 ... -
JFace Text Editor完全掌握之终极指南(4)
2007-11-24 17:08 5704错误标识(Error Marking) Error Marki ... -
JFace Text Editor完全掌握之终极指南(3)
2007-11-24 16:56 5547内容大纲 之所以要给编 ... -
JFace Text Editor完全掌握之终极指南(2)
2007-11-24 16:53 6760最后一步就是实现各种功能 语法高亮 首先我们要实现的是语法高亮 ... -
JFace Text Editor完全掌握之终极指南(1)
2007-11-24 16:17 10030JFace Text Editor是JFace里面一个功能强大 ... -
最近的Eclipse plugin开发总结
2007-11-24 11:30 4959List控件没有提供addDblClickListener方法 ... -
eclipse3.3关于JavaFileEditorInput兼容性问题的解决
2007-11-24 11:22 4691在eclipse3.3中,JavaFileEditor ... -
Eclipse WTP Projects Facets实战指南(2)
2007-11-21 21:13 5287修饰工作 给facet在选择列表中添加图标 格式如下: xml ... -
Eclipse WTP Projects Facets实战指南(1)
2007-11-21 20:21 9620这个文章基本是"Building Project F ... -
也说关于WizardPage的动态生成
2007-11-05 14:26 5178在Eclipse中一个Wizard=Wiza ... -
关于多页编辑器中不同Editor之间的Redo&Undo冲突的解决
2007-09-03 15:17 4097在我们的插件工具的开� ... -
TextEditor原理分析笔记
2007-08-23 15:48 3400Editor的语法着色原理:Eclipse使用damage , ... -
最近的Eclipse开发总结
2007-08-23 15:46 2143java.lang.IllegalAccessError: t ...
相关推荐
在处理XML数据时,EMF提供了一种高效且灵活的方式,能够将XML文档转换为可操作的对象模型,进而进行读取、解析和编辑。下面将详细介绍EMF读取XML的相关知识点。 1. **EMF模型与XML的关系** - EMF模型是面向对象的...
EMF的出现解决了这个问题,它能够将设计阶段创建的模型直接转化为有效的Java代码,从而缩短了从设计到实现的时间,提高了开发效率。 #### EMF的关键作用 EMF不仅支持模型到代码的转换,还支持从代码到模型的逆向...
8. **反向工程**:EMF还可以从已存在的Java类生成元模型,这被称为反向工程或逆向工程,可以快速构建基于现有代码的模型。 9. **扩展和定制**:EMF允许开发者通过继承和实现接口来扩展其功能,如自定义类型系统、...
Ecore模型可以通过图形化界面(EMF Edit)或XML源代码来创建和编辑。 3. **XMI和XML绑定** EMF使用XMI(eXtensible Metadata Interchange)作为默认的数据交换格式,它是一种基于XML的规范,用于交换模型信息。...
相较于SDO 1.0,2.0版本引入了一些关键改进,例如增加了Helper类,如XSDHelper和XMLHelper,使得开发者无需直接与EMF SDK交互,就能更好地利用SDO的功能。 在这个初级级别的教程中,作者通过一个简单的示例展示了...
【EMF XSD SDK】是Eclipse平台下用于XML Schema Definition (XSD) 支持的软件开发工具包,它提供了强大的模型驱动框架(Model-Driven Framework, MDF)和可扩展标记语言(XML)相关的服务。这个SDK是Eclipse ...
- **使用 XML Schema 生成模型**: EMF 支持从 XML Schema 定义(XSD)文件生成 EMF 模型。这种方法特别适用于那些已经定义了 XML 格式的数据结构的应用程序。 #### 5. JET 教程 **JET Tutorial Part 1 & 2** 部分...
此外,EMF还支持模型的序列化和反序列化,即将模型实例转换为XML或其他格式的数据,或者从数据中恢复模型实例。EMF的序列化机制可以处理复杂的模型结构,包括循环引用、嵌套对象等,确保了模型数据的完整性和一致性...
- **模型编辑**:利用EMF的编辑器,可以创建和编辑模型实例,直观地查看和修改模型结构。 - **运行与调试**:编写基于EMF的代码,测试模型的创建、读取、更新和删除操作,进行必要的验证和转换。 5. **学习资源**...
EMF(Eclipse Modeling Framework)开发者指南是一份详细介绍如何使用EMF进行模型驱动开发的文档。这份指南没有中文翻译,但提供了对EMF基础概念、使用方法和高级主题的概述。 EMF是一个Java框架,其核心功能是代码...
- 本书还包含了对 `@model` JavaDoc 标签、生成器模型属性以及资源保存和加载选项的完整文档,帮助开发者更好地理解并利用 EMF 提供的各种功能。 6. **最新 EMF 特性**: - 扩展元数据:提供更丰富的模型元数据...
将现有的XML或UML模型导入到EMF中,然后利用EMF的工具对其进行扩展和维护。 ##### 2.2 EMF编辑器与代码生成 **2.2.1 生成的插件** EMF自动生成的插件包含了编辑器、视图和其他相关组件。 **2.2.2 通过GenModel...
XSD (XML Schema Definition) 是一种用于定义XML文档结构的语言,它为XML文档提供了一种形式化的规范,确保数据的一致性和有效性。在EMF中,XSD文件可以被用来作为模型的定义,生成相应的Java类和API,这样开发人员...
4. 序列化和反序列化:EMF支持将模型对象序列化为XML,便于存储和传输,也可以从XML数据中反序列化回模型对象。 5. 集成其他Eclipse技术:如Xtext用于生成自定义编程语言,M2T用于模型到文本转换,M2M用于模型之间的...
3. **数据绑定**:EMF SDO提供了数据绑定功能,能够将数据对象直接映射到XML文档,或者与其他数据源(如数据库)进行交互。这对于跨系统数据交换非常有用。 4. **模型操作**:使用生成的Java类,开发者可以进行增删...
EMF支持从UML(统一建模语言)和其他建模语言导入和导出模型,使得跨工具的互操作性成为可能。 二、核心功能 1. **模型定义**:EMF允许开发者使用Ecore(EMF的基础元模型)来定义自己的数据模型。Ecore是一种XML ...
总的来说,"emf-sdo-xsd-SDK-2.3.2.zip"是一个强大的工具,它结合了EMF的模型驱动开发能力、SDO的数据访问统一性以及XSD的结构定义,为开发者提供了构建基于模型的XML数据处理系统的一站式解决方案。在Java Swing...
EMF(Eclipse Modeling Framework)模型文件对比/比较(emf.compare)是针对基于EMF构建的模型文件进行差异分析的工具。EMF是Eclipse项目中的一个子项目,它提供了一种创建、操作和共享复杂的领域特定语言(DSL)...