[mdr-users] Re: XML Namespaces and Custom Metamodels
Pieter Van Gorp <[email protected]> Thu, 4 Aug 2005 16:58:32 +0200
| Newsgroups | gmane.comp.java.netbeans.modules.mdr.user |
|---|---|
| Message-ID | <[email protected]> |
Looking at the XMI and the Java code over and over again, I can't find why the Node element cannot be found. Removing the "tracing." prefix didn't solve the problem. I wonder how it's possible that MDR was able to write XMI that it cannot read again without throwing exceptions... Any ideas? Kind regards, -- Pieter. On 8/4/05, Pieter Van Gorp <[email protected]> wrote: > I may have been too fast by assuming that the exception was caused by > an XML namespace problem. In fact, I now believe that the XMI reader > (XML parser) is looking for elements in the default (nameless) > namespace and cannot find elements like "tracing.Node". I'm not sure > why the parser complains about an unknown "package" instead of an > unknown "element" though... > > Keep in touch, > Pieter. > > On 8/4/05, Pieter Van Gorp <[email protected]> wrote: > > Hi all, > > how can I set the XML namespace to be used in the XMI for models > > conforming to my own metamodel? > > > > I've created a metamodel for creating traceability links across UML > > models. Therefore, my metamodel clusters the UML metamodel (more info > > on http://www.fots.ua.ac.be/motmot/docs/traceability-p3.php). The > > problem is that when I serialize a traceability model to XMI, only > > "UML" is defined as an XML namespace and "tracing" (which should be > > the namespace for elements in the clustering model) is undefined. > > > > This leads to exceptions when the XMI is read in again. For example: > > org.netbeans.lib.jmi.util.DebugException: Element name cannot be > > resolved, unknown package: tracing.Node > > at org.netbeans.lib.jmi.xmi.XmiContext.resolveElementName(XmiContext.java:527) > > at org.netbeans.lib.jmi.xmi.XmiElement$Content.startSubElement(XmiElement.java:354) > > at org.netbeans.lib.jmi.xmi.XmiSAXReader.startElement(XmiSAXReader.java:223) > > > > XMI of the erraneous traceability model: > > <?xml version = '1.0' encoding = 'ISO-8859-1' ?> > > <XMI xmi.version = '1.2' xmlns:UML = 'org.omg.xmi.namespace.UML' > > timestamp = 'Thu Aug 04 15:51:23 CEST 2005'> > > <XMI.header> > > <XMI.documentation> > > <XMI.exporter>Netbeans XMI Writer</XMI.exporter> > > <XMI.exporterVersion>1.0</XMI.exporterVersion> > > </XMI.documentation> > > </XMI.header> > > <XMI.content> > > <tracing.Node xmi.id = 'a1' role = 'reference to a1'> > > <tracing.Node.trace> > > <tracing.Trace xmi.idref = 'a2'/> > > </tracing.Node.trace> > > <tracing.Node.content> > > <UML:Attribute xmi.idref = 'a3'/> > > </tracing.Node.content> > > </tracing.Node> > > <tracing.Node xmi.id = 'a4' role = 'reference to a2'> > > <tracing.Node.trace> > > <tracing.Trace xmi.idref = 'a2'/> > > </tracing.Node.trace> > > <tracing.Node.content> > > <UML:Attribute xmi.idref = 'a5'/> > > </tracing.Node.content> > > </tracing.Node> > > <tracing.Trace xmi.id = 'a2'> > > <tracing.Trace.node> > > <tracing.Node xmi.idref = 'a1'/> > > <tracing.Node xmi.idref = 'a4'/> > > </tracing.Trace.node> > > </tracing.Trace> > > </XMI.content> > > </XMI> > > I thought it may be due to a missing tag in the specification of my > > metamodel but couldn't find a solution on the website for the UML > > profile for MOF... > > > > Thanks in advance for your help, > > -- > > Pieter Van Gorp > > Teaching and Research Assistant > > FOrmal Techniques in Software engineering (FOTS) > > University of Antwerp > > Middelheimlaan 1 > > 2020 Antwerpen - Belgium > > Office: G.304 > > Phone: +32 3 265 38 71 > > Fax: +32 3 265 37 77 > > http://www.fots.ua.ac.be/~pvgorp/research/ > > http://motmot.sourceforge.net/ > > >