I have SWFTools using Flowplayer as the default. I've tried finding wher this is set in the module code, but either it is not set explicitly or this is set in the flowplayer module or elsewhere. I apologize for the ambiguity, but I don't know where the code is that actually generates this markup. This is the generated HTML and error:
Line 198, Column 72: cannot generate system identifier for general entity "width".
…yer=flowplayer/FlowPlayerClassic.swf&width=480&height=390&config=%7B+%27video
✉
An entity reference was found in the document, but there is no reference by that name defined. Often this is caused by misspelling the reference name, unencoded ampersands, or by leaving off the trailing semicolon (;). The most common cause of this error is unencoded ampersands in URLs as described by the WDG in "Ampersands in URLs".
Entity references start with an ampersand (&) and end with a semicolon (;). If you want to use a literal ampersand in your document you must encode it as "&" (even inside URLs!). Be careful to end entity references with a semicolon or your entity reference may get interpreted in connection with the following text. Also keep in mind that named entity references are case-sensitive; &Aelig; and æ are different characters.
If this error appears in some markup generated by PHP's session handling code, this article has explanations and solutions to your problem.
Note that in most documents, errors related to entity references will trigger up to 5 separate messages from the Validator. Usually these will all disappear when the original problem is fixed
Comments
Comment #1
coderintherye commentedI found the code which can be changed in order to generate a closer to valid HTML:
Line 452 can be changed to this, which adds str_replace to put in the &
$html .= (($P['flashvars']) ? '<param name="FlashVars" value="'. str_replace('&', '&', $P['flashvars']) .'" />'."\n" : '') ;and Line 470 can be changed to this:
. (($P['flashvars']) ? ' FlashVars="'. str_replace('&', '&', $P['flashvars']) .'"' : '')However, when trying to validate, this still gives a whole bunch of errors that begin with "There is no attribute..." for example: Line 199, Column 203: there is no attribute "scale".
…ode="opaque" bgcolor="#FFFFFF" scale="showall" quality="medium" loop="false"
You have used the attribute named above in your document, but the document type you are using does not support that attribute for this element. This error is often caused by incorrect use of the "Strict" document type with a document that uses frames (e.g. you must use the "Transitional" document type to get the "target" attribute), or by using vendor proprietary extensions such as "marginheight" (this is usually fixed by using CSS to achieve the desired effect instead).
This error may also result if the element itself is not supported in the document type you are using, as an undefined element will have no supported attributes; in this case, see the element-undefined error message for further information.
How to fix: check the spelling and case of the element and attribute, (Remember XHTML is all lower-case) and/or check that they are both allowed in the chosen document type, and/or use CSS instead of this attribute. If you received this error when using the element to incorporate flash media in a Web page, see the FAQ item on valid flash.