我有一个应用程序,用户可以在其中上传XSD来描述某些类型的用户数据。应用程序需要解析此XSD以正确初始化数据库元数据的各种位(例如,将xs:枚举转换为将填充下拉列表的允许值的列表)。用户输入的XSD也用于验证由其他系统发送到应用程序的XML文档。
有没有可能编写一个主XSD来验证这样一个用户提供的XSD,以便限制用户如何描述他们的数据,从而使XSD解析工作更容易?例如,假设我希望能够允许用户上传任何XSD,除非它包含xs:union标记。如何编写XSD来验证用户上传的XSD以强制执行此规则?
发布于 2008-12-08 21:47:25
你可以在这里找到它:http://www.w3.org/2001/XMLSchema.xsd
提示一下,模式以xsd:schema标记开头。如果正确,则包含一个属性:
xmlns:xsd="http://www.w3.org/2001/XMLSchema"遵循url,您可以找到和信息页面,其中包含到dtd和xsd的链接。
发布于 2008-12-08 21:59:45
我认为,如果忽略用户提供的文件是XSD文件,而只是将其视为XML,那么您会发现这个问题容易得多。毕竟,XSD文件只是XML,所以您可以像其他文件一样对它们强制执行模式规则。
我会从查看XMLSchema's schema开始。使用它,您可以编写自己的模式,从而在源文档上添加额外的要求,比如强制所有文档具有联合。
https://stackoverflow.com/questions/351022
复制相似问题