You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oxygen XML 19.1中为teiCorpus框架添加自定义属性correspUnic的方法

可行性说明与操作指南

当然可行!用TEI ODD扩展自定义属性正是TEI框架设计的核心优势之一,完全能满足你给乌加里特语拉丁转写添加对应Unicode字符的需求。既然你对ODD完全陌生,我给你一步步拆解在Oxygen 19.1里的操作流程:

一、先搞懂TEI ODD的核心作用

简单来说,ODD是TEI官方提供的「自定义语法规则」工具——用TEI自身的XML语法来定义你需要的自定义属性、元素,最终生成Oxygen能识别的Schema(比如RNG、XSD),这样你在编辑语料时就能合法使用这个新属性了。

二、具体操作步骤

1. 新建TEI ODD文件

  • 打开Oxygen,点击顶部菜单栏的File > New
  • 在弹出的新建窗口中,找到TEI分类,选择TEI ODD,点击Create
  • 此时会生成一个基础ODD模板,核心节点是<schemaSpec>,我们的自定义配置都要写在这里面。

2. 定义自定义属性correspUnic

在<schemaSpec>节点内部,添加<attDef>标签来定义你的属性:

<attDef ident="correspUnic" usage="opt">
  <desc>关联拉丁转写内容对应的乌加里特语Unicode字符</desc>
  <datatype>
    <rng:data type="string"/> <!-- 若仅需单个Unicode字符,可改为`type="token"`更严谨 -->
  </datatype>
</attDef>

参数说明:

  • ident="correspUnic":指定属性的名称,就是你要的correspUnic
  • usage="opt":表示该属性为可选,不是必填项
  • <desc>:属性的描述文本,方便自己或其他编辑者理解用途
  • <datatype>:定义属性值的类型,string是通用字符串类型,适合多字符场景;如果是单个Unicode字符,用token更合适。

3. 将属性绑定到目标元素(、、等)

我们需要修改TEI原有元素的定义,把correspUnic属性添加进去,有两种方式:

方式一:单个元素绑定

比如给<w>元素添加属性:

<elementSpec ident="w" mode="change">
  <attList>
    <attRef ident="correspUnic"/>
  </attList>
</elementSpec>

mode="change"表示我们是修改现有TEI元素,而非新建元素。

方式二:批量绑定多个元素

如果要给<w>、<g>、<name>等多个元素添加,直接逐个添加<elementSpec>即可:

<elementSpec ident="w" mode="change">
  <attList>
    <attRef ident="correspUnic"/>
  </attList>
</elementSpec>
<elementSpec ident="g" mode="change">
  <attList>
    <attRef ident="correspUnic"/>
  </attList>
</elementSpec>
<elementSpec ident="name" mode="change">
  <attList>
    <attRef ident="correspUnic"/>
  </attList>
</elementSpec>

4. 从ODD生成Schema文件

Oxygen可以直接把ODD转换成编辑器能识别的Schema:

  • 先保存你的ODD文件(比如命名为UgariticTEI.odd)
  • 右键点击该文件,选择TEI > Generate Schema from ODD
  • 在弹出的窗口中,选择生成的Schema类型(推荐选Relax NG Compact Syntax或Relax NG XML Syntax,TEI生态常用RNG),指定保存路径后点击OK。

5. 关联自定义Schema到你的语料库文档

现在需要让你的teiCorpus文档使用新生成的Schema:

  • 打开你的乌加里特语语料库文档
  • 点击Oxygen顶部的Schema下拉菜单,选择Associate Schema
  • 找到刚才生成的RNG/XSD文件,选中后点击OK

完成这一步后,你编辑<w>、<g>、<name>等元素时,就能看到correspUnic属性可以正常添加了,示例:

<w type="verb" correspUnic="𒌋">...</w>

6. (可选)给属性添加值约束

如果你的Unicode字符有固定范围(比如乌加里特语Unicode区间是U+10380到U+1039F),可以在ODD的<datatype>里添加正则约束,让Oxygen自动检查属性值的合法性:

<datatype>
  <rng:data type="string">
    <rng:param name="pattern">[\x{10380}-\x{1039F}]+</rng:param>
  </rng:data>
</datatype>

三、注意事项

  • Oxygen 19.1默认已安装TEI插件,完全支持ODD的生成与Schema关联,不用担心版本兼容性问题
  • 基础ODD模板已经继承了TEI核心模块(包括teiCorpus),无需额外修改继承关系
  • 建议先在小型测试文档中验证属性的可用性,确认无误后再应用到整个语料库

内容的提问来源于stack exchange,提问作者Vanessa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:54:12