javascript - Jsonix 枚举

标签 javascript xml xsd jsonix

当从 xsd 模式创建 Jsonix (2.x) 映射文件时,它会捕获枚举和所有可接受的值,例如

 {
    type: 'enumInfo',
    localName: 'TrackAdvanceNotificationStatusType',
    baseTypeInfo: 'String',
    values: ['BACK_ON_TRACK', 'FAIL']
  }

有什么方法可以方便地在我的 javascript 代码中利用这些枚举,还是它们仅供 Jsonix 内部使用?

最佳答案

免责声明:我是 Jsonix 的作者.

是的,您可以:

  • 从 Jsonix 上下文中执行 context.getTypeInfoByTypeNameKey('{urn:ns}TrackAdvanceNotificationStatusType') 通过 XML 架构类型名称查找类型。在下一个版本中,您将拥有更方便的 context.getTypeInfoByTypeName(...),它接受限定名称或字符串。
  • 您将获得您的类型信息的实例。如果是枚举,这将是 Jsonix.Model.EnumLeafInfo 的实例。
  • typeInfo.entries 是字符串值/未编码值的键/值 HashMap 。

但这里有一个警告:我还没有引入公共(public)/私有(private) API 的概念。因此,该 API 在未来版本中发生更改的可能性极小。这不太可能,但值得警告。

最好使用 Jsonix 准备的类型信息,因为它将具有枚举的字符串值以及解析的值。对于基于字符串的枚举,这是无关紧要的,但如果您有其他非字符串简单类型,您可能会对“真实”值感兴趣。

关于javascript - Jsonix 枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29521780/

相关文章:

xml - 检查/解决单独 xml 文件中的交叉引用

java - 使用 xml 模式检查 java 值

javascript - 使用 jquery 或 javascript 停止辱骂性词语

javascript - 检查对象中的值是否为 null 或空 javascript

javascript - 使用 jquery 将 javascript 对象传递到 jsp 页面

javascript - 物化模式关闭时如何清除输入字段?

android - 屏幕布局仅使用相对大小和填充,不使用 xml 文件中的任何绝对像素定义

java - 如何配置嵌入式 Jetty 来拾取网页片段?

java - 如何使用 xml 模式为 xml 反序列化生成 java 类?

regex - XSD 正则表达式模式 : this or nothing