我没有在网上找到任何关于 xml 标签长度限制的提及。我正在寻找构建 XML 模式,作为第三方向我们发送数据的规范。
Schema(和数据)应该符合我们的自定义本体/数据字典,它是分层的和用户可定制的。
自然映射用于层次结构中的节点,用于命名 XSD/XML 中的类型和标签。但是,因为本体中的叶节点名称不必是唯一的,所以我正在考虑将层次结构中节点的完整路径编码为标记名称,并针对 XML 词法规则进行适当的修改。
因此,如果我的本体有多个“lisa”节点,它们在层次结构中的不同位置表示不同的东西,我可以使用节点的完整路径来生成不同的 XML 类型/标签名称,这样你就可以拥有
<abe_homer_lisa> simpsons lisa ... </abe_homer_lisa>
<applei_appleii_lisa> ... apple lisa </applei_appleii_lisa>
<mona_lisa> and paintings </mona_lisa>
...同一文件中任何不同“lisa”类型的数据,没有歧义。
我在网上找不到任何指定最大标签长度(或符合标准的引擎的最小支持标签长度)的东西。(这里很好地总结了 XML 的词法规则)
关于属性长度也有同样的问题,如果标准对属性没有规定限制,那么我怀疑标签是否有限制,但可能存在实际限制。
我怀疑即使是实际限制也会比我的需要大得多(我希望大多数时候事情会小于 255 个字符);基本上,如果 Java XML 处理器、标准 ETL 工具和常见的 XSLT 处理器都可以处理比这大得多的标签,那么这将不是问题。