Giter Site home page Giter Site logo

yoep / xsd-compare Goto Github PK

View Code? Open in Web Editor NEW
15.0 3.0 9.0 359 KB

Compare different XSD (XML Schema) version files to each other in a visualized way.

License: Apache License 2.0

Java 99.83% CSS 0.17%
xsd-files xsdviewer compare-files xml-schema-files xsd

xsd-compare's People

Contributors

yoep avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

xsd-compare's Issues

Comparing files ends with nullpointer

Comparing OpenDRIVE 1.4 H and OpenDRIVE 1.5 M results in nullpointer.
Download here: http://www.opendrive.org/download.html

2019-06-12 11:23:43.940 ERROR 16739 --- [lication Thread] com.compare.xsd.views.MainView : null

java.lang.NullPointerException: null
at com.compare.xsd.comparison.model.xsd.impl.AbstractXsdNode.loadType(AbstractXsdNode.java:158) ~[classes!/:0.0.4-SNAPSHOT]
at com.compare.xsd.comparison.model.xsd.impl.XsdElement.loadComplexType(XsdElement.java:156) ~[classes!/:0.0.4-SNAPSHOT]
at com.compare.xsd.comparison.model.xsd.impl.XsdElement.init(XsdElement.java:140) ~[classes!/:0.0.4-SNAPSHOT]
at com.compare.xsd.comparison.model.xsd.impl.XsdElement.(XsdElement.java:65) ~[classes!/:0.0.4-SNAPSHOT]
at com.compare.xsd.comparison.model.xsd.impl.XsdElement.processComplexGroup(XsdElement.java:174) ~[classes!/:0.0.4-SNAPSHOT]
at com.compare.xsd.comparison.model.xsd.impl.XsdElement.loadComplexType(XsdElement.java:154) ~[classes!/:0.0.4-SNAPSHOT]
at com.compare.xsd.comparison.model.xsd.impl.XsdElement.init(XsdElement.java:140) ~[classes!/:0.0.4-SNAPSHOT]
at com.compare.xsd.comparison.model.xsd.impl.XsdElement.(XsdElement.java:65) ~[classes!/:0.0.4-SNAPSHOT]
at com.compare.xsd.comparison.model.xsd.impl.XsdElement.processComplexGroup(XsdElement.java:174) ~[classes!/:0.0.4-SNAPSHOT]
at com.compare.xsd.comparison.model.xsd.impl.XsdElement.loadComplexType(XsdElement.java:154) ~[classes!/:0.0.4-SNAPSHOT]
at com.compare.xsd.comparison.model.xsd.impl.XsdElement.init(XsdElement.java:140) ~[classes!/:0.0.4-SNAPSHOT]
at com.compare.xsd.comparison.model.xsd.impl.XsdElement.(XsdElement.java:65) ~[classes!/:0.0.4-SNAPSHOT]
at com.compare.xsd.comparison.model.xsd.impl.XsdElement.processComplexGroup(XsdElement.java:174) ~[classes!/:0.0.4-SNAPSHOT]
at com.compare.xsd.comparison.model.xsd.impl.XsdElement.loadComplexType(XsdElement.java:154) ~[classes!/:0.0.4-SNAPSHOT]
at com.compare.xsd.comparison.model.xsd.impl.XsdElement.init(XsdElement.java:140) ~[classes!/:0.0.4-SNAPSHOT]
at com.compare.xsd.comparison.model.xsd.impl.XsdElement.(XsdElement.java:48) ~[classes!/:0.0.4-SNAPSHOT]
at com.compare.xsd.comparison.model.xsd.impl.XsdDocument.init(XsdDocument.java:83) ~[classes!/:0.0.4-SNAPSHOT]
at com.compare.xsd.comparison.model.xsd.impl.XsdDocument.(XsdDocument.java:32) ~[classes!/:0.0.4-SNAPSHOT]
at com.compare.xsd.comparison.XsdLoader.load(XsdLoader.java:74) ~[classes!/:0.0.4-SNAPSHOT]
at com.compare.xsd.comparison.XsdLoader.chooseAndLoad(XsdLoader.java:54) ~[classes!/:0.0.4-SNAPSHOT]
at com.compare.xsd.views.MainView.loadTree(MainView.java:239) [classes!/:0.0.4-SNAPSHOT]
at com.compare.xsd.views.MainView.loadTree(MainView.java:229) [classes!/:0.0.4-SNAPSHOT]
at com.compare.xsd.views.MainView.loadNextAvailableTree(MainView.java:180) [classes!/:0.0.4-SNAPSHOT]
at com.compare.xsd.views.components.MenuComponent.loadNextAvailableTree(MenuComponent.java:44) ~[classes!/:0.0.4-SNAPSHOT]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_201]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_201]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_201]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_201]
at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71) ~[na:1.8.0_201]
at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source) ~[na:na]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_201]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_201]
at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275) ~[na:1.8.0_201]
at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1771) ~[jfxrt.jar:na]
at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1657) ~[jfxrt.jar:na]
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86) ~[jfxrt.jar:na]
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238) ~[jfxrt.jar:na]
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191) ~[jfxrt.jar:na]
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59) ~[jfxrt.jar:na]
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58) ~[jfxrt.jar:na]
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) ~[jfxrt.jar:na]
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) ~[jfxrt.jar:na]
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) ~[jfxrt.jar:na]
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) ~[jfxrt.jar:na]
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) ~[jfxrt.jar:na]
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) ~[jfxrt.jar:na]
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) ~[jfxrt.jar:na]
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74) ~[jfxrt.jar:na]
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49) ~[jfxrt.jar:na]
at javafx.event.Event.fireEvent(Event.java:198) ~[jfxrt.jar:na]
at javafx.scene.Node.fireEvent(Node.java:8411) ~[jfxrt.jar:na]
at javafx.scene.control.Button.fire(Button.java:185) ~[jfxrt.jar:na]
at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:182) ~[jfxrt.jar:na]
at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:96) ~[jfxrt.jar:na]
at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:89) ~[jfxrt.jar:na]
at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218) ~[jfxrt.jar:na]
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80) ~[jfxrt.jar:na]
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238) ~[jfxrt.jar:na]
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191) ~[jfxrt.jar:na]
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59) ~[jfxrt.jar:na]
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58) ~[jfxrt.jar:na]
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) ~[jfxrt.jar:na]
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) ~[jfxrt.jar:na]
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) ~[jfxrt.jar:na]
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) ~[jfxrt.jar:na]
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) ~[jfxrt.jar:na]
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) ~[jfxrt.jar:na]
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) ~[jfxrt.jar:na]
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74) ~[jfxrt.jar:na]
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54) ~[jfxrt.jar:na]
at javafx.event.Event.fireEvent(Event.java:198) ~[jfxrt.jar:na]
at javafx.scene.Scene$MouseHandler.process(Scene.java:3757) ~[jfxrt.jar:na]
at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3485) ~[jfxrt.jar:na]
at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762) ~[jfxrt.jar:na]
at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2494) ~[jfxrt.jar:na]
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:394) ~[jfxrt.jar:na]
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:295) ~[jfxrt.jar:na]
at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_201]
at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$345(GlassViewEventHandler.java:432) ~[jfxrt.jar:na]
at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:389) ~[jfxrt.jar:na]
at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:431) ~[jfxrt.jar:na]
at com.sun.glass.ui.View.handleMouseEvent(View.java:555) ~[jfxrt.jar:na]
at com.sun.glass.ui.View.notifyMouse(View.java:937) ~[jfxrt.jar:na]
at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method) ~[jfxrt.jar:na]
at com.sun.glass.ui.gtk.GtkApplication.lambda$null$203(GtkApplication.java:139) ~[jfxrt.jar:na]
at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_201]

