Märka upp text som 'inget språk'

Fråga

Hur använder jag språkuppmärkning av innehåll i HTML eller XML när jag inte vet vilket språk det är uttryckt i, eller när innehåller inte är uttryckt i språk?

När du vet vilket naturligt språk som innehåll är uttryckt i, så bör du alltid ange detta, för innehåll i HTML eller något format baserat på XML, så att tillämpningar som talbaserade webbläsare, formatmallar och liknande kan hantera innehållet på ett lämpligt sätt. I XML-baserade format använder du vanligtvis attributet xml:lang, och i HTML attributet lang. (Läs i Working with language in HTML, för att få mer information om språkuppmärkning i HTML.)

Antag att du har en viss textmassa som inte är uttryckt i något naturligt språk, med innehåll bestående av artikelnummer, illustrationer av binär data, etc. Hur kan du ange att detta inte är uttryckt i något speciellt språk? Eller om du har hämtat en textmassa från en databas, och du inte får någon information om använt språk?

När textuellt innehåll inte är språkligt formulerat

Använd märkningen (subtag) zxx när du vet att textmassan inte är formulerad i ett naturligt språk.

Detta är tillämpbart på textinnehåll som ger artikelnummer, illustrationer av binära data, etc. Definitionen av zxx i IANA Language Subtag Registry beskriver detta som 'inget språkligt innehåll'.

Till exempel:

<p>Här är en lista av artikelnummer: <span lang="zxx">9RUI34 8XOS12 3TYY85</span>.</p>

När man inte kan bestämma språk

I HTML ska man använda lang="". Om du använder XML och om det format du använder stöder den, så ska du använda xml:lang="", annars använder du xml:lang="und".

Dessa värden anger att vi, av något skäl, inte kan fastställa vilket språk som användes, eller att innehållstexten inte är formulerad i ett naturligt språk. Du kan till exempel använda det tomma attributvärdet om databasinnehåll inkluderas i ett dokument och databasen inte ger information om språk, och om du inte med säkerhet kan avgöra vilket språk som används. Med denna ansats förhindrar du att en språkangivelse som deklareras högre upp i elementhierarkin också kommer att påverka den inkluderade texten.

Men du bör bara, för en textmassa, ange att språket är obestämt, om du inte kan avstå från att ange språk. I praktiken betyder detta att du bara skall använda uppmärkning enligt ovan om det språkligt obestämda textinnehållet förekommer i ett omgivande textinnehåll som har blivit språkmärkt på något sätt, eller om språkangivelse krävs av det format du använder.

Fördjupad information

Implikationer för XHTML 1.0

Existerande webbsidor som använder XHTML 1.0, och som inte kan uppdateras till HTML5 eller XHTML5, bör använda xml:lang="und" om det finns ett behov av att faktiskt ange att något visst textinnehåll i ett dokument inte är språkligt bestämt, eftersom xml:lang="" inte är tillåtet i XHTML 1.0. I de sällsynta fall att hela dokumentets innehåll är uttryckt i något okänt eller odefinierat språk, så är det bättre att inte ange något språk för dokumentet som helhet.

Vid användning av XML-schema

xml:lang="" fungerar bara om schemat som beskriver ditt dokuments format tillåter en tom textsträng som värde för xml:lang. Till exempel kan man inte använda tomma strängen i XHTML 1.0, eftersom DTD:n för XHTML 1.0 definierar xml:lang på ett sätt som gör att en tom sträng som värde för attributet xml:lang inte tillåts.

För de som vet hur DTD:er och andra scheman fungerar: attributet xml:lang måste, i XML-scheman, ha värde av typen NMTOKEN, så tomma strängar är inte giltiga. Om du definierar en DTD för XML, deklarera då xml:lang som CDATA, så att tomma strängar tillåts som attributvärden. Om du använder XML-scheman, använd XML-schemadokumentet som XML-namnrymd.

Martin Dürst påpekar att du kan omdefiniera XHTML-formatet inne i dokument, för att skapa en giltig XHTML-sida innehållande lang="" eller xml:lang="". Detta bör dock inte användas i någon större omfattning, eftersom sådana dokument i en strikt mening inte är giltiga sidor i XHTML 1.0.

Nyttig information

Detta är en sammanfattning av en diskussion i en e-post-tråd på www-international@w3.org, och av en efterföljande diskussion av samma idéer. Ett flertal personer har bidragit till dessa diskussioner.