代码之家  ›  专栏  ›  技术社区  ›  Martin Peck

从Xsd构建UI的工具包或应用程序

  •  5
  • Martin Peck  · 技术社区  · 16 年前

    我需要构建一个用户界面来编辑和创建符合给定xsd模式的xml文档。我想做的是,尽可能基于xsd模式生成我的用户界面。xsd模式可以(也将)随着时间的推移而改变,因此解决方案需要有一定的灵活性。

    用户界面需要是一个web UI,最好是一个用ASP.NET MVC构建的界面。

    我怀疑这是一个很高的要求,不是一个工具包或库可以完全解决的问题,但我想知道是否有其他人走上了这条道路并成功(或失败),以及他们是否使用了特定的库、工具包或有帮助的方法。我已经开始将T4模板作为一种方法来看待,我觉得这会给我带来很多好处,但如果有更简单的方法,我不想承诺。

    6 回复  |  直到 11 年前
        1
  •  4
  •   neonski    16 年前

    我构建了一个引擎,它的功能与您所描述的非常相似,但是没有使用XSD,而是在中定义了模式 JSON Schema 以及使用 Ext JS 框架

    这是一个非常强大的JavaScript,但在开发和维护过程中节省的时间方面,它给我们带来了巨大的好处。

    JavaScript由于其动态性而成为完成这项任务的理想语言。

        2
  •  2
  •   Community Mohan Dere    9 年前

    你是说像这样的东西吗 this ? 这是我在一个项目中使用的一种方法,通过xsd将xml转换为xhtml。这对我的项目来说是相当灵活的。

        3
  •  1
  •   Zac Thompson    16 年前

    你可能想看看 StyleVision

        4
  •  1
  •   Ken Bloom    16 年前

    尝试 JAXE

        5
  •  0
  •   zac    16 年前

    将XSD模式转换为XAML可能会很有趣,XAML可以在web页面上实例化为silverlight表单。

    并不是说这种方法一定比T4更好;我从来没有试过。

        6
  •  0
  •   santos    14 年前

    我一直在使用XSD进行概念验证 Microsoft XmlSampleGenerator 项目从Xsd生成示例xml,然后用于构建GUI和 Schematron (在Xsd中定义规则和验证)。有几件事需要注意:

    • 该实现非常特定于Microsoft:从Xml生成Silverlight前端UI,并根据Schematron扩展的Xsd进行验证( NMatrix Schematron.NET
    • 您可能不需要XmlSampleGenerator步骤就可以直接从Xsd生成GUI,我将其包括在POC中,因为它简化了xml解析,并在生成UI时消除了噪音。

    我在Xsd中定义Xml元素属性中的字段类型,当通过WCF通过线路发送到Silverlight时,可用于在编辑模式下通过DataTemplate查找指定类型来定位合适的编辑器,例如,如果类型是System.DateTime,则显示日期选择器等。如果类型更复杂,然后,您可以定义自己的类型,这些类型映射到复杂UI编辑场景的UI小部件。我还将格式掩码作为xml上的属性,用于在各种类型上显示格式。

    我还研究了从XML到分层对象的直接映射,例如,具有“Name”、“Value”和“ChildNodes”属性的节点类,当包装为IEnumerable时,可以绑定到第三方控件,例如 Infragistics XamGrid and XamDataTree ,两者都是完全可编辑的。同样,所有的层都是MS实现。