gpt4 book ai didi

xsd - 在 XML Schema 中避免匿名类型的原因是什么

转载 作者:行者123 更新时间:2023-12-04 16:53:22 25 4
gpt4 key购买 nike

我想知道,除了可以重用类型并使代码生成工具的工作更轻松之外,是否还有其他原因可以避免在 XML 模式中使用匿名类型? (这两个原因在http://www.ibm.com/developerworks/webservices/library/ws-avoid-anonymous-types/https://jaxb.java.net/tutorial/section_2_3_1-Hints-on-Writing-XML-Schemas.html中有解释)

最佳答案

从广义上讲,就是这样。不过对我来说,问题在于关于重用的细节(什么样的,为什么,作者与消费者)和讨论中的工具(它是做什么用的,匿名与命名真的会有所不同,等等)

所附链接中展示的“重用”方面绝对是非常有限的。根据本文的示例,我仍然可以通过为内容模型使用带有命名组的匿名类型来实现重用。

通过扩展的类型层次结构(派生)是重用的另一种形式。然而,它与那篇文章中的建议不同,因为它涉及 OO 原则。然后你通过限制进行派生,许多“心怀不满”的从业者会争辩说这不是重用......然而,它需要一个命名类型。

匿名声明不可能实现递归结构(另一种重用方式);实现递归数据结构的一种方法是使用复杂类型。 (另一种方法是通过全局元素的 ref。)

以上链接均未提及重新定义(出于与某些人选择回避该概念的方式相关的原因)。虽然类型的重新定义最终是某种派生(因此它需要一个命名的模式组件),但它也是一种非常强大的机制,可以将可扩展和通用模型转换/转换为特定的和更可用的模型,特定于采用者;最终,允许在不同但相关的模型之间优雅地维护基于 XSD 的“diffgram”。

创作风格中也提到了匿名类型;因此,将萨拉米香肠切片与威尼斯风格进行对比可以为您提供额外的见解;搜索它或开始 here (我不隶属于它,也不认为它是完整的,但这是一个好的开始)。

关于xsd - 在 XML Schema 中避免匿名类型的原因是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20515983/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com