XML & MSIE: Use of default namespace declaration attribute in DTDnot supported.

Discussion in 'XML' started by Tjerk Wolterink, Dec 7, 2004.

  1. When i open the following xml file in internetexplorer:

    <?xml version="1.0" encoding="ISO-8859-1"?>

    <!DOCTYPE xc:content [
    <!ENTITY % xhtml PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    %xhtml;
    ]>

    <xc:xcontent xmlns:xc="http://www.wolterinkwebdesign.com/xml/xcontent" xmlns="http://www.w3.org/1999/xhtml" module="gastenboek">
    <xc:bericht>
    <xc:id>1</xc:id>
    <xc:naam type="string"><![CDATA[Tjerk Wolterink]]></xc:naam>
    <xc:email type="email"><![CDATA[]]></xc:email>
    <xc:rating type="option">
    <xc:empty/>
    </xc:rating>
    <xc:content type="text">
    Ik moet zeggen je hebt er een mooi werkje van gemaakt<br />
    Zeker dat xml buttontje onderin maakt het compleet
    </xc:content>
    </xc:bericht>
    </xc:xcontent>

    Then internet explorer says the following:

    ------
    The XML page cannot be displayed
    Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh button, or try again later.


    --------------------------------------------------------------------------------

    Use of default namespace declaration attribute in DTD not supported. Error processing resource 'http://tjerk.wolterinkwebde...
    ------


    What am i doing wrong??
    Tjerk Wolterink, Dec 7, 2004
    #1
    1. Advertising

  2. Re: XML & MSIE: Use of default namespace declaration attribute in DTD not supported.


    > What am i doing wrong??


    Nothing.

    When MSXML says

    Use of default namespace declaration attribute in DTD not supported.

    They mean,
    "We know this is a legal construct, but we are not going to support it"


    You can modify the xhtml dtd so it does work in IE (eg the XHTML+MathML
    one at
    http://www.w3.org/Math/DTD/
    works
    but since your input file clearly isn't XHTML, why have the DTD
    reference at all?

    David
    David Carlisle, Dec 7, 2004
    #2
    1. Advertising

  3. Re: XML & MSIE: Use of default namespace declaration attribute inDTD not supported.

    David Carlisle wrote:

    >>What am i doing wrong??

    >
    >
    > Nothing.
    >
    > When MSXML says
    >
    > Use of default namespace declaration attribute in DTD not supported.
    >
    > They mean,
    > "We know this is a legal construct, but we are not going to support it"
    >
    >
    > You can modify the xhtml dtd so it does work in IE (eg the XHTML+MathML
    > one at
    > http://www.w3.org/Math/DTD/
    > works
    > but since your input file clearly isn't XHTML, why have the DTD
    > reference at all?
    >
    > David



    Because it can contain html, the xml is generated from a database,
    this xml file is then put in an xsl file, and that xsl file should
    not affect the xhtml, and it only works when i use a namespace for xhtml in the xml file.
    Tjerk Wolterink, Dec 7, 2004
    #3
  4. Re: XML & MSIE: Use of default namespace declaration attribute in DTD not supported.

    Tjerk Wolterink <> writes:

    > Because it can contain html, the xml is generated from a database,
    > this xml file is then put in an xsl file, and that xsl file should
    > not affect the xhtml, and it only works when i use a namespace for xhtml in the xml file.


    Yes but unless your DTD reference declares _all_ of the elements used,
    not just the XHTML ones, the file will not be dtd-valid anyway so
    there's not much to be gained in having a DTD at all.

    The only thing that can be gained is defaulting of the xhtml namespace
    declarations and that can't be made to work in IE. As the message said
    it is an intentional non-conformance by MS.

    The namespace Rec incidentally does advise against defaulting namespace
    declarations. This also would fail with mozilla, for different reasons,
    mozilla does not read external dtd files, so would never see the default
    namespace declaration.

    Can't you modify your generation from the datatabase so that your top
    level element has
    xmlns="http://www.w3.org/199/xhtml"
    which is all you need to ensure that unprefixed html elements are XHTML
    and matched by your stylesheet.



    David
    David Carlisle, Dec 7, 2004
    #4
  5. Re: XML & MSIE: Use of default namespace declaration attribute inDTD not supported.

    David Carlisle wrote:

    > Tjerk Wolterink <> writes:
    >
    >
    >>Because it can contain html, the xml is generated from a database,
    >>this xml file is then put in an xsl file, and that xsl file should
    >>not affect the xhtml, and it only works when i use a namespace for xhtml in the xml file.

    >
    >
    > Yes but unless your DTD reference declares _all_ of the elements used,
    > not just the XHTML ones, the file will not be dtd-valid anyway so
    > there's not much to be gained in having a DTD at all.
    >
    > The only thing that can be gained is defaulting of the xhtml namespace
    > declarations and that can't be made to work in IE. As the message said
    > it is an intentional non-conformance by MS.
    >
    > The namespace Rec incidentally does advise against defaulting namespace
    > declarations. This also would fail with mozilla, for different reasons,
    > mozilla does not read external dtd files, so would never see the default
    > namespace declaration.
    >
    > Can't you modify your generation from the datatabase so that your top
    > level element has
    > xmlns="http://www.w3.org/199/xhtml"
    > which is all you need to ensure that unprefixed html elements are XHTML
    > and matched by your stylesheet.
    >
    >
    >
    > David


    i do not follow you there.

    My top level element has xmlns="http://www.w3.org/1999/xhtml"

    Here look at the xml:

    ===
    <?xml version="1.0" encoding="ISO-8859-1"?>

    <!DOCTYPE xc:content [
    <!ENTITY % xhtml PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    %xhtml;
    ]>

    <xc:xcontent xmlns:xc="http://www.wolterinkwebdesign.com/xml/xcontent" xmlns="http://www.w3.org/1999/xhtml" module="gastenboek">
    <xc:bericht>
    <xc:id>1</xc:id>
    <xc:naam type="string"><![CDATA[Tjerk Wolterink]]></xc:naam>
    <xc:email type="email"><![CDATA[]]></xc:email>
    <xc:rating type="option">
    <xc:empty/>
    </xc:rating>
    <xc:content type="text">
    Ik moet zeggen je hebt er een mooi werkje van gemaakt<br />
    Zeker dat xml buttontje onderin maakt het compleet
    </xc:content>
    </xc:bericht>
    </xc:xcontent>
    ===


    I do not have a DTD for the <xc: namespace, i'm planning to build a xsd for the xml format.
    But i do use :
    <!DOCTYPE xc:content [
    <!ENTITY % xhtml PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    %xhtml;
    ]>


    Because the <xc:content xml file can contain xhtml entities, if i do not add this doctype declaration
    then my xsl parser will complain (the xslt processor does not now &nbsp; therefore i have the doctype declaration).

    So what do you exactly mean, how can i solve this problem?
    Tjerk Wolterink, Dec 7, 2004
    #5
  6. Re: XML & MSIE: Use of default namespace declaration attribute inDTD not supported.

    In article <41b5e4bc$0$30706$>,
    Tjerk Wolterink <> wrote:

    >Because the <xc:content xml file can contain xhtml entities, if i do not
    >add this doctype declaration
    >then my xsl parser will complain (the xslt processor does not now &nbsp;
    >therefore i have the doctype declaration).


    You can just include the entity definition part of the DTD instead:

    <!ENTITY % HTMLlat1 PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN"
    "xhtml-lat1.ent">
    %HTMLlat1;

    <!ENTITY % HTMLsymbol PUBLIC "-//W3C//ENTITIES Symbols for XHTML//EN"
    "xhtml-symbol.ent">
    %HTMLsymbol;

    <!ENTITY % HTMLspecial PUBLIC "-//W3C//ENTITIES Special for XHTML//EN"
    "xhtml-special.ent">
    %HTMLspecial;

    -- Richard
    Richard Tobin, Dec 7, 2004
    #6
  7. Re: XML & MSIE: Use of default namespace declaration attribute in DTD not supported.


    >My top level element has xmlns="http://www.w3.org/1999/xhtml"


    so it has. Sorry.



    Because the <xc:content xml file can contain xhtml entities, if i do not add this doctype declaration
    then my xsl parser will complain (the xslt processor does not now &nbsp; therefore i have the doctype declaration).


    If you only need the entity definitions then you can just include those,
    you don't need the full XHTML dtd

    eg:

    <!DOCTYPE xc:content [
    <!ENTITY % HTMLlat1 PUBLIC
    "-//W3C//ENTITIES Latin 1 for XHTML//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">
    %HTMLlat1;

    <!ENTITY % HTMLsymbol PUBLIC
    "-//W3C//ENTITIES Symbols for XHTML//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent">
    %HTMLsymbol;

    <!ENTITY % HTMLspecial PUBLIC
    "-//W3C//ENTITIES Special for XHTML//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent">
    %HTMLspecial;
    ]>
    <xc:content...

    possibly replacing http://www.w3.org/TR/xhtml1/DTD/ by a URI to a local
    copy on your file system, to save hitting a remote server every time.

    Or as I say you can use a version of teh XHTMl DTD that works with IE, eg


    <!DOCTYPE xc:content SYSTEM "http://www.w3.org/Math/DTD/mathml2/xhtml-math11-f.dtd">"
    <xc:content...

    but that's a rather big DTD to download every time if you just want the
    HTMl entities.

    David
    David Carlisle, Dec 7, 2004
    #7
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Noah
    Replies:
    5
    Views:
    956
  2. Stefan Siegl
    Replies:
    1
    Views:
    503
    Kermit T Tensmeyer
    Jul 28, 2003
  3. Jason Heyes
    Replies:
    1
    Views:
    449
    Woebegone
    Nov 19, 2004
  4. Max
    Replies:
    2
    Views:
    478
    Joe Kesselman
    Aug 1, 2006
  5. dkmd_nielsen
    Replies:
    6
    Views:
    220
    Joel VanderWerf
    Nov 26, 2008
Loading...

Share This Page