在XML模式中避免匿名类型的原因是什么?

本尼

我想知道,是否还有其他原因可以避免在XML Schema中使用匿名类型,除了可以重用该类型并简化代码生成工具的工作之外?(这两个原因在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

彼得鲁加迪亚

从广义上讲,就是这样。但对我而言,问题在于有关重用的细节(什么样的种类,为什么,作者与使用者)和讨论中的工具(其用途是什么,匿名与命名会真正起到作用,等等)。

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

通过扩展的类型层次结构(派生)是重用的另一种形式。但是,它与该文章中建议的有所不同,因为它涉及面向对象的原理。然后,您就可以通过限制来进行派生,许多“心怀不满”的从业人员会认为限制不是重用……但是,它需要一个命名类型。

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

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

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在XML模式中避免匿名类型的原因是什么?

来自分类Dev

在XML文件中指定var类型的原因是什么?

来自分类Dev

javascript中结果的原因是什么?

来自分类Dev

将实例变量移动到装饰器模式中的抽象类的原因是什么?

来自分类Dev

图灵完整类型系统的原因是什么

来自分类Dev

RejctedExecutionException的原因是什么?

来自分类Dev

BufferOverflowException的原因是什么?

来自分类Dev

输出提示中[1]的名称和原因是什么?

来自分类Dev

Chrome解析URI中的双点的原因是什么?

来自分类Dev

MySQL中重复唯一索引的原因是什么

来自分类Dev

在单独的类中定义未知枚举的原因是什么?

来自分类Dev

SQL中的LEFT和Right连接的原因是什么

来自分类Dev

在Python中,冲洗是如何工作的,原因是什么?

来自分类Dev

在apache wicket中获取对象模型的原因是什么?

来自分类Dev

JSON中此错误的可能原因是什么?

来自分类Dev

我的代码中StringIndexOutOfBoundsException的原因是什么

来自分类Dev

C中这种狡猾的内存泄漏的原因是什么

来自分类Dev

下述代码中左值错误的原因是什么?

来自分类Dev

C中访问分段错误的原因是什么

来自分类Dev

mysql查询中的计数不同的原因是什么?

来自分类Dev

在单独的类中定义未知枚举的原因是什么?

来自分类Dev

JSON中此错误的可能原因是什么?

来自分类Dev

linux系统中负责文件权限的原因是什么?

来自分类Dev

以下代码中造成僵尸的原因是什么

来自分类Dev

Java 中这个 ArrayIndexOutOfBoundsException 的原因是什么?

来自分类Dev

在这些代码中使用这些匿名块调用超类方法的原因是什么?

来自分类Dev

Clojure中的协议和多方法对多态性的影响不及Haskell中的类型类的原因是什么?

来自分类Dev

Envoy 需要管理员权限的原因是什么,可以避免吗?

来自分类Dev

xml 模式中属性的默认类型是什么?

Related 相关文章

  1. 1

    在XML模式中避免匿名类型的原因是什么?

  2. 2

    在XML文件中指定var类型的原因是什么?

  3. 3

    javascript中结果的原因是什么?

  4. 4

    将实例变量移动到装饰器模式中的抽象类的原因是什么?

  5. 5

    图灵完整类型系统的原因是什么

  6. 6

    RejctedExecutionException的原因是什么?

  7. 7

    BufferOverflowException的原因是什么?

  8. 8

    输出提示中[1]的名称和原因是什么?

  9. 9

    Chrome解析URI中的双点的原因是什么?

  10. 10

    MySQL中重复唯一索引的原因是什么

  11. 11

    在单独的类中定义未知枚举的原因是什么?

  12. 12

    SQL中的LEFT和Right连接的原因是什么

  13. 13

    在Python中,冲洗是如何工作的,原因是什么?

  14. 14

    在apache wicket中获取对象模型的原因是什么?

  15. 15

    JSON中此错误的可能原因是什么?

  16. 16

    我的代码中StringIndexOutOfBoundsException的原因是什么

  17. 17

    C中这种狡猾的内存泄漏的原因是什么

  18. 18

    下述代码中左值错误的原因是什么?

  19. 19

    C中访问分段错误的原因是什么

  20. 20

    mysql查询中的计数不同的原因是什么?

  21. 21

    在单独的类中定义未知枚举的原因是什么?

  22. 22

    JSON中此错误的可能原因是什么?

  23. 23

    linux系统中负责文件权限的原因是什么?

  24. 24

    以下代码中造成僵尸的原因是什么

  25. 25

    Java 中这个 ArrayIndexOutOfBoundsException 的原因是什么?

  26. 26

    在这些代码中使用这些匿名块调用超类方法的原因是什么?

  27. 27

    Clojure中的协议和多方法对多态性的影响不及Haskell中的类型类的原因是什么?

  28. 28

    Envoy 需要管理员权限的原因是什么,可以避免吗?

  29. 29

    xml 模式中属性的默认类型是什么?

热门标签

归档