File tree Expand file tree Collapse file tree 1 file changed +12
-9
lines changed
Expand file tree Collapse file tree 1 file changed +12
-9
lines changed Original file line number Diff line number Diff line change @@ -79,8 +79,7 @@ project-root/
7979
8080 <!-- 自定义解析器,用于simple文件 -->
8181 <loader fileType =" simple"
82- class =" io.nop.xlang.xdsl.SimpleDslParser"
83- returnXNode =" true" />
82+ class =" io.nop.xlang.xdsl.SimpleDslLoader" />
8483 </loaders >
8584
8685</model >
@@ -90,21 +89,25 @@ project-root/
9089
9190- ** name="simple"** :DSL模型名称,在系统中唯一标识
9291- ** xdsl-loader** :基于xdef定义的通用解析器,处理XML格式
93- - ** 自定义loader ** :通过Java类处理特定格式, ` returnXNode="true" ` 表示返回XNode语法树
92+
9493
9594## 4. 实现自定义解析器
9695
97- 创建Java解析器类 ` io.nop.xlang.xdsl.SimpleDslParser ` :
96+ 创建Java解析器类 ` io.nop.xlang.xdsl.SimpleDslLoader ` :
9897
9998``` java
100- public class SimpleDslParser implements IResourceParser<XNode > {
101- private static final Logger LOG = LoggerFactory . getLogger(SimpleDslParser . class);
99+ public class SimpleDslLoader extends AbstractDslResourceLoader<Object > {
100+
101+ public SimpleDslLoader () {
102+ super (" /simple/simple.xdef" , null );
103+ }
102104
103105 @Override
104- public XNode parseResource (IResource resource ) {
105- ...
106+ public XNode loadDslNodeFromResource (IResource resource ) {
107+ return ...
106108 }
107109}
110+
108111```
109112
110113## 5. 创建DSL示例文件
@@ -245,7 +248,7 @@ public class CodeGenerator {
245248
246249```
247250test.simple
248- → SimpleDslParser (自定义解析逻辑)
251+ → SimpleDslLoader (自定义解析逻辑)
249252 → 返回XNode语法树
250253 → DslModelParser (根据xdef验证和转换)
251254 → SimpleModel Java对象
You can’t perform that action at this time.
0 commit comments