【问题标题】:Designing and using custom XML schema [closed]设计和使用自定义 XML 模式 [关闭]
【发布时间】:2011-11-20 09:01:36
【问题描述】:

上述标题是 Android 应用程序的要求之一。我知道 XML 是用于存储数据的代码,例如电子表格等……但是应用程序应该如何“设计”XML 模式?这又如何适用于 android 应用程序?抱歉,我对 android 应用程序或一般 android 的了解非常低。

【问题讨论】:

  • Dave 的回答说,与 android 或 Java 无关。

标签: xml


【解决方案1】:

应用程序不设计架构,应用程序设计人员会。 (而且它不是代码,而是数据。)

该过程与其他任何事情相同:您需要保存什么?在各个层面上需要拯救的实体是什么?想要一个可以在其中定义类型的实际 模式(.xsd 文件),还是只想要一个简单的基于 XML 的数据文件?两者是非常不同的东西。

简单的 XML 可能如下所示:

<contacts>
  <contact>
    <first>Dave</first>
    <last>Newton</last>
    <phone>630-555-1212</phone>
  </contact>

  <contact>
    <first>Foo</first>
    <last>Bar</last>
    <phone>312-123-4567</phone>
  </contact>
</contacts>

为此的架构定义描述了元素中的内容、它们的顺序、可选(或不可选)的内容、它们的类型等。

这与 Android 无关,而与 XML 无关。

【讨论】:

    【解决方案2】:

    Dave 提供了一个简单明了的答案。

    我的两分钱:

    维基百科是我们解决这类问题的好朋友:

    可扩展标记语言 (XML) 是一组用于以机器可读形式对文档进行编码的规则。它在 W3C 制定的 XML 1.0 规范[4] 和其他几个相关规范中定义,都是免费的开放标准。

    XML 是否符合您的需求?这取决于……事实上,这取决于您(或您的业务客户)需要实施的数据模型。 Dave 是对的,应用程序不设计模式,开发团队根据底层业务知识设计数据模型。一旦您的数据模型在那里,您需要将其作为最终用户应用程序的基础来实现。如果有充分的理由使用 XML,请不要重新设计轮子。如果您的需求不适合现有的 XML 衍生格式,那么您将不得不考虑您的数据模型和相关的约束。根据模型和相关的建模约束,您必须选择如何定义它:W3C XML Schema、Relax NG、schematron 约束等。

    我们为什么要做所有这些事情:只是为了确保输入/输出数据符合我们的需要,如果需要可以互操作并且应用程序可以理解......架构就像应用程序的 i/o 合同(是数据有效吗?)

    它超出了范围,但 android 作为一个嵌入式平台,对于开箱即用的模式验证(我的意思是 W3C XML 模式验证)并不是很好,因为 API 在那里但没有实现。验证并非不可能(因为没有什么是不可能的),但强制执行服务器端数据结构验证(对于客户端/服务器用例)是合理的。如果您有一个内部模型,那么实现数据模型的 android 首选方法是 sqlite(或者您可以使用纯 java),但这是另一个问题的另一个答案……

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-11
      • 1970-01-01
      • 1970-01-01
      • 2012-09-27
      • 2010-10-11
      • 1970-01-01
      相关资源
      最近更新 更多