Xml 仅定义属性的XSD模式

Xml 仅定义属性的XSD模式,xml,xsd,Xml,Xsd,在我编写应用程序的框架中,有许多xml文件,其中的节点名称并不重要。所有有价值的信息都放在属性中。节点类型通过属性之一定义 我想为这个文件编写简单的模式。我认为它应该满足两个主要条件: 每个元素都可以具有定义列表中的属性(例如名称、值、类型[还有更多!) 每个元素都可以有精确定义的元素序列 如果有可能使属性列表依赖于某个给定的(例如类型)参数,那么它将非常有用 XSD文件可以处理这些xml文件吗?有可能编写这样的模式吗?如何定义任何节点的属性列表。您可以有一个仅定义一个complexType

在我编写应用程序的框架中,有许多xml文件,其中的节点名称并不重要。所有有价值的信息都放在属性中。节点类型通过属性之一定义

我想为这个文件编写简单的模式。我认为它应该满足两个主要条件:

  • 每个元素都可以具有定义列表中的属性(例如名称、值、类型[还有更多!)
  • 每个元素都可以有精确定义的元素序列
如果有可能使属性列表依赖于某个给定的(例如类型)参数,那么它将非常有用


XSD文件可以处理这些xml文件吗?有可能编写这样的模式吗?如何定义任何节点的属性列表。

您可以有一个仅定义一个complexType以及所有属性的架构。然后,您的挑战是找到一个模式处理器,该处理器的API允许您根据该命名类型请求对给定输入元素进行验证。一种方法是使用支持模式的XSLT处理器:

<xsl:template match="*">
  <xsl:copy-of select="." type="my-complex-type"/>
  <xsl:apply-templates/>
</xsl:template>


将根据您的类型声明验证文档中的每个元素(并生成大量输出,您可以放弃这些输出)。

我的可能性有限,因为我只扩展当前仅处理xsd的现有类。太糟糕了:(