Xalan - empty element

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Albert Greinöcker

    Xalan - empty element

    Hi NG,

    how can I force Xalan (Java) not to create an empty element when there is
    nothing between begin and end tag, which means that e.g.

    <myTag></myTag>

    ....does not become...

    <myTag/>

    ?

    thx,
    Albert


  • Soren Kuula

    #2
    Re: Xalan - empty element

    Albert Greinöcker wrote:
    Hi NG,
    >
    how can I force Xalan (Java) not to create an empty element when there is
    nothing between begin and end tag, which means that e.g.
    >
    <myTag></myTag>
    >
    ...does not become...
    >
    <myTag/ >
    They are both exactly the same; an empty element. the string
    representations (serializations ) are different; the meaning is the same.

    Maybe there is an option in the class you use for serializing. Anyway,
    that is where it happens.

    Søren

    Comment

    • Albert Greinöcker

      #3
      Re: Xalan - empty element

      Hi Soren,

      yes, I agree, it should be, but I observed that some browsers (particularly
      the IE 6) do have problems with some empty tags (in case of <script/>,
      <textarea/>)

      Albert


      Comment

      • Joe Kesselman

        #4
        Re: Xalan - empty element

        Albert Greinöcker wrote:
        how can I force Xalan (Java) not to create an empty element when there is
        nothing between begin and end tag, which means that e.g.
        <myTag></myTag>
        ...does not become...
        <myTag/>
        If it really matters to you, you can try to find or write a SAX
        serializer that handles this as a special case, ask Xalan to output SAX,
        and plug the two together. Or adapt Xalan's existing serializer code;
        one of the advantages of open-source projects is that you can alter them
        and/or use them as a starting point for specialized tools. (You might
        want to compare the XML and HTML serializers; I think the latter has
        some similar tweaks.)

        But personally, I would suggest you fix whatever downstream tool isn't
        correctly handling <myTag/>. XML considers the two forms precisely
        equivalent to each other, so you're asking for a difference that should
        make no difference.

        (Xalan has its own mailing list, which is generally a better place to
        ask questions which are specific to that processor. But this one's a
        general enough issue that I thought it was worth answering here.)




        --
        () ASCII Ribbon Campaign | Joe Kesselman
        /\ Stamp out HTML e-mail! | System architexture and kinetic poetry

        Comment

        • Martin Honnen

          #5
          Re: Xalan - empty element



          Albert Greinöcker wrote:

          yes, I agree, it should be, but I observed that some browsers (particularly
          the IE 6) do have problems with some empty tags (in case of <script/>,
          <textarea/>)
          Well if you send text/html to IE then it parses according to SGML/HTML
          rules and not XML rules and HTML mandates <script
          type="text/javascript"></scriptand not <script/or </script />.
          If you send text/xml or application/xml to IE then it parses with MSXML
          as its XML parser and I am sure that does not have any problems with
          <script/or <textarea/>, only it only sees those as XML elements
          without any meaning and not something to render.

          If you use XSLT to transform XML to HTML then make sure you use e.g.
          <xsl:output method="html"/>
          and use HTML elements like e.g. script in no namespace, that way they
          will end up as <script></scriptwhen the XSLT processor serializes the
          XSLT result tree.

          --

          Martin Honnen

          Comment

          • Joe Kesselman

            #6
            Re: Xalan - empty element

            Martin Honnen wrote:
            If you use XSLT to transform XML to HTML then make sure you use e.g.
            <xsl:output method="html"/>
            Absolutely. Or generate XHTML and make sure the downstream tool supports
            that newer syntax.


            --
            () ASCII Ribbon Campaign | Joe Kesselman
            /\ Stamp out HTML e-mail! | System architexture and kinetic poetry

            Comment

            • Peter Flynn

              #7
              Re: Xalan - empty element

              Albert Greinöcker wrote:
              Hi NG,
              >
              how can I force Xalan (Java) not to create an empty element when there is
              nothing between begin and end tag, which means that e.g.
              >
              <myTag></myTag>
              >
              ...does not become...
              >
              <myTag/>
              Why? They are both the same in effect (perhaps not in intention :-)

              ///Peter

              Comment

              • Peter Flynn

                #8
                Re: Xalan - empty element

                Albert Greinöcker wrote:
                Hi Soren,
                >
                yes, I agree, it should be, but I observed that some browsers (particularly
                the IE 6) do have problems with some empty tags (in case of <script/>,
                <textarea/>)
                Don't use broken software for XML.

                ///Peter
                --
                XML FAQ: http://xml.silmaril.ie/

                Comment

                Working...