Text logisch als Zahl auszeichnen
Deus Figendi
- html
0 johny70 Auge0 Deus Figendi
0 Encoder0 Auge
0 Beat0 Gunnar Bittersmann
Guten Morgen,
was bei GBO noch ein Witz ist stellt sich in einer Auszeichnungssprache wie (X)HTML vielleicht wirklich als Problem dar, zumindest bin ich gerade darauf gestoßen.
Die Frage dazwischen: Kann man Text als Zahl auszeichnen oder den Browser veranlassen eine Zahl "anders" (Tausenderpunkte, römisch....) darzustellen.
Konkret pflegte ich gerade einen Artikel eines Benutzers ins CMS ein und er hat römische Ziffern verwendet. Soweit okay. Was mich ein wenig störte ist, dass wahrscheinlich keine Software (Spider, Browser...) weiß dass das eine Zahl ist. Ich bin also auf der Suche nach
Einer Möglichkeit einen Text als Zahl auszuzeichnen, etwa so:
<numeric value="21">XXI</numeric>
<integer>1.297</integer>
und/oder
Einer Möglichkeit den Browser anzuweisen Zahlen anders an zu zeigen als sie im Quelltext stehen, etwa so:
<span style="numbers:roman;">21</span>
<span style="numeric-seperator:'.';">1297</span> (Anzeige: 1.297)
<span style="numeric-seperator:' ';">1297</span> (Anzeige: 1 297)
<span style="numeric-seperator:'´';">1297</span> (Anzeige: 1´297)
Oder sowas. Existiert soetwas? Wird so etwas existieren?
Vielen Dank
Moin allerseits,
Einer Möglichkeit einen Text als Zahl auszuzeichnen, etwa so:
<numeric value="21">XXI</numeric>
<integer>1.297</integer>
und/oder
Einer Möglichkeit den Browser anzuweisen Zahlen anders an zu zeigen als sie im Quelltext stehen, etwa so:
<span style="numbers:roman;">21</span>
<span style="numeric-seperator:'.';">1297</span> (Anzeige: 1.297)
<span style="numeric-seperator:' ';">1297</span> (Anzeige: 1 297)
<span style="numeric-seperator:'´';">1297</span> (Anzeige: 1´297)Oder sowas. Existiert soetwas? Wird so etwas existieren?
Meinen Kenntnissen von HTML nach existiert so etwas nicht. Wenn ich mich nicht total täusche, könntest du so etwas mit XML, XSLT oder XHTML erreichen. Stünde ich vor dem Problem, würde ich prompt PHP verwenden. Bastell dir eine entsprechende Funktion zusammen, die dir das dann HTML-richtig ausgibt.
Wer es besser weiß, belehre mich bitte eines anderen.
Grüße, JN
Hallo
»» Einer Möglichkeit einen Text als Zahl auszuzeichnen, etwa so:
»» <numeric value="21">XXI</numeric>
»» <integer>1.297</integer>
»»
»» Oder sowas. Existiert soetwas? Wird so etwas existieren?
Meinen Kenntnissen von HTML nach existiert so etwas nicht. Wenn ich mich nicht total täusche, könntest du so etwas mit XML, XSLT oder XHTML erreichen.
Was kannst du mit XHTML erreichen, was mit HTML nicht geht?
Stünde ich vor dem Problem, würde ich prompt PHP verwenden. Bastell dir eine entsprechende Funktion zusammen, die dir das dann HTML-richtig ausgibt.
Das HTML, dass das gewünschte Verhalten nicht möglich macht, soll jetzt, mit PHP erzeugt, wie gewünscht funktionieren?
Wer es besser weiß, belehre mich bitte eines anderen.
Naja, zumindest infrage gestellt.
Tschö, Auge
Stünde ich vor dem Problem, würde ich prompt PHP verwenden. Bastell dir eine entsprechende Funktion zusammen, die dir das dann HTML-richtig ausgibt.
Ah okay, du hast mein "Problem" (es ist ja nicht mal konkret, sondern eher hypothetischer Natur) missverstanden bzw. habe ich mich nicht eindeutig ausgedrückt.
Mit PHP bekomme ich die gleichen Sorgen, weil dies ein Auszeichnungs-Problem ist. Ich _will_ ja, dass es als römische Ziffer dargestellt wird, aber ich will auch, dass Maschinen es als Zahlenwert erkennen. Man kann selbstverständlich darauf hoffen, dass die Maschinen schlau genug sind ein paar groß geschriebene Buchstaben, die nur aus den üblichen Verdächtigen (IVXCM und die die ich gerade nicht mehr weiß) bestehen richtig zu raten, aber das ist ja schon eine unsichere Kiste.
Mit PHP kann ich auch nur das erzeugen, was ich mit (X)HTML auch kann, Markup (stimmt natürlich nicht ganz, ich kann ja jeden MIME-Type erzeugen, aber... naja).
Was ich suche oder anstoße ist also vielmehr eine Lösung binnen des Markups. Wenn ich dazu die Sprache (also die Auszeichnungssprache) wechseln müsste ginge das auch (z.B. MathML oder so) aber im Wesentlichen ist es eben ein Konflikt zwischen Darstellung und Bedeutung.
Was mich ein wenig störte ist, dass wahrscheinlich keine Software (Spider, Browser...) weiß dass das eine Zahl ist.
Wenn ich eine römische Zahl in einer Seite sehe, würde ich nicht auf die Idee kommen dass die in einer Suchmaschine erscheint, wenn ich unsere Zahlenschreibweise eingebe.
Oder anders gesagt, wenn da IV steht, wäre es doch nur logisch wenn eine Suchmaschine hier auch IV indiziert?
Was ist denn der Hintergrund bei der Sache?
Hallo
Oder anders gesagt, wenn da IV steht, wäre es doch nur logisch wenn eine Suchmaschine hier auch IV indiziert?
Dennoch würde, z.B. für eine Lesesoftware wünschenswert sein, dass sie "4" ausgibt und nicht "ievau". Ebenso wäre es eventuell wünschenswert, wenn diese Info z.B. mit JavaScript weiterverarbeitet werden könnte, wozu dann notwendigerweise bekannt sein müsste, dass es sich um eine Zahl handelt.
@Deus Figendi: Ich würde die Zahl in ein <span> [1] setzen und die Übersetzung in das title-Attribut setzen. Ganz frei nach den Microformats.
[1] <span> deshalb, weil es generisch ist und man damit zwar evtl. nicht optimal, aber auch nicht falsch liegt. Vielleicht fällt ja jemand anderem ein besser geeignetes Element ein.
Tschö, Auge
@Deus Figendi: Ich würde die Zahl in ein <span> [1] setzen und die Übersetzung in das title-Attribut setzen. Ganz frei nach den Microformats.
In der Tat, sowas hatte ich auch im Auge, wobei das alt-Attribut eigentlich angebrachter wäre, denn es ist ja eine _alternative_ Darstellung des gleichen Inhalts, während title ja eher eine Meta-Information über die Art des Inhalts darstellt.
<h3><span title="Kapitelnummer">IV</span> Name des vierten Kapitels</h3>
Wäre also eigentlich zutreffender.
Ich wollte dann nachsehen ob HTML5 oder XHTML2 das alt-Attribut in anderen Elementen als <img> erlauben (wie es mit href geschieht) und entdeckte auf dieser Suche in der HTML5-Spezifikation immerhin das lang-Attribut, was ja auch zumindest den richtigen Weg weisen würde, denn ich könnte angeben "das da ist römisch".
Nun ist "römisch" keine Sprache, also suchte ich nach "Latein" und musste leider feststellen... die zuständigen ISOs kennen Latein (oder römisch) fast nie als Sprache. Nur in IS0 639-2 konnte ich "latin" als [lat] finden (bzw. in 639-1 als [la]) die Nachfolger (-3 und -5) kennen diese Sprache nicht mehr :-(
Denkbar wäre noch tatsächlich ein Bild zu nehmen...
<img alt="4" src="./images/dynamic/roman.php?val=4" />
<img alt="8" src="./images/roemische_Zahlen/XIII.png" />
oder so... aber das ist natürlich auch unbefriedigend.
@@Deus Figendi:
nuqneH
[…] das lang-Attribut, was ja auch zumindest den richtigen Weg weisen würde, denn ich könnte angeben "das da ist römisch".
Nein. @lang (@xml:lang) gibt die Textsprache an, nicht die Darstellung von Zahlen.
Wenn für Zahlen eine @lang-Angabe sinnvoll ist, dann "zxx". [QA-NO-LANGUAGE]
Qapla'
Hallo
»» @Deus Figendi: Ich würde die Zahl in ein <span> [1] setzen und die Übersetzung in das title-Attribut setzen. Ganz frei nach den Microformats.
In der Tat, sowas hatte ich auch im Auge, wobei das alt-Attribut eigentlich angebrachter wäre, denn es ist ja eine _alternative_ Darstellung des gleichen Inhalts, während title ja eher eine Meta-Information über die Art des Inhalts darstellt.
Nö, beschränke die möglichen Einsatzzwecke bitte nicht so sehr. Bei Abkürzungen (Beispiel: <abbr title="zum Beispiel" lang="de">z. B.</abbr>
) macht title das zu meinem Beispiel mit den römischen Zahlen vergleichbare.
Denkbar wäre noch tatsächlich ein Bild zu nehmen...
<img alt="4" src="./images/dynamic/roman.php?val=4" />
<img alt="8" src="./images/roemische_Zahlen/XIII.png" />
> oder so... aber das ist natürlich auch unbefriedigend.
MMn ist das in enormem Ausmaß unbefriedigend. Spätestens der Anwender, der keine Bilder anzeigt/anzeigen lassen kann, wird nichts von deinem Einsatz römischer Zahlen haben, denn er wird immer nur die arabischen Ziffern sehen.
Tschö, Auge
--
Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
Terry Pratchett, "Wachen! Wachen!"
[Veranstaltungsdatenbank Vdb 0.3](http://termindbase.auge8472.de/)
Ich weise dich schlicht auf Unicode hin.
Für irgend etwas muss das ja schliesslich gut sein.
mfg Beat
Ich weise dich schlicht auf Unicode hin.
Für irgend etwas muss das ja schliesslich gut sein.mfg Beat
Äh ich weiß nicht in wiefern mir Unicode da helfen kann. Könntest du mir auf die Sprünge helfen welches Unicode du meinst und welchen Bereich?
Ich habe gerade nachgeschlagen, es wäre denkbar dass du dich auf Counting Rod Numerals beziehst. Das zumindest hätte irgendwas damit zu tun und ist durchaus interessant, wenn man eine alternative Zahlendarstellung sucht, die Maschinen eigentlich müssten lesen können...
Aber dennoch: Was hat Unicode damit zu tun römische Ziffern für Maschinen lesbar zu machen? XXI kann ich auch mit ANSI schreiben ^^
@@Deus Figendi:
nuqneH
<numeric value="21">XXI</numeric>
HTML 5: <span data-value="21">XXI</span>
[HTML5 §3.3.3.8]
Qapla'
PS: Warum nur die halbe Antwort auf die Frage nach dem Leben, dem Universum und allem?
HTML 5:
<span data-value="21">XXI</span>
[HTML5 §3.3.3.8]
Ja, das ist ein toller Ansatz, nimm bitte meine Begeisterung entgegen.
PS: Warum nur die halbe Antwort auf die Frage nach dem Leben, dem Universum und allem?
Da es noch niemandem gelang die ganze Frage zu stellen dachte ich, dass die halbe Frage vielleicht eine weniger schwierig zu stellende sei.