有没有人能够从 XACML2 模式文件成功生成 C# 实体类?我收到“无法在架构的顶层使用通配符”。我认为这与 xs:any 元素有关。我尝试更改 processContents="skip"(从“lax”)但无济于事。我使用WSCF Blue和xsd.exe得到这个。
问问题
1066 次
2 回答
1
使用 VS 2010 附带的 xsd.exe 版本对我来说非常适合。
于 2010-07-31T21:54:48.467 回答
1
我通过 VS2010 XSD.exe 运行 Xacml3 架构没有问题,但是在尝试使用 XSD 处理 Xacml2 架构时,我确实看到了“无法在架构的顶层使用通配符”错误。
XSD 无错误地处理 Xacml2 策略架构。
XSD 在处理 Xacml2 上下文架构时报告此通配符错误。
问题似乎是架构定义中的##any
和mixed="true"
的组合。Xacml2 策略模式和 Xacml3 中的xacml-context:AttributeValueType
其他定义使用扩展的包装器,而扩展又包含和定义。Xacml2不包含此包装器。AttributeValueType
xs:complexContent
ExpressionType
xs:any
xs:anyAttribute
context:AttributeValueType
解决方案:mixed="true"
从 Xacml2定义中删除xacml-context:AttributeValueType
,XSD 将为模式生成正确的类类型。生成的AttributeValueType
类将具有元素列表和属性列表的属性,涵盖所有基础。
于 2011-11-22T23:04:50.280 回答