【发布时间】:2015-07-24 01:56:43
【问题描述】:
所以我们有一个 XSD 模式,我们用它来生成 UI,创建符合该模式的 XML 文档。对于架构中的所有 XElement,我们希望有一个用于 UI 的显示名称,而不仅仅是人类可读性不强的元素名称。
编辑:我们使用 C# 和 Linq 来解析 XSD 并生成 UI。没有工具。
最初的想法是使用 annotations/appInfo 为每个元素添加自定义的“评论类型”属性,但它变得非常冗长,混淆了模式的核心目的。所以我们想知道是否可以只向 XSD 架构元素添加一个“displayName”属性,这不一定会转换为需要该属性的 XML 数据。
例如XSD 之前:-
<xs:element name="grnBulb" type="xs:string">
<xs:annotation>
<xs:appinfo>
<displayname>Bulbasaur</displayname>
</xs:appinfo>
</xs:annotation>
</xs:element>
XSD 之后:-
<xs:element name="grnBulb" type="xs:string" displayname="Bulbasaur" />
在任何一种情况下,所需的 XML 数据都是相同的:-
<grnBulb>Awesome</grnBulb>
并且显示名称仅用于 UI 显示(Bulbasaur:文本框)。这是可能/可行的,还是它们是完成相同任务的更好方法?
【问题讨论】:
-
您使用什么工具将 XSD 架构转换为 UI 视图?
-
没有工具 - C# 代码和 Linq