Tag: xsd

XML的自动编辑器(基于XSD方案)

有没有基于XSD方案生成XML文件编辑器的方法? (它应该是基于Java或Python的Web编辑器)。

JAXB模式在哪里发布?

JAXB 1.0和JAXB 2.0模式应该可以从JAXB站点的Bindings Schema获得 。 不幸的是,它最后一次更新于2005年,并且所有链接都被破坏了。 模式的官方位置是什么? v1.0,2.0,2.1和2.2应该有一些权威来源。

从元素中使用XSOM获取minOccurs属性

如何使用XSOM解析器从元素中获取minOccurs属性? 我已经看到这个例子来获取与复杂类型相关的属性: private void getAttributes(XSComplexType xsComplexType){ Collection c = xsComplexType.getAttributeUses(); Iterator i = c.iterator();while(i.hasNext()){ XSAttributeDecl attributeDecl = i.next().getDecl(); System.out.println(“type: “+attributeDecl.getType()); System.out.println(“name:”+attributeDecl.getName()); } } 但是,似乎无法找到一种正确的方法来将它从一个元素中取出,例如: 谢谢!

如何比较XMLGregorianCalendar只有Date部分(日,月,年)?

我正在开发一个集成了spring-struts web应用程序的web服务,在XSD中有一个XMLGregorianCalendar类型属性,假设属性名称为trxDate 。 在SOAPUI测试应用程序中,如果我插入了trxDate的值: 2013-02-21 ,那么我发送了soap xml请求数据,并在service方法中打印了值:System.out.println(trxDate)方法,打印输出结果与输入相同:2013-02-21。 现在,我正在尝试创建一个函数来将trxDate与当前日期进行比较。 我知道我们可以使用trxDate.compare(currentDate)方法对它进行比较。 问题是我不知道如何使用当前日期创建XMLGregorianCalendar对象集,仅使用日期部分(日,月和年)进行比较。 我尝试使用此代码: GregorianCalendar gc = new GregorianCalendar(); gc.set(GregorianCalendar.HOUR_OF_DAY, 0); gc.set(GregorianCalendar.MINUTE, 0); gc.set(GregorianCalendar.SECOND, 0); gc.set(GregorianCalendar.MILLISECOND, 0); XMLGregorianCalendar xgc = DatatypeFactory.newInstance().newXMLGregorianCalendar(gc); System.out.println(xgc); 结果是: 2013-02-20T00:00:00.000 + 07:00 但我期待: 2013年2月20日 如果使用日期( xgc )与trxDate进行比较: int result = trxDate.compare(xgc); 结果是2,表示:INDETERMINATE(来自DatatypeConstants类)。 正确的结果应该是-1,0或1。 那我的代码有什么问题?

JAXB中的Unmarshaller和模式

我有应用程序,可以以各种格式保存文件(所有这些都是xml)。 所以我应该在确定格式文件已保存的情况下解决问题。 所以,我看到了两个解决方案 不同的格式有不同的模式,所以我可以通过它们来确定。 我按照从这里开始的方式设置模式 marshaller.setProperty(Marshaller.JAXB_NO_NAMESPACE_SCHEMA_LOCATION, “bla-bla.xsd”); 所以我想我可以使用unmarshaller.getProperty(Marshaller.JAXB_NO_NAMESPACE_SCHEMA_LOCATION)来获取它 但它扔了 javax.xml.bind.PropertyException:jaxb.noNamespaceSchemaLocation 和getSchema()返回null那么, 我怎样才能获得模式位置? 使用setAdapter(Class type, A adapter)方法为不同的bean指定不同的适配器 什么方式更可取? 如果是第一个,那我怎样才能获得架构位置标签? upd 代码示例假设我们有bean @XmlRootElement public class Foo{ String bar; public String getBar() {return bar; } public void setBar(String bar) {this.bar = bar;} } 和生成模式的代码,然后保存Foo的实例和加载。 public class Test { final static String schemaLoc = “fooschema.xsd”; public static void write(File […]

XSD循环导入

我需要使用XSOM解析XSD,但此XSD包含循环导入。 A.xsd B.xsd XSOM无法解析模式,因为它检测到由于循环导入而已定义的元素。 所以我试图通过外化由A定义并在B中使用的元素来打破循环导入。 C.xsd包含A使用的元素B.请注意,这些元素不在A中使用。不要问我为什么在A中定义了这些元素。 A.xsd成了 B.xsd(导入C.xsd而不是A.xsd)成为 XSOM可以解析XSD。 但现在我无法使用以下代码创建架构: SchemaFactory sf = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); sf.setResourceResolver(new MyResourceResolver()); 我使用与JDK 1.7捆绑在一起的标准实现。 我得到了例外: src-resolve: Cannot resolve the name ‘ns1:MyElement’ to a(n) ‘element declaration’ component. 问题是资源解析器是为B命名空间调用的,而不是为有意义的A命名空间调用的。 由于命名空间A由A.xsd和C.xsd共享,因此资源解析器无法找到C.xsd中定义的元素。 圆形import是否有效? 是否可以打破循环导入,以便XSOM解析然后由SchemaFactory加载?

具有指定模式的JAXB Marshaller

我想在我编组的每个xml文件中定义模式。 然后在解组过程中获取此模式(路径字符串)。 仅限marshaller.setSchema() 允许调用者在编组时validation编组的XML。 是的,我可以为此目的编写额外的bean,但我想得到xml之类的 …

JAXB和complexType共享名称与其中一个元素生成不正确的代码

我有这个xsd有点坏,但我必须使用它来避免改变我正在编写的servlet的接口。 请求 – 响应接口的xsd包含以下行: … … 请注意名称冲突。 当我使用maven-jaxb-plugin从这个模式生成类时,我最终得到: Public class Foo { … public List getFoo() { … } … public static class Foo { … } } 当然,这无法编译,因为不允许在嵌套类和封闭类上使用相同的名称。 如果不更改xsd,我该怎么做才能解决这个问题? 我知道你可以通过在xsd中为jaxb添加标签来覆盖名称。 这样做安全吗? 它会对服务的界面产生影响吗?

Spring 3.0:“与元素类型”Z“相关联的属性”Y“的前缀”X“未绑定”

我的应用程序工作正常,直到今天早上,但我在今天早上重命名我的Netbeans 6.9项目后开始收到以下错误。 构建我的Spring 3.0.4应用程序时出现以下错误: The prefix “p” for attribute “p:driverClassName” associated with an element type “beans:bean” is not bound applicationContext.xml中: 的applicationContext安全: 上述错误导致此错误: Nov 24, 2010 10:52:54 AM org.springframework.web.context.ContextLoader initWebApplicationContext SEVERE: Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘myEmf’ defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: No […]

有没有办法将JSON Schema转换为XSD?

我目前正在寻找一种将JSON Schema转换为XSD或XML模式的方法。 我没有在这个主题上找到任何东西,希望也许有人在这里知道。 我希望用Java API来做。