SceneBuilder: Could not open 'main.fxml'

SceneBuilder fails to open main.fxml

Error details:

java.io.IOException: javafx.fxml.LoadException: Invalid attribute.
/D:/Projects/xsd-compare-develop/src/main/resources/views/components/menu.component.fxml:13
/D:/Projects/xsd-compare-develop/src/main/resources/views/main.fxml:17

	at com.oracle.javafx.scenebuilder.kit.fxom.FXOMLoader.load(FXOMLoader.java:92)
	at com.oracle.javafx.scenebuilder.kit.fxom.FXOMDocument.<init>(FXOMDocument.java:80)
	at com.oracle.javafx.scenebuilder.kit.fxom.FXOMDocument.<init>(FXOMDocument.java:95)
	at com.oracle.javafx.scenebuilder.kit.editor.EditorController.updateFxomDocument(EditorController.java:2370)
	at com.oracle.javafx.scenebuilder.kit.editor.EditorController.setFxmlTextAndLocation(EditorController.java:655)
	at com.oracle.javafx.scenebuilder.app.DocumentWindowController.loadFromFile(DocumentWindowController.java:386)
	at com.oracle.javafx.scenebuilder.app.SceneBuilderApp.performOpenFiles(SceneBuilderApp.java:579)
	at com.oracle.javafx.scenebuilder.app.SceneBuilderApp.handleOpenFilesAction(SceneBuilderApp.java:447)
	at com.oracle.javafx.scenebuilder.app.AppPlatform$MessageBoxDelegate$1.run(AppPlatform.java:189)
	at com.sun.javafx.application.PlatformImpl$6$1.run(PlatformImpl.java:301)
	at com.sun.javafx.application.PlatformImpl$6$1.run(PlatformImpl.java:298)
	at java.security.AccessController.doPrivileged(Native Method)
	at com.sun.javafx.application.PlatformImpl$6.run(PlatformImpl.java:298)
	at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
	at com.sun.glass.ui.win.WinApplication._enterNestedEventLoopImpl(Native Method)
	at com.sun.glass.ui.win.WinApplication._enterNestedEventLoop(WinApplication.java:142)
	at com.sun.glass.ui.Application.enterNestedEventLoop(Application.java:495)
	at com.sun.glass.ui.EventLoop.enter(EventLoop.java:107)
	at com.sun.javafx.tk.quantum.QuantumToolkit.enterNestedEventLoop(QuantumToolkit.java:543)
	at javafx.stage.Stage.showAndWait(Stage.java:415)
	at com.oracle.javafx.scenebuilder.kit.editor.panel.util.dialog.AbstractModalDialog.showAndWait(AbstractModalDialog.java:119)
	at com.oracle.javafx.scenebuilder.kit.editor.panel.util.dialog.ErrorDialog.showDetailsDialog(ErrorDialog.java:100)
	at com.oracle.javafx.scenebuilder.kit.editor.panel.util.dialog.ErrorDialog.access$000(ErrorDialog.java:43)
	at com.oracle.javafx.scenebuilder.kit.editor.panel.util.dialog.ErrorDialog$1.run(ErrorDialog.java:58)
	at com.oracle.javafx.scenebuilder.kit.editor.panel.util.dialog.AlertDialog.actionButtonPressed(AlertDialog.java:108)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:483)
	at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71)
	at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:483)
	at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275)
	at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1763)
	at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1651)
	at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
	at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
	at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
	at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
	at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
	at javafx.event.Event.fireEvent(Event.java:204)
	at javafx.scene.Node.fireEvent(Node.java:8175)
	at javafx.scene.control.Button.fire(Button.java:185)
	at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:182)
	at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:96)
	at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:89)
	at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218)
	at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
	at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
	at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
	at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
	at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
	at javafx.event.Event.fireEvent(Event.java:204)
	at javafx.scene.Scene$MouseHandler.process(Scene.java:3746)
	at javafx.scene.Scene$MouseHandler.access$1800(Scene.java:3471)
	at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1695)
	at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2486)
	at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:314)
	at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:243)
	at java.security.AccessController.doPrivileged(Native Method)
	at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:345)
	at com.sun.glass.ui.View.handleMouseEvent(View.java:526)
	at com.sun.glass.ui.View.notifyMouse(View.java:898)
	at com.sun.glass.ui.win.WinApplication._enterNestedEventLoopImpl(Native Method)
	at com.sun.glass.ui.win.WinApplication._enterNestedEventLoop(WinApplication.java:142)
	at com.sun.glass.ui.Application.enterNestedEventLoop(Application.java:495)
	at com.sun.glass.ui.EventLoop.enter(EventLoop.java:107)
	at com.sun.javafx.tk.quantum.QuantumToolkit.enterNestedEventLoop(QuantumToolkit.java:543)
	at javafx.stage.Stage.showAndWait(Stage.java:415)
	at com.oracle.javafx.scenebuilder.kit.editor.panel.util.dialog.AbstractModalDialog.showAndWait(AbstractModalDialog.java:119)
	at com.oracle.javafx.scenebuilder.app.SceneBuilderApp.performOpenFiles(SceneBuilderApp.java:603)
	at com.oracle.javafx.scenebuilder.app.SceneBuilderApp.handleOpenFilesAction(SceneBuilderApp.java:447)
	at com.oracle.javafx.scenebuilder.app.SceneBuilderApp.handleLaunch(SceneBuilderApp.java:427)
	at com.oracle.javafx.scenebuilder.app.AppPlatform.requestStartGeneric(AppPlatform.java:139)
	at com.oracle.javafx.scenebuilder.app.AppPlatform.requestStart(AppPlatform.java:106)
	at com.oracle.javafx.scenebuilder.app.SceneBuilderApp.start(SceneBuilderApp.java:371)
	at com.sun.javafx.application.LauncherImpl$8.run(LauncherImpl.java:837)
	at com.sun.javafx.application.PlatformImpl$7.run(PlatformImpl.java:335)
	at com.sun.javafx.application.PlatformImpl$6$1.run(PlatformImpl.java:301)
	at com.sun.javafx.application.PlatformImpl$6$1.run(PlatformImpl.java:298)
	at java.security.AccessController.doPrivileged(Native Method)
	at com.sun.javafx.application.PlatformImpl$6.run(PlatformImpl.java:298)
	at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
	at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
	at com.sun.glass.ui.win.WinApplication.access$300(WinApplication.java:39)
	at com.sun.glass.ui.win.WinApplication$4$1.run(WinApplication.java:112)
	at java.lang.Thread.run(Thread.java:744)
