正式或实用的XML标签长度限制?

goo*_*lek 2 java xml xslt xsd etl

我没有在网上找到任何关于xml标签长度限制的提及.我正在寻找构建XML Schema,作为第三方向我们发送数据的规范.

Schema(和数据)应该符合我们的自定义本体/数据字典thingy,它是分层的和用户可自定义的.

自然映射用于层次结构中的节点,用于命名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>
Run Code Online (Sandbox Code Playgroud)

...同一文件中任何不同'lisa'类型的数据没有歧义.

我在网络上找不到任何指定最大标签长度的东西(或标准兼容引擎的最小支持标签长度).(这里有关XML的词法规则的总结)

关于属性长度的问题也是一样的,如果标准没有指定属性的限制,那么我怀疑标签是否存在,但可能存在实际限制.

我怀疑即使是一个实际限制也会比我的需求大得多(我希望大多数时候事情都小于255个字符); 基本上,如果Java XML处理器,标准ETL工具和通用XSLT处理器都可以处理比这大得多的标签,那么它就不会成为问题.

Mic*_*Kay 5

我认为你不太可能找到无法处理1K字符名称的工具,此时你会遇到严重的性能和可用性问题,而不是硬限制.

但你的设计是错误的.XML是层次结构的,利用事实而不是试图对抗它.