validating quoted ampersands

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

  1. mouse

    mouse 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.
    mouse, Sep 23, 2006
    1. Advertisements

  2. mouse

    dfloss Guest

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

  3. Your ISP is wrong.
    Only if you are changing the data you want to pass to Count.cgi.
    No, your browser is capable of some degree of error correction.
    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, Sep 23, 2006
  4. mouse

    richard Guest

    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
  5. mouse

    cwdjrxyz Guest

    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

    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:


    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: .

    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
    1. Advertisements

Ask a Question

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

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.