Caused by: javafx.fxml.LoadException: Invalid attribute.
/D:/Projects/xsd-compare-develop/src/main/resources/views/components/menu.component.fxml:13
/D:/Projects/xsd-compare-develop/src/main/resources/views/main.fxml:17

	at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2613)
	at javafx.fxml.FXMLLoader.access$100(FXMLLoader.java:104)
	at javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:943)
	at javafx.fxml.FXMLLoader$Element.processStartElement(FXMLLoader.java:216)
	at javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:738)
	at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2723)
	at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2527)
	at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2441)
	at javafx.fxml.FXMLLoader.access$2500(FXMLLoader.java:104)
	at javafx.fxml.FXMLLoader$IncludeElement.constructValue(FXMLLoader.java:1144)
	at javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:740)
	at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2723)
	at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2527)
	at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2425)
	at com.oracle.javafx.scenebuilder.kit.fxom.FXOMLoader.load(FXOMLoader.java:89)
	... 101 more

Loop if XSD is recursive

The European e-Invoice standard uses OASIS UBL XML and UN/CEFACT CII XML, the latter is being used form its second 2016 release (D16B), you may find the XSD here: https://unece.org/DAM/cefact/xml_schemas/D16B_SCRDM__Subset__CII.zip

There is something nasty in, an element that can contain itself:

