gpt4 book ai didi

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

转载 作者:数据小太阳 更新时间:2023-10-29 02:56:26 32 4
gpt4 key购买 nike

我正在使用 xjc 创建 JAXB 类。我正在使用以下命令

xjc -d src -p com.abc.proj the-types.xsd

我收到以下错误

parsing a schema...
[ERROR] s4s-att-invalid-value: Invalid attribute value for 'name' in element 'attribute'. Recorded reason: cvc-datatype-valid.1.2.1: 'xmlns:xsi' is not a valid value for 'NCName'.
line 106 of file:/C:/Port/Field/the-types.xsd

[ERROR] src-attribute.3.1: One of 'ref' or 'name' must be present in a local attribute declaration.
line 106 of file:/C:/Port/Field/the-types.xsd

[ERROR] s4s-att-invalid-value: Invalid attribute value for 'name' in element 'attribute'. Recorded reason: cvc-datatype-valid.1.2.1: 'xsi:noNamespaceSchemaLocation' is not a valid value for 'NCName'.
line 107 of file:/C:/Port/Field/the-types.xsd

[ERROR] src-attribute.3.1: One of 'ref' or 'name' must be present in a local attribute declaration.
line 107 of file:/C:/Port/Field/the-types.xsd

Failed to parse a schema.

第 106 和 107 行以 ** <xs:attribute name="" ..> 开头** of the-types.xsd 文件出现错误。 .xsd 文件是:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">

<xs:element name="the-types">
<xs:complexType>
<xs:sequence>
<xs:element name="AType" maxOccurs="unbounded">

...............


</xs:element>
</xs:sequence>
**<xs:attribute name="xmlns:xsi" type="xs:string"></xs:attribute>
<xs:attribute name="xsi:noNamespaceSchemaLocation" type="xs:string"></xs:attribute>**
</xs:complexType>
</xs:element>
</xs:schema>

我从链接中了解到的内容 Invalid attribute value for 'name' in element 'element'我们不能在名称中使用 : 。但这没有帮助。我应该如何更改我的 xsd 以获得 JAXB 类。

最佳答案

嗯,您尝试创建的属性不正确。属性的名称必须是 NCName(即非殖民名称),因此不能使用您拥有的值(有关更多信息,请参见 here)。查看您尝试定义的属性,我可以告诉您,您不需要在架构中定义这些属性。那是因为它们已经在其他模式中定义(在本例中为 XML 模式实例模式)。因此可以将这些属性添加到 XML 文档中。像这样:

<the-types>
<AType xsi:schemaLocation="location.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
</the-types>

关于java - Xjc 在 xmlns :xsi and xsi:noNamespaceSchemaLocation 的 XSD 属性定义上抛出 "Invalid attribute value, not a valid NCName",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32593453/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com