webForumDet fria alternativet

Radbrytning i kod?

3 svar · 766 visningar · startad av pakmannen

pakmannenMedlem sedan dec. 2002227 inlägg
#1

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" />

jarvkloMedlem sedan juli 20013 378 inlägg
#2

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	   ::=   	'&amp;#' [0-9]+ ';'
			| '&amp;#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

pakmannenMedlem sedan dec. 2002227 inlägg
#3

Wow, tack för svaret. Ganska... fullständigt om man säger så.

TypeMedlem sedan mars 20021 239 inlägg
#4

Jag tycker vi utnämner detta till veckans svar....

*hejjar* :birp

127 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)