Hej,
Jag undrar om man kan göra en radbrytning mitt i en tagg, de kan ju bli rätt långa ibland, speciellt meta-taggar med keywords.
Kan man tex skriva så här:
<meta name="keywords" content="keyword, keyword,
keyword, keyword, keyword" />
3 svar · 766 visningar · startad av pakmannen
Hej,
Jag undrar om man kan göra en radbrytning mitt i en tagg, de kan ju bli rätt långa ibland, speciellt meta-taggar med keywords.
Kan man tex skriva så här:
<meta name="keywords" content="keyword, keyword,
keyword, keyword, keyword" />
Hmm...
Let's kolla upp this in the XML-specifikationen ;)
Ett element: http://www.w3.org/TR/REC-xml/#dt-element
element ::= EmptyElemTag
| STag content ETag
En start-tagg: http://www.w3.org/TR/REC-xml/#NT-STag
STag ::= '<' Name (S Attribute)* S? '>'
mindre-än följt av ett namn och om man vill därefter noll eller flera mellanslagsseparerade attribut följt av ett större-än som kan (men inte behöver ha) ett mellanslag omededlbart före sig...
Ett attribut: http://www.w3.org/TR/REC-xml/#NT-Attribute
Attribute ::= Name Eq AttValue
Ett namn följt av ett likhetstecken följt av ett attributvärde...
Ett attributvärde: http://www.w3.org/TR/REC-xml/#NT-AttValue
AttValue ::= '"' ([^<&"] | Reference)* '"'
| "'" ([^<&'] | Reference)* "'"
En "dubbelfnutt" följt av noll eller flera "Reference (teckenreferenser)" som inte är något av '<' eller '&' eller "dubbelfnutt" följt av en "dubbelfnutt"...
Eller samma regel fast med "enkelfnuttar" - det går också bra
En "Reference" (teckenreferenser): http://www.w3.org/TR/REC-xml/#NT-Reference
Reference ::= EntityRef | CharRef
Entities är utanför denna fråga ;)
En "CharRef": http://www.w3.org/TR/REC-xml/#NT-CharRef
CharRef ::= '&#' [0-9]+ ';'
| '&#x' [0-9a-fA-F]+ ';'
Alltså ett antal tecken definierade antingen decimalt eller hexadecimalt...
Jaha - det där blev man ju kanske inte omedelbums så mycket klokare på...
Men
Characters referred to using character references MUST match the production for Char.
och Char ser ut såhär: http://www.w3.org/TR/REC-xml/#NT-Char
Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]
dvs tabb, radbrytning och vagnretur samt en massa Unicode-tecken (det noteras också att tecken ur en annan tackenuppsättning än Unicode måste accepteras om en sådan anges...)
Så - såvitt jag förstår av det här är det OK att ha med cr/lf (radbrtyning/vagnretur) i attributvärden enligt XML iallafall - och då är det det även i xhtml...
Slutligen - ett prov:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="sv" lang="sv">
<head>
<title>Testsida i XHTML</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
<meta name="keywords" content="keyword, keyword,
keyword, keyword, keyword" />
</head>
<body>
<div>Hej hopp - här kommer det ett elakt litet test ;)</div>
</body>
</html>
Kod: http://member.webforum.nu/2241/radbrutet_metataggvarde.html
Testa att validera denna: http://validator.w3.org/check?uri=http%3A//www.webforum.nu/member/jarvklo/radbrutet_metataggvarde.html
Hmm... det gick ju alldeles utmärkt ;)
En radbrytning är alltså likvärdigt med vilket mellanslag som helst i XML/xhtml (och det gäller HTML också om man kollar där med såvitt jag kan se ;) )
Frågan är väl sedan var sökmotorerna vill ha i form av mellanslag mellan värden förståss...
Vi kollar väl det också när vi ändå är i farten ;)
Hmm...
Motsägelsefull information där...
http://www.searchengineworld.com/design/metatags.htm anger att man "bör ha en metatagg per rad utan radbrytningar"...
HTML-4-specifikationen:http://www.w3.org/TR/REC-html40/struct/global.html#h-7.4.4.2
Nämner inget om radbrytningar och ger exempel på "meta keywords" både med och utan mellanslag mellan orden och kommatecknen (dvs både "a,b,c" och "a, b ,c" användes som exempel på keywords)...
Jaja... Slutsats av allt detta då:
"Får man" - Ja, tveklöst!
"Kan man" - Javisst, eftersom det är helt tillåtet ;) , men det är kanske inte helt klart om "alla sökmotorer" bryr sig om taggarna om man gör så (i den mån de överhuvudtaget bryr sig om keywords numera efter alla missbruk av dem - men det är en annan historia ;) )
Så varför inte prova ? :birp
Wow, tack för svaret. Ganska... fullständigt om man säger så.