我正在使用以下xml架构验证一些xml文件:
String xsdMarkup =
"[...]
<xsd:complexType name='connectionType'>
<xsd:attribute name='SourceElement' type='guidType' use='required' />
<xsd:attribute name='TargetElement' type='guidType' use='required' />
<xsd:attribute name='GUID' type='guidType' use='required' />
<xsd:assert test='@SourceElement == 0' />
</xsd:complexType>
[...]
";
XmlSchemaSet schemas = new XmlSchemaSet();
schemas.Add("", XmlReader.Create(new StringReader(xsdMarkup)));
Console.WriteLine("Validating doc ...");
docToValidate.Validate(schemas, (sender, e) =>
{
Console.WriteLine(e.Message);
valid = false;
}, true);
我只是想引入一些assert标记,以便进行更强大的验证。但这导致了例外情况:
系统Xml。模式。XmlSchemaException:http://www.w3.org/2001/XMLSchema:assert-元素在此上下文中不受支持。
我现在不知道的是。。。
提前感谢帮助!
这个XSD模式的NET实现只处理1.0版而不是1.1版-因此它不支持assert
。
我试图在XSD中使用以下内容 我知道断言/断言是XML模式1.1的一部分,但不是1.0。然而,我所读到的一切都表明名称空间是相同的:http://www.w3.org/2001/XMLSchema 一个小问题是,我用来编写模式的程序(Microsoft Visual Studio)不识别“断言”元素,说“命名空间中的元素复合物类型”(...)有无效的子元素“断言”。 主要的问题是,当我实际尝试使用
这是我面临的问题,需要一些帮助/指导。 我已经从引擎生成了一条XML消息,需要将其解析为服务。为了做到这一点,我必须将该消息更改为SOAP消息,并在其上插入SAML令牌。我正在尝试使用C#代码执行此操作。下面是我生成的输入消息和预期的输出: 近期产量
如何使用1.1 XML模式定义? 这是我的开始:
我已经想出了如何使用PHP中的XSD模式验证XML文件,但是似乎处理是使用XSD版本1.0完成的。 对于我的情况,我需要将XSD文件视为版本1.1。这样做的主要原因是我想用: 注意,它只能在
我终于想出了如何从XML中获取列表。然而,放心网站并没有详细说明如何为我得到的列表做出断言。我如何断言这部电影有布鲁斯·威利斯作为一个演员,有一个放心的格式,什么时候,然后?是否使用给定()中的列表?
问题内容: 我一直在寻找一套在JSON和XML之间进行转换的例程,但毫无用处。我在Javascript,Java,PHP和Python中找到了这样的例程,但在C或C ++中却找不到。 FWIW,我的json库是json- spirit。我当前正在处理JSON,并希望通过转换层添加XML支持(将传入消息从XML转换为JSON,对其进行处理,将结果转换回XML,然后将其输出)。 有人有指针吗? 我还看