validating quoted ampersands

Discussion in 'HTML' started by mouse@house.spam, Sep 23, 2006.

  1. Guest

    I have a reference to a web counter in my page, which according to my
    ISP should look like;

    <IMG SRC="/cgi-sys/Count.cgi?df=sigma-index.html&st=1000">

    However the W3 validator wails about the ampersand '&' before the st.
    It insists the line must look like;

    <img src="/cgi-sys/Count.cgi?df=c-compiler-com-root&amp;ft=0&amp;dd=D"
    title="Counter" alt="Counter">

    in other words we must use &amp; instead of just &

    Is this how valid HTML must specify an ampersand? Both versions seem
    valid in my web browser. The &amp; version looks a bit strange and I
    am surprised that W3 validator regards it as necessary.
    , Sep 23, 2006
    #1
    1. Advertising

  2. dfloss Guest

    wrote:
    > I have a reference to a web counter in my page, which according to my
    > ISP should look like;
    >
    > <IMG SRC="/cgi-sys/Count.cgi?df=sigma-index.html&st=1000">
    >
    > However the W3 validator wails about the ampersand '&' before the st.
    > It insists the line must look like;
    >
    > <img src="/cgi-sys/Count.cgi?df=c-compiler-com-root&amp;ft=0&amp;dd=D"
    > title="Counter" alt="Counter">
    >
    > in other words we must use &amp; instead of just &
    >
    > Is this how valid HTML must specify an ampersand? Both versions seem
    > valid in my web browser. The &amp; version looks a bit strange and I
    > am surprised that W3 validator regards it as necessary.


    & is a very dubious html delimiter. &amp; is how it should be done
    dfloss, Sep 23, 2006
    #2
    1. Advertising

  3. wrote:

    > I have a reference to a web counter in my page, which according to my
    > ISP should look like;
    >
    > <IMG SRC="/cgi-sys/Count.cgi?df=sigma-index.html&st=1000">


    Your ISP is wrong.

    > However the W3 validator wails about the ampersand '&' before the st.
    > It insists the line must look like;
    >
    > <img src="/cgi-sys/Count.cgi?df=c-compiler-com-root&amp;ft=0&amp;dd=D"
    > title="Counter" alt="Counter">


    Only if you are changing the data you want to pass to Count.cgi.

    > in other words we must use &amp; instead of just &


    Yes

    > Is this how valid HTML must specify an ampersand?


    Yes

    > Both versions seem valid in my web browser.


    No, your browser is capable of some degree of error correction.

    > The &amp; version looks a bit strange and I am surprised that W3 validator
    > regards it as necessary.


    What if, for example, the piece of data was called "copy" instead of "st"?
    The spec has to have come way of distingushing between an ampersand
    followed by the word "copy" and the entity meaning "The copyright symbol".

    (Follow-ups set)

    --
    David Dorward <http://blog.dorward.me.uk/> <http://dorward.me.uk/>
    Home is where the ~/.bashrc is
    David Dorward, Sep 23, 2006
    #3
  4. richard Guest

    <> wrote in message
    news:...
    >I have a reference to a web counter in my page, which according to my
    > ISP should look like;
    >
    > <IMG SRC="/cgi-sys/Count.cgi?df=sigma-index.html&st=1000">
    >
    > However the W3 validator wails about the ampersand '&' before the st.
    > It insists the line must look like;
    >
    > <img src="/cgi-sys/Count.cgi?df=c-compiler-com-root&amp;ft=0&amp;dd=D"
    > title="Counter" alt="Counter">
    >
    > in other words we must use &amp; instead of just &
    >
    > Is this how valid HTML must specify an ampersand? Both versions seem
    > valid in my web browser. The &amp; version looks a bit strange and I
    > am surprised that W3 validator regards it as necessary.


    Web counter?
    I had one with a free service once. Got the same results from the validator.
    Included the "amp" and all was happy.
    It really is much nicer to have a host that has all that stuff built in.
    richard, Sep 24, 2006
    #4
  5. cwdjrxyz Guest

    wrote:
    > I have a reference to a web counter in my page, which according to my
    > ISP should look like;
    >
    > <IMG SRC="/cgi-sys/Count.cgi?df=sigma-index.html&st=1000">
    >
    > However the W3 validator wails about the ampersand '&' before the st.
    > It insists the line must look like;
    >
    > <img src="/cgi-sys/Count.cgi?df=c-compiler-com-root&amp;ft=0&amp;dd=D"
    > title="Counter" alt="Counter">
    >
    > in other words we must use &amp; instead of just &
    >
    > Is this how valid HTML must specify an ampersand? Both versions seem
    > valid in my web browser. The &amp; version looks a bit strange and I
    > am surprised that W3 validator regards it as necessary.


    If you click the "Help and FAQ" tab at the W3C validator, you get a
    reference to a page that states:

    _______________________________________________________________________


    Another common error occurs when including a URL which contains an
    ampersand ("&"):

    <!-- This is invalid! --> <a
    href="foo.cgi?chapter=1&section=2&copy=3&lang=en">...</a>

    This example generates an error for "unknown entity section" because
    the "&" is assumed to begin an entity reference. Browsers often recover
    safely from this kind of error, but real problems do occur in some
    cases. In this example, many browsers correctly convert &copy=3 to
    ©=3, which may cause the link to fail. Since &lang; is the HTML entity
    for the left-pointing angle bracket, some browsers also convert
    &lang=en to <=en. And one old browser even finds the entity &sect;,
    converting &section=2 to §ion=2.

    To avoid problems with both validators and browsers, always use &amp;
    in place of & when writing URLs in HTML:

    <a
    href="foo.cgi?chapter=1&amp;section=2&amp;copy=3&amp;lang=en">...</a>

    Note that replacing & with &amp; is only done when writing the URL in
    HTML, where "&" is a special character (along with "<" and ">"). When
    writing the same URL in a plain text email message or in the location
    bar of your browser, you would use "&" and not "&amp;". With HTML, the
    browser translates "&amp;" to "&" so the Web server would only see "&"
    and not "&amp;" in the query string of the request.

    ________________________________________________________________________

    The url of the above is:
    http://www.htmlhelp.com/tools/validator/problems.html#amp .

    If you do not agree with the above, go to the W3C validator and click
    the "feedback" tab. I am only the messenger :) . There likely is
    discussion of this in the official W3C specifications for html, but I
    do not have time to check this tome at the moment.
    cwdjrxyz, Sep 24, 2006
    #5
    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. Howard, Brett
    Replies:
    1
    Views:
    403
    Prasad
    Jul 12, 2003
  2. darrel
    Replies:
    14
    Views:
    26,341
    Oenone
    Jun 14, 2005
  3. johkar
    Replies:
    0
    Views:
    696
    johkar
    Feb 25, 2006
  4. SDM
    Replies:
    2
    Views:
    548
  5. Andy Dingley
    Replies:
    1
    Views:
    350
    Bjoern Hoehrmann
    Jun 10, 2004
Loading...

Share This Page