是否有人能够从XACML2架构文件成功生成C#实体类?我得到“不能在架构的顶层使用通配符。”我认为这与xs有关:任何元素。我试过更改processContents =“skip”(来自“lax”)但无济于事。我使用WSCF Blue以及xsd.exe来获取此内容。
答案 0 :(得分:1)
使用与VS 2010一起发布的xsd.exe版本,对我来说非常适合。
答案 1 :(得分:1)
我通过VS2010 XSD.exe运行Xacml3架构没有问题,但我确实在尝试使用XSD处理Xacml2架构时看到“无法在架构的顶级使用通配符”错误。
XSD处理Xacml2策略架构,没有错误。
XSD在处理Xacml2 Context模式时报告此通配符错误。
问题似乎是##any
架构定义中mixed="true"
和xacml-context:AttributeValueType
的组合。 Xacml2策略模式和Xacml3中AttributeValueType
的其他定义使用xs:complexContent
扩展名围绕ExpressionType
扩展名,后者又包含xs:any
和xs:anyAttribute
个定义。 Xacml2 context:AttributeValueType
不包含此包装器。
解决方案:从Xacml2 mixed="true"
定义中删除xacml-context:AttributeValueType
,XSD将为架构生成正确的类类型。生成的AttributeValueType
类将具有元素列表和属性列表的属性,这些属性涵盖所有基础。