- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遵循生成 jaxb 对象的架构。我正在用数据填充 jaxb 对象,然后对其进行编码(marshal)。我想在编码(marshal) jaxb 对象时进行模式验证。
ByteArrayOutputStream formXml = new ByteArrayOutputStream();
new JAXBElement<Form100DIV_V100>(new QName("http://example.org/types/2003/04", "Form100DIV_V100"), Form100DIVV100.class, (Form100DIVV100) form100);
if (isSchemaValidationNeeded) {
SchemaFactory sf = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
InputStream xsdStream = XmlUtil.class.getClassLoader().getResourceAsStream("schema/form.xsd");
StreamSource xsdSource = new StreamSource(xsdStream);
Schema schema = sf.newSchema(xsdSource);
//m.setEventHandler(new SchemaValidationEventHandler());
//m.setSchema(schema);
Validator validator = schema.newValidator();
try {
validator.validate(new StreamSource(new ByteArrayInputStream(formXml.toByteArray())));
System.out.println("File is valid");
} catch (SAXException e) {
System.out.println("File is NOT valid");
System.out.println("Reason: " + e.getLocalizedMessage());
} catch (IOException e) {
e.printStackTrace();
}
}
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://example.org/types/2003/04" targetNamespace="http://example.org/types/2003/04"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:complexType name="Form100DIV_V100">
<xs:complexContent>
<xs:extension base="AbstractForm100">
<xs:sequence>
<xs:element name="AMOUNT" type="AmountType" minOccurs="0"/>
---
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
----
-----
</xs:schema>
这是我在编码后得到的 xml
<Form100DIV_V100 xmlns="http://example.org/types/2003/04">
<AMOUNT>100.00</AMOUNT>
-------
---------
</Tax1099Div_V100>
虽然 xml 和 xsd 中的命名空间是正确的,但我遇到了以下错误。 原因:cvc-elt.1:找不到元素“Form100DIV_V100”的声明。
最佳答案
Form100DIV_V100
未在您的架构中定义为顶级元素,仅定义为类型。您只需将 xs:complexType
包裹起来即可在 xs:element
<xs:element name="Form100DIV_V100">
<xs:complexType>
<xs:complexContent>
<xs:extension base="AbstractForm100">
<xs:sequence>
<xs:element name="AMOUNT" type="AmountType" minOccurs="0" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
在您的 xml 实例中,<Form100DIV_V100>
未正确终止。您将使用 </Tax1099Div_V100>
终止它.
<Form100DIV_V100 xmlns="http://example.org/types/2003/04">
<AMOUNT>100.00</AMOUNT>
</Form100DIV_V100>
鉴于您有AbstractForm100
和AmountType
正确定义的类型和您的 -----
的其余部分是正确的,上述修复应该有效。
此外,使用 xjc 编译应该会给出 Form100DIVV100
用必要的 @XmlRootElement
定义您的类的注释
@XmlRootElement(name = "Form100DIV_V100")
public class Form100DIVV100 extends AbstractForm100 {
虽然看起来不像
关于java - cvc-elt.1 : Cannot find the declaration of element for RootElement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25924474/
在指南中,我可以找到: ” 如果要将Ember应用程序嵌入到现有站点中,则可以通过提供rootElement属性为特定元素设置事件监听器: window.App = Ember.Application
我有以下 POJO ,根元素没有显示在 xml 文件中(通过 SOAP jax-ws 调用发送),有人可以指出问题吗? @XmlRootElement(name = "CATALOGUE") @Xml
我的目标是在任意 Angular 项目中找到根元素(如果我只有 Angular 对象)。这显然不太合规,所以一个破解的解决方案就可以了。 我的第一个方法是 find("[ng-app]"),但这在引导
我正在尝试在应用程序中使用 handsontable 并对代码进行一些实验。我现在面临错误 - “instance.rootElement.getAttribute 不是函数”。当我检查它发生在代码行
我一直在关注 monotouch.dialog 任务示例应用程序 (http://docs.xamarin.com/ios/Guides/User_Interface/MonoTouch.Dialog
我正在向 RootElement 的一部分添加某些值,如下所示:- NavigationRoot = new RootElement("Menu"){ //Here we create the roo
我正在尝试使用 Monotouch.Dialog 构建菜单结构。该结构由多个嵌套的 RootElement 组成。 创建 RootElement 时,您在构造函数中设置标题。此标题用于表格单元格的文本
我正在使用 jersey REST JAX-RS 来开发 REST Web 服务。我想以以下格式返回 xml- .... 我在每个 POJO 类中使用@RootElem
当我执行 node elementexplorer.js http://127.0.0.1:8080/app/view1 我收到以下错误: There was a webdriver error: E
我正在尝试为 XSD 类型指定一个实现类。这是一个最小的示例架构: 我现
我试图找到包含在 Windows 服务窗口(开始->运行->Services.msc)中的列表项。该列表项名为“Arc Service”,使用 Inspect 很容易找到它,但我的代码无法找到它。这是
我有以下带有命名空间的 XML 文件: 1972 Dennis Ritchie 1995 Rasmus
我在我的项目中使用了 angulartics,但是当我向我的模块添加依赖项时,出现以下错误: 未知提供者:$rootElementProvider <- $rootElement <- $locati
我有一个导入 xsd 的 wsdl 文件。在我的 pom.xml 中,我使用 Apache-CXF 和 wsdl2java 来生成代理类,但需要更改名称。这应该是可能的,因为相反,从 xsd 文件生成
我的 xml 文件中有注释,称之为 X。我从另一个 xml 文件 Y 中获取,我想将元素放置在 X 中的正确注释下。我正在使用 java appendChild 方法。在这种情况下,“rootElem
下面是我的 XML 字符串,我在访问 Entity3 列表时遇到问题。 Value1 Value2 Value1 Value2
在我正在构建的应用程序中,我使用以下模式:如果用户单击分层导航元素,我会立即打开下一个 UIViewController,它会自行加载数据并显示如果通过网络加载微调器。 现在大多数 ListView
我需要将使用 ember-cli 制作的 ember 应用程序嵌入到现有网站中。 如果没有 ember-cli 我会这样做: App = Ember.Application.create({ ro
我遵循生成 jaxb 对象的架构。我正在用数据填充 jaxb 对象,然后对其进行编码(marshal)。我想在编码(marshal) jaxb 对象时进行模式验证。 ByteArrayOutputSt
我一直在上下搜索有关如何执行此操作的信息: 我需要根据 RadioGroup 的值创建多个 RootElement,我不太确定如何或在何处编写它。 理想情况下,它会创建一个新的 RootElement
我是一名优秀的程序员,十分优秀!