草庐IT

xml - 了解 XML 模式数据类型

我正在处理一个XML作业,但我不确定我是否正确地完成了这部分工作。它要求:•grantType,基于ID数据类型并遵循正则表达式模式“[A-Z]{6}-\d{4}-\d{2}”•fundingType基于字符串数据类型并限于以下值:联邦、州、地方和私有(private)让我失望的部分是当它要求遵循正则表达式模式时,我应该输入reg模式还是应该像下面那样?这是我目前所拥有的:NIHClinicalCancerBasicResearchGrantNationalInstituteofHealthUniversityHospitalClinicalCancerCenterBasicNIHsu

xml - 如何使用 XSLT 手动生成 XSD

我正在为这个问题而苦恼。我可以使用XSLT生成基于XML文件输入的XSD吗?我知道有很多软件可以自动执行此操作,但我需要通过编写代码来实现。您能否帮助我了解如何开始并提供有用的资源来支持我?这是一个示例XML文件:我需要使用XSLT生成XSD并验证它: 最佳答案 正如Marcus在评论中观察到的那样,自由度有很多,但这里是您的起点:您输入的XML:提供给此XSLT:生成此XSD:奖金您添加了属性的输入XML:生成此XSD:留作练习:生成RussianDoll以外的XSD样式。处理namespace。在可能的情况下加强字符串基元以外的

xml - XSD 架构 - 多次使用相同的 namespace

我正在尝试理解XSD模式。我无法发布原始架构,但大致如下。我遇到的问题是我不明白为什么同一个命名空间(http://www.test.com/test)被引用两次,一次有前缀,一次没有前缀。这有效吗?如果是,它的用途是什么?此外,在为此XSD生成XML时,我是否使用前缀? 最佳答案 没有前缀的命名空间成为默认命名空间,所以它下面的所有元素自动属于该命名空间,除非它们被明确地限定。现在是带前缀的命名空间——我看不出有任何理由不允许它。至于它的目的,我不确定,但我猜想它可能与层次结构中其他覆盖命名空间的可能性有关?我想再次强调,这是猜测

xml - 发布 xml 模式的标准方式

假设我有一个xml模式,定义了命名空间:http://foo.com/mySchema。是否有发布架构的标准方法,以便架构的xml实例只需要定义命名空间而不是xsi:schemaLocation?例如,如果您查看imdb的站点地图xml:http://www.imdb.com/sitemap_US_index.xml.gzxml定义了一个命名空间:http://www.sitemaps.org/schemas/sitemap/0.9无需定义schemaLocation。如果你访问这个URI,它有2个xsds:“siteindex.xsd”和“sitemap.xsd”我的问题是:这是xm

xml - XSD中,如何通过属性值来限制枚举?

在下面的示例xml/xsd中,当用户为AnimalCategories输入值时,我希望AnimalBreeds中的枚举只允许适当的值。例如,如果用户输入Cat,则AnimalBreeds的有效选择应该仅为Siamese和Persian。我查看了有关xsd1.1中可用的断言和替代方法的帖子,但我看不出如何将其应用到我的特定需求。任何想法将不胜感激。 最佳答案 如果您可以枚举类别及其品种,使此可检查的最简单方法是使用类别名称(以及可选的品种)作为元素名称,而不是属性值。如果您只针对类别而非品种执行此操作,您的XML可能采用如下形式:元素

java - 使用架构问题的 XSD 验证

我有一个像这样的xml文件11118-02-20151219-02-2015..我有一个无法更改的XSD文件,在该文件中,日期必须采用某种格式。并且可以有1000个“subRequest”标签条目。我创建了一个架构验证来检查格式。所以我的问题出在这1000个条目中,如果只有2个条目的日期格式不正确,我怎么知道这2个条目的ID。当我使用JAXB(unmarshaller)将此xml转换为bean时,我正在检查它。我使用了模式验证,并且validator.getLocalizedMessage()为对象和节点都提供了null。我只能看到lineNumber和有关问题格式的一般消息。

java - 无法读取架构文档 'http://www.springframework.org/schema/tool/spring-tool-4.1.xsd'

当加载我的应用程序spring上下文时,我收到以下错误(仅在Linux机器上,在Windows上似乎以某种方式工作):Failedtoreadschemadocument'http://www.springframework.org/schema/tool/spring-tool-4.1.xsd',because1)couldnotfindthedocument;2)thedocumentcouldnotberead;3)therootelementofthedocumentisnotxsd:schema.堆栈跟踪如下:org.springframework.beans.factory

xml - XSD:让日期元素为空或满足限制

我有一个XSD,我需要一个日期元素为空或在某个日期(10/1/2015)之后。因此,应该允许以下内容:2015-10-10我的XSD定义为:这强制日期是正确的,但不允许日期为空。任何见解或建议将不胜感激。 最佳答案 您的定义已经允许一个空的DDate,除了一个限制,您还必须指定xsi:nil="true",如下所示:但是,如果使用“allowempty”,你的意思是你想在不使用xsi:nil的情况下允许空白和/或空节点,有很多方法可以做到这一点。我可能会选择工会,就像这样:这意味着仅允许:有minInclusive限制的日期折叠空格

java - Xjc 在 xmlns :xsi and xsi:noNamespaceSchemaLocation 的 XSD 属性定义上抛出 "Invalid attribute value, not a valid NCName"

我正在使用xjc创建JAXB类。我正在使用以下命令xjc-dsrc-pcom.abc.projthe-types.xsd我收到以下错误parsingaschema...[ERROR]s4s-att-invalid-value:Invalidattributevaluefor'name'inelement'attribute'.Recordedreason:cvc-datatype-valid.1.2.1:'xmlns:xsi'isnotavalidvaluefor'NCName'.line106offile:/C:/Port/Field/the-types.xsd[ERROR]src-

c# - 允许 XSD 日期元素为空字符串

我想允许元素是xs:date或空字符串。这是我试过的XML模式:如果元素包含一个值,我希望该元素为DatoVedtagetType,如果它为空,我希望它为DatoVedtagetTypeString。我如何在这个架构中实现这样的条件功能? 最佳答案 根据对该问题的评论,目标是让DatoVedtaget成为xs:date或为空。这是表达这种约束的一种方式: 关于c#-允许XSD日期元素为空字符串,我们在StackOverflow上找到一个类似的问题: https