After a lot of thoughts about this issue. I'm sorry to inform you that next version XXE v4.5.1 (to be released in a couple of weeks) will *not* solve your problem.
What is described as method #2 below is not really better than current method #1. Therefore, we don't see any advantages in implementing it. In summary, in all cases but the simplest ones, XMLmind XML Editor will *never* be able to generate documents in which xmlns attributes pass the validation by the DTD. If your DTD makes a heavy use of namespaces: * Use an XML editor other than XMLmind. * OR automatically convert your DTD to W3C XML Schema or to RELAX NG. Recommended tool: trang, http://www.thaiopensource.com/relaxng/trang.html Thomas Dumm wrote: > How can I prevent XMLmind from writing the DCMI namespace URI > (xmlns:dc=http://purl.org/dc/elements/1.1/) in my dc-elements? > What determines in XMLmind that DCMI namespace URI are inserted? > > If I open in Oxygen an xml-file that contains the DCMI namespace URI in the > dc-elements I get the error message: > E [Xerces] Attribute "xmlns:dc" must be declared for element type > "dc:contributor". > > I must admit, that I am a bit lost here. Should the dc-namespace be written > in the dc-elements or not? > If I generate an xml-file with Arbortext the DCMI namespace URI is *not* > written in the dc-elements. > > In the dtd I have the root-element <Collection> with: > > <!ELEMENT Collection (MetaData?, (Digest | MetaFrame | Facts | Feature )*)> > <!ATTLIST Collection > CollectionDescription CDATA #FIXED "emnemics GreenCollection R2" > CollectionRights CDATA #FIXED "(c) emnemics ag switzerland, all rights on > structure reserved, www.emnemics.ch" > CollectionIdentifier CDATA #FIXED "02-gre-r2-nil0000" > xmlns:dc CDATA #FIXED "http://purl.org/dc/elements/1.1/" > xmlns:m CDATA #FIXED "http://www.w3.org/1998/Math/MathML"> > > A dc-elements are the defined by: > > <!ELEMENT dc:temporal (#PCDATA)> > <!ATTLIST dc:temporal > type (01 | 02 | 03 | 04 | 05 | 06 | 07 | > 08 | 09) #IMPLIED> > > > So should the DCMI namespace URI be written in our dc-Elements, or not? > > As we start to load files into our cms, I fear that these minor(???) > differences will show up an might cause problems. Thomas Dumm wrote: > - If you say, that XXE does an *acceptable job* when all namepaces and their > prefixes are declared in the DTD as attributes with a fixed default value for > all the possible root elements > of a document, do you mean by that: With the next release of XXE our > documents will (should) be saved as valid > xml documents? xmleditor-support at xmlmind.com wrote: > I don't know. It depends on your specific DTD. > > Current release uses method #1 to deal with DTDs making use of namespaces. > Next release will use method #2, which is as flawed as method #1. Both > methods work only for the simplest cases. Maybe method #2 works with *more* > simple cases than method #1. That's why we'll make the change. > > Method #2 at work: > > --> The following document: > --- > <!DOCTYPE doc SYSTEM "dtd1.dtd"> > <doc> > <p>...<p> > <mml:math>...</mml:math> > <foreign> > <svg:svg xmlns:svg="http://www.w3.org/2000/svg">...</svg:svg> > </foreign> > </doc> > --- > > where dtd1.dtd is: > --- > <!ELEMENT doc (p|mml:math|foreign)+> > <!ATTLIST doc > xmlns CDATA #FIXED "http://www.acme.com/ns" > xmlns:mml CDATA #FIXED "http://www.w3.org/1998/Math/MathML" >> > > <!ELEMENT p (#PCDATA)*> > > <!ELEMENT mml:math ...> > > <!ELEMENT foreign ANY> > --- > > will be saved as: > --- > <!DOCTYPE doc SYSTEM "dtd1.dtd"> > <doc xmlns="http://www.acme.com/ns" > xmlns:mml="http://www.w3.org/1998/Math/MathML"> > <p>...<p> > <mml:math>...</mml:math> > <foreign> > <ns:svg xmlns:ns="http://www.w3.org/2000/svg">...</ns:svg> > </foreign> > </doc> > --- > > Notice: > [1] All the namespace prefix declarations found in the DTD are repeated on > the doc root element. > [2] mml:math has no namespace prefix declarations. > [3] The prefix of the svg element is "ns" and not "svg". > > According to dtd1.dtd (except for the foreign element: ANY mean any > *declared* element), the save file is valid. > > > > --> The following document: > --- > <!DOCTYPE doc SYSTEM "dtd2.dtd"> > <doc> > <p>...<p> > <mml:math>...</mml:math> > <foreign> > <svg:svg xmlns:svg="http://www.w3.org/2000/svg">...</svg:svg> > </foreign> > </doc> > --- > > where dtd2.dtd is: > --- > <!ELEMENT doc (p|mml:math|foreign)+> > <!ATTLIST doc > xmlns CDATA #FIXED "http://www.acme.com/ns" >> > > <!ELEMENT p (#PCDATA)*> > > <!ELEMENT mml:math ...> > <!ATTLIST > xmlns:mml CDATA #FIXED "http://www.w3.org/1998/Math/MathML" >> > > <!ELEMENT foreign ANY> > --- > > will also be saved as: > --- > <!DOCTYPE doc SYSTEM "dtd2.dtd"> > <doc xmlns="http://www.acme.com/ns" > xmlns:mml="http://www.w3.org/1998/Math/MathML"> > <p>...<p> > <mml:math>...</mml:math> > <foreign> > <ns:svg xmlns:ns="http://www.w3.org/2000/svg">...</ns:svg> > </foreign> > </doc> > --- > > The above document is well-formed, 100% interchangeable with non-validating > XML applications, but is not conforming to dtd2.dtd: according to the DTD > which treats xmlns attributes as if they were normal attributes, doc cannot > have a xmlns:mml attribute.

