草庐IT

NAT模式

全部标签

java - 使用 DocumentBuilder 验证模式

我正在尝试根据XSD架构验证某些XML输入。解析器可以工作,但是当我Hook模式时,出现以下异常。我已经使用外部validator验证了测试输入,所以我已经消除了它。有谁知道如何设置一个构建器来验证这种方式?这是构建器设置代码。finalDocumentBuilderFactoryfactory=DocumentBuilderFactory.newInstance();factory.setIgnoringElementContentWhitespace(true);factory.setNamespaceAware(true);finalSchemaFactorysf=SchemaF

xml - "00"是 XML 模式日期数据类型的合法月份和/或日期值吗?

我正在设计XML引用书目并考虑如何捕获发布日期。对于我处理的大部分作品(书籍),出版日期仅包括年份,但对于一些(期刊文章)它是年和月,而对于其他(报纸文章)它是年,月和日。为简单起见,我想使用一个元素来包含所有这三种变体。研究规范(http://www.w3.org/TR/xmlschema-2/的附录D.2),我发现如果我的元素是date数据类型,我不能只省略我不这样做的日期和/或月份需要它们(ISO8601允许您这样做的方式),因为这些表示用于不同的数据类型(分别为gYearMonth和gYear)。但是我可以为不需要的值使用零吗?像这样:2009-04-002007-00-00规

xml - 需要 XML 模式的小数位数

我想将数字的小数位数限制为正好2。例如-1.00有效,但1、1.0和1.000均无效。这是一个类似的问题:Specifyamountofdecimalplacesofanxs:decimalinanXMLschema这是提供的答案:不幸的是,这仅将小数位数限制为2,并允许具有零位或一位小数的数字。 最佳答案 您可以使用正则表达式将小数位数强制为正好两位,但这样做明智吗?对于生成本应符合此模式的文档的任何人来说,您的生活都变得更加艰难。例如,他们将无法使用XSLT或XQuery生成的默认序列化,而必须自己编写。将规范更改为在接受的内容

javascript - 无法让折叠装订线以 xml 模式显示在 CodeMirror 中

我正在尝试为一些显示折叠间距的XML内容创建一个CodeMirror编辑器。我正在加载一堆codemirror库代码(3.18版):然后我创建编辑器对象:varshowCodeMirrorResult=function(code,count,mode){vareditor=CodeMirror($("#results").get(0),{value:code,mode:mode,lineNumbers:true,extraKeys:{"Ctrl-Q":function(cm){cm.foldCode(cm.getCursor());}},foldGutter:true,gutters:

XML 模式/验证 : different separator for datatype double

我将我的xsd文件中某些参数的数据类型从字符串更改为它们的真实类型,在本例中为double。现在我面临的问题是逗号在这里用作分隔符,而不是w3(http://www.w3.org/TR/xmlschema-2/#double)定义的点,导致反序列化期间出现错误(C#、VS2008)。我的问题:我可以使用w3模式进行验证但使用不同的分隔符来表示double值吗?谢谢你的帮助 最佳答案 如果您想继续使用XML架构简单类型,则不能这样做。decimal和从它派生的类型被锁定为使用句点。正如你所说:thespechere.如果要使用逗号作为

XML::Compile 以使用枚举和选择从模式生成示例 XML

根据一些现有教程,我创建了以下perl脚本以从xsd生成XML。脚本:#!/opt/perl/bin/perl-wusewarnings;usestrict;useXML::Compile::Schema;useXML::LibXML::Reader;useXML::Compile::Utilqw/pack_type/;my$in_qfn=$ARGV[0];my$out_qfn=$ARGV[1];open(OUT,">$out_qfn")||die"Unabletocreateoutputfile:$out_qfn\n";#Generatethehashofxmlmy$schema=X

xml - 强制在 XML 模式中使用 CDATA

我正在创建一个xml模式,我想确保所有元素中的值是CDATA元素。有没有办法使用XML模式强制执行此操作? 最佳答案 我记得XMLSchema在XMLInfoset上工作,这意味着在XML文档被解析、实体被解析、空白被规范化和CDATA被处理之后。CDATA是一种简化文本序列化的方法,而不是结构模型的一部分。所以:不。无论是在DTD还是RELAXNG中。 关于xml-强制在XML模式中使用CDATA,我们在StackOverflow上找到一个类似的问题: ht

java - 针对多个任意模式验证 XML

考虑一个XML文档,它像下面这样以多个模式开始(这不是特定于Spring的问题;这只是一个方便的XML文档示例):我想验证文档,但我事先不知道文档作者将使用哪些命名空间。我信任文档作者,所以我愿意下载任意架构URL。如何实现我的validator?我知道我可以在调用setAttribute("http://java.sun.com/xml/jaxp/properties/schemaSource",newString[]{...})时使用DocumentBuilderFactory实例指定我的模式但在文档被解析之前我不知道架构URL。当然,我可以在解析文档后自行提取XSDURL,然后通

xml - 在以 XML 模式使用 Mojo::DOM 的 Perl 中,如何匹配子标签的内容?

我有以下XML:...0101ThisisthetitleI'mlookingfor...(这是ONIX,如果你好奇的话。)我想提取类型为01的标题。我试过:say$dom->at('TitleDetail[TitleType="01"]>TitleElement>TitleText')但这行不通。看起来tag[attr=value]语法真的只适用于属性。有没有一种简单的方法可以做我想做的事? 最佳答案 可以用Mojo::DOM来完成,但是它很长。有几次Mojo::Collections在那里,所以你需要取出第一个元素。useMoj

c# - 根据模式文件验证 xml 后获取错误列表

我正在根据架构xsd验证XML文件。到目前为止一切顺利,代码会在失败的情况下生成异常。boolisValid=true;ListerrorList=newList();try{XmlReaderSettingssettings=newXmlReaderSettings();settings.Schemas.Add(null,schemaFilePath);settings.ValidationType=ValidationType.Schema;XmlDocumentdocument=newXmlDocument();document.LoadXml(xml);XmlReaderrdr