<xsd:complexType name="**GroupedWorkItemType**">
	<xsd:sequence>
		<xsd:element name="ID" type="udt:IDType"/>
		<xsd:element name="PrimaryClassificationCode" type="udt:CodeType" minOccurs="0" maxOccurs="unbounded"/>
		<xsd:element name="AlternativeClassificationCode" type="udt:CodeType" minOccurs="0" maxOccurs="unbounded"/>
		<xsd:element name="TypeCode" type="udt:CodeType" minOccurs="0" maxOccurs="unbounded"/>
		<xsd:element name="Comment" type="udt:TextType" minOccurs="0" maxOccurs="unbounded"/>
		<xsd:element name="TotalQuantity" type="udt:QuantityType" minOccurs="0"/>
		<xsd:element name="Index" type="udt:TextType" minOccurs="0"/>
		<xsd:element name="RequestedActionCode" type="udt:CodeType" minOccurs="0" maxOccurs="unbounded"/>
		<xsd:element name="PriceListItemID" type="udt:IDType" minOccurs="0"/>
		<xsd:element name="ContractualLanguageCode" type="udt:CodeType" minOccurs="0"/>
		<xsd:element name="TotalCalculatedPrice" type="ram:CalculatedPriceType" minOccurs="0" maxOccurs="unbounded"/>
		<xsd:element name="ItemGroupedWorkItem" type="ram:**GroupedWorkItemType**" minOccurs="0" maxOccurs="unbounded"/>
		<xsd:element name="ItemBasicWorkItem" type="ram:BasicWorkItemType" minOccurs="0" maxOccurs="unbounded"/>
		<xsd:element name="ChangedRecordedStatus" type="ram:RecordedStatusType" minOccurs="0" maxOccurs="unbounded"/>
		<xsd:element name="ActualWorkItemComplexDescription" type="ram:WorkItemComplexDescriptionType" minOccurs="0" maxOccurs="unbounded"/>
		<xsd:element name="ReferencedSpecifiedBinaryFile" type="ram:SpecifiedBinaryFileType" minOccurs="0" maxOccurs="unbounded"/>
	</xsd:sequence>
