草庐IT

架构师的必备素质和成长途径

全部标签

xml - 如何在 ActionScript 中针对 XML 架构测试 XML 的有效性?

我不需要解析XML,或将其解码为ActionScript对象——我只对加载XSD和XML感兴趣,并根据前者中的文档定义判断后者是否是合法的XML. 最佳答案 Flex在其mx.rpc.xml包中具有运行时xml模式支持,这对livedocs是隐藏的。看看这个post,您可以在那里找到更多信息。 关于xml-如何在ActionScript中针对XML架构测试XML的有效性?,我们在StackOverflow上找到一个类似的问题: https://stackove

XML 架构/验证查询 - 缺少元素

如果您有一个XML架构指示元素具有默认值,然后您有一个遵循该架构的XML文件完全省略了该元素,它仍然有效吗?即如果元素缺失,验证器是否只是说“好的”,元素缺失,所以我们采用模式中定义的默认值并且XML有效?所以也许是这样的:然后一个XML文件一起遗漏了'example'元素,这有效吗?我问的原因是因为我已经看到许多元素使用属性minOccurs="0"的模式,这表明如果缺少这些元素,它仍然会有效。我的问题是,如果未指定minOccurs但指定了默认值,它会验证吗?谢谢。 最佳答案 不,省略没有minOccurs="0"的元素是无效的

XMl 架构 : Unique key values within parent

我有以下XML:我还有以下架构:我试图强制enumValueID在一个enumType中是唯一的,但到目前为止我只能让它强制它们在所有enumType中是唯一的。我猜我的选择器XPath有问题,但我似乎无法解决它。如有任何帮助,我们将不胜感激! 最佳答案 我认为您只提供了xsd的一个片段?如果您可以提供工作片段,调试起来会更容易。我在周围加了一个使其生效。问题似乎是enumValueKey选择器组所有enumValues,跨越所有enumType的;但你只想将它们分组在一个enumType中.我能看到的唯一修复方法是移动对于enum

xml - 如何在 XML 中指定 namespace 和架构位置?

我的目标是创建一个正确引用描述结构的XSD文件的XML,同时两个文件都使用namespace(通过在xmlns属性中设置默认namespace来创建XML)。我可以在XML中指定xsi:noNamespaceSchemaLocation属性,它至少在一些验证器中有效(比如http://www.validome.org/xml/validate/)。但是当我尝试添加namespace时,验证器返回错误(例如:找不到元素“note”的声明。)我准备的测试文件的最终版本附在下面。我用xmllint测试了它,比如:xmllintexample.xml--schemaexample.xsd它起作

xml - 必须有偶数个 URI。 - XSD 架构 - XML 文档

错误是:SchemaLocation:schemaLocationvalue='E:\SCTIcfBlkCredTrf.xsd'musthaveevennumberofURI's.我完全是XSD的菜鸟。我已经成功地创建了一个SEPA支付格式..但是我被header的架构部分搞砸了。我使用ff网站创建了一个模式...将其保存到E:\驱动器,因此文件和位置为“E:\SCTIcfBlkCredTrf.xsd”这是我在XML第2行的架构header:我希望你能帮上忙。:) 最佳答案 xsi:schemaLocation属性采用URI对列表,

xml - Tableau 工作簿 XML 架构

有人知道我在哪里可以获得Tableau工作簿、数据提取和数据源的XML架构吗?我知道我可以使用现有报告文件进行逆向工程,但我不会获得不同复杂数据类型的所有可能值。我也知道TableauSoftware不鼓励直接编辑文件,但这只是我正在尝试做的一个实验。 最佳答案 你可以用python来解析xml...我已经对其进行编码以检索您的所有信息示例代码您可以遍历所需的元素....例如遍历所需的元素importxml.etree.ElementTreeasETtree=ET.parse(filename)XML_datasources=tre

xml - 如何指定 Nuget 架构?

我在用于创建nuget包的同一解决方案中有两个项目。当我获取这些包中的每一个并将其解压缩以找到生成的nuspec时,我发现它们各自针对不同的xml模式。套餐A:套餐B:这是一个问题,因为我的构建服务器想要使用nuget版本1.7推送它们(我无法升级它)所以只会推送包A。我如何强制包B以与A相同的架构为目标?附加信息:包A以.Net4.0为目标包B目标.Net3.5我在本地打包nuget2.8,可以确认同一命令生成了不同的架构版本:nugetpackxxx.csproj-IncludeReferencedProjects-OutputDirectoryc:\nuget\MyPackage

php - 当 maxInclusive 有 25 位或更多位时,为什么 Libxml 说无效架构?

无论25位数字是小数和整数还是只是整数,DOMDocument::schemaValidate()都会发出警告,返回false,并且libxml_get_errors();会捕获下一个错误:PHP片段:$DD=newDOMDocument('1.0','ISO-8859-1');$DD->loadXML('');libxml_use_internal_errors(true);$old_libxml_disable_entity_loader=libxml_disable_entity_loader(false);$DD->schemaValidate(__DIR__.'/schema

java - XML 架构。处理命名空间感知属性值

我的部分项目涉及对用户定义的架构文档进行大量转换。我需要能够更改目标namespace、支持类型交叉引用和构建wsdl基于多个模式文档。最常用的操作之一是在将模式导入wsdl文件之前更改namespace前缀。我正在使用org.xml.sax.ContentHandler它是startPrefixMapping处理命名空间的方法。除非我想更改元素类型,否则一切正常且完美。这是简单的架构片段必须按如下方式放在wsdl中:问题是某些模式的属性值(type在中,base在中)是命名空间感知的,并且在上面的示例中可能会发生变化。如我所见,DOM和SAX解析器都无法处理这种情况,因此我目前正在使

xml - 无法将名称 X 解析为递归 xml 架构中的元素声明组件

我刚刚开始使用XML模式。我正在创建一个简单的模式,但我不明白为什么在尝试实现一个简单的递归元素时会出现错误。我敢肯定这完全是微不足道的。这里我收到以下错误:E[Xerces]src-resolve:无法将名称“节点”解析为(n)“元素声明”组件。在这里,没有root元素,我没有得到错误...我完全被迷住了0_0。我怎样才能做到这一点? 最佳答案 如果您希望引用一个元素,它必须声明为顶级。您可以使用以下方法让root和node引用同一元素:这就是您的第二个示例起作用的原因。您可以使用此架构: