Ошибка генерации схемы XACML2 для .NET - невозможно использовать подстановочные знаки на верхнем уровне схемы - PullRequest
1 голос
/ 08 июля 2010

Кто-нибудь смог успешно сгенерировать классы сущностей C # из файлов схемы XACML2?Я получаю сообщение «Невозможно использовать подстановочные знаки на верхнем уровне схемы».Я думаю, что это как-то связано с хз: любые элементы.Я попытался изменить processContents = "skip" (от "lax"), но безрезультатно.Я получаю это с помощью WSCF Blue , а также xsd.exe .

Ответы [ 2 ]

1 голос
/ 23 ноября 2011

У меня нет проблем при запуске схемы Xacml3 через VS2010 XSD.exe, но я вижу эту ошибку «Не удается использовать подстановочные знаки на верхнем уровне схемы» при попытке обработать схему Xacml2 с помощью XSD.

XSD обрабатывает схему политики Xacml2 без ошибок.

XSD сообщает об этой подстановочной ошибке при обработке схемы контекста Xacml2.

Проблема заключается в комбинации ##any и mixed="true" в определении схемы xacml-context:AttributeValueType. Другие определения AttributeValueType в схеме политики Xacml2 и Xacml3 используют оболочку xs:complexContent вокруг расширения ExpressionType, которое, в свою очередь, содержит определения xs:any и xs:anyAttribute. Xacml2 context:AttributeValueType не содержит эту оболочку.

Решение: Удалите mixed="true" из определения Xacml2 xacml-context:AttributeValueType, и XSD сгенерирует правильные типы классов для схемы. Сгенерированный класс AttributeValueType будет иметь свойства для списка элементов и списка атрибутов, который охватывает все базы.

1 голос
/ 01 августа 2010

Прекрасно работает для меня, используя версию xsd.exe, поставляемую с VS 2010.

...