</xsd:complexType>

The trick to solve it was that the constructor is only called, when the element does not already exist.
For this reason I added a Map <String, XsdElement> at the document root

public Map<String, XsdElement> allElements = new HashMap<>();

and exchanged the two constructor with two statical factory methods - a final tweak was to move the recursive init() out of the constructor (otherwise the case above will still loop) :-)

    public static XsdElement newXsdElement(XSElementDeclaration element, XsdDocument parent) {
        String ns = element.getNamespace();
        String name = element.getName();
        if(ns != null && !ns.isEmpty()){
            name = "{" + ns + "}" + name;
        }else{
            name = name;
        }
        if(parent.allElements.containsKey(name)){
            return parent.allElements.get(name);
        }else{
            XsdElement xsdElement = new XsdElement(element, parent);
            parent.allElements.put(name, xsdElement);
            xsdElement.init();
            return xsdElement;
        }
    }

    public static XsdElement newXsdElement(XSParticle elementDefinition, XsdElement parent) {
        XSElementDeclaration element = (XSElementDecl) elementDefinition.getTerm();
        String ns = element.getNamespace();
        String name = element.getName();
        if(ns != null && !ns.isEmpty()){
            name = "{" + ns + "}" + name;
        }else{
            name = name;
        }
        if(parent.document.allElements.containsKey(name)){
            return parent.document.allElements.get(name);
        }else{
            XsdElement xsdElement = new XsdElement(elementDefinition, parent);
            parent.document.allElements.put(name, xsdElement);
            xsdElement.init();
            return xsdElement;
        }
    }

Now the compare method is still looping - likely for similar reason - and
I will check tomorrow. I plan to provide a patch if you like to (just answer) otherwise I might save the time..

How to start xsd-compare?

How do I start the program xsd-compare on Windows 10? What are the requirements?
I tried to run "javac XsdCompareConfiguration.java" or "javac XsdCompareApplication.java" using jdk-14, but I got a lot of errors (e.g. package com.fasterxml.jackson.databind does not exist).
Thanks for helping!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.