juergenl
Goto Top

Herstellung eines Telefonbuchs für die Fritz!Box

Hallo in die Runde,

ich hätte gerne Euren Rat bei folgender Aufgabenstellung:

Die AVM-Fritz!Box (mit heutigem OS) erwartet für den Import eines - überarbeiteten oder neu erstellten - 'Telefonbuches' eine Datei im Format 'XML'.

( - früher konnte man diese Aufgabe recht einfach mit Hilfe es "Fritz!Box-Monitors" lösen. Leider wird dieser von AVM nicht mehr unterstützt.)

Ich suche nun ein Tool, vielleicht sogar einen einschlägigen Editor, mit dessen Hilfe man diese für die Fritz!Box strukturierte XML-Datei aus einer vorliegenden Text-Datei (im weitesten Sinne ..) herstellen kann.

Gewisse einmalige Handarbeit, etwa die Erstellung des einheitlichen Datei-Headers, würde ich dabei gerne in Kauf nehmen.

Allerdings scheue ich die lästige, vor allem fehlerträchtige Erzeugung der XML-Strukturen für jeden einzelnen der unter Umständen zahlreichen Datensätze.

Möglicherweise hat jemand aus dieser Runde diese Aufgabe längst zufriedenstellen gelöst ?

Danke im Voraus für Eure Vorschläge!

Mit freundlichen Grüßen
Jürgen

Content-Key: 208836

Url: https://administrator.de/contentid/208836

Printed on: April 19, 2024 at 23:04 o'clock

Member: rubberman
rubberman Jun 29, 2013 at 09:59:54 (UTC)
Goto Top
Hallo Jürgen,

das ist sicher kein unlösbares Problem. Ist dir bekannt wie der Aufbau einer solchen XML Datei auszusehen hat? Hast du evtl. ein Beispiel? Das würde in jedem Fall schon mal weiterhelfen einen solchen Code zu schreiben.
Weiterhin: Hast du dir Gedanken darüber gemacht in welcher Form die Daten in deiner Textdatei vorliegen werden? Das ist natürlich ebenso wichtig zu wissen, anderenfalls kann man kaum einen Algorithmus bauen um diese auszulesen.

Grüße
rubberman
Member: cyberjunkie
cyberjunkie Jun 29, 2013 at 12:03:14 (UTC)
Goto Top
Hallo Jürgen,
die Boxen können auch mit den Google Kontakten arbeiten. Oder ist das nicht akzeptabel?
TXT zu CSV und in die Google Kontakte importieren. Google Kontakte in FritzBox einbinden.

Gruß
Member: Juergenl
Juergenl Jun 29, 2013 at 12:19:07 (UTC)
Goto Top
Hallo rubberman,

natürlich kenne ich das von Fritz! erwartete Eingangs-Format des Telefonbuchs:

- dies geht ja aus der der XML-Datei - aus der Sicherung enes vorhandenen Fritz!-Telefonbuches - hervor,

Das Quell-Format meines Telefonbuches:-

- Anzahl der Datenfelder pro Datensatz, Art des Delimitors - kann ich selber bestimmen. ...

Eingangs- wie Ausgangs-Parameter sind also bekannt.

Lediglich die XML-"Schlüsselworte" samt deren Struktur sind mit konventionellen Mitteln schwierig herzustellen ..

Beste Grüße
Jürgen
Member: falscher-sperrstatus
falscher-sperrstatus Jun 29, 2013 at 12:44:10 (UTC)
Goto Top
Warum sollten Sie mit konventionellen Mitteln schwer herzustellen sein?

Du definierst den Kopf, schreibst dann eine Schleife mit dem einlesen der Daten, solange noch ein Datensatz kommt pflegst du diesen entsprechend der Konvnetion ein und packst am Ende noch den Fuß rein, das schreibst du in die XML Datei, welche du importierst.

Grüße
Member: rubberman
rubberman Jun 29, 2013 at 12:47:57 (UTC)
Goto Top
Hallo Jürgen.

Zitat von @Juergenl:
natürlich kenne ich das von Fritz! erwartete Eingangs-Format des Telefonbuchs
Schön. Ich kenne es nicht, somit kann ich nicht helfen. Wäre schon sinnvoll wenn du ein paar Informationen mehr geben könntest. Das war der eigentliche Sinn meiner Nachfrage.

Grüße
rubberman
Member: colinardo
colinardo Jun 29, 2013 updated at 14:05:15 (UTC)
Goto Top
Hallo Jürgen,
die Arbeit hat sich schon mal jemand gemacht und daraus ein Tool gestrickt:
http://software.nv-systems.net/ccw
Grüsse Uwe
Member: Juergenl
Juergenl Jul 01, 2013 at 06:32:17 (UTC)
Goto Top
Hallo Freunde,

habt besten Dank für Eure diversen Lösungsansätze! ( - dazu muß ich nachträglich bekennen, daß ich leider keine praktische Programmiererfahrung - weder in 'C' noch in HTML - besitze. Auch diese Struktur der XML-Datei - als Export aus der Fritz!Box - ist mir jetzt erstmalig vor die Flinte gekommen: "Selber schreiben" wäre also leider nichts geworden ... )

Größten Erfolg verspricht das Tool zur Formatumwandlung, das colinardo empfohlen hat: Danke Uwe! Mit dessen praktischer Umsetzung gibt es noch ein paar kleinere Lücken. Die bekomme ich hoffentlich aber im direkten Kontakt mit dem Autor geschlossen.

Danke noch einmal und freundliche Grüße
Jürgen
Member: rubberman
rubberman Jul 01, 2013 at 17:42:30 (UTC)
Goto Top
Hallo Jürgen.

"Selber schreiben" wäre also leider nichts geworden ...
Mit entsprechend aussagekräftigem Input deinerseits hätte ich dir sicher ein Script (vermutlich <100 Zeilen Code) zusammen geschrieben. Da braucht es weder C und schon gar kein HTML. Ein simples VBScript bietet den nötigen XML Support.

Grüße
rubberman
Member: Juergenl
Juergenl Jul 02, 2013 at 06:08:16 (UTC)
Goto Top
Halllo rubberman, - und Dank für Deine Mühe!

DAS liest sich in der Tat sehr interessant: In VB habe ich zwar auch keine Praxis, aber einen solchen Umfang würde ich mit meiner Script-Erfahrung aus einer anderen Branche sicher überschauen und beherrschen. Mich interessiert also sehr, wie man so eine Aufgabe damit angeht.

Ich habe soeben also - etwas mühsam - den ersten und den letzten Datensatz der XML-Datei 'Telefonbuch' in eine PDF-Datei übertragen. Wie kann ich Dir diese am besten übermitteln ? ( ... es ist sicher nicht so glücklich, den Ausschnitt hierhin zu kopieren. Leider habe ich auch vergessen, ob unnd ggf. wie man hier ein Datei-Attach anlegt.)

Ich würde mich also freuen, wenn Du Dich noch einmal meldest.

Beste Grüße
Jürgen
Member: rubberman
rubberman Jul 02, 2013 at 07:31:45 (UTC)
Goto Top
Hallo Jürgen,

bin auf Arbeit und werde erst heute Abend dazu kommen.
Kopiere die entsprechenden Passagen zwischen <code> </code> Tags, dann behalten sie ihre Formatierung und du brauchst kein PDF.
Vergiss nicht das gleiche mit deiner Text-/CSV Datei zu tun, die als Eingangsformat benötigt wird, bzw lege zumindest die Datenfelder fest, die von dir benötigt werden.

Grüße
rubberman
Member: colinardo
colinardo Jul 02, 2013 updated at 19:47:53 (UTC)
Goto Top
Hallo Jürgen,
hab da was für dich.
Wenn deine CSV-Datei mit den Kontakten wie folgt aufgebaut ist:
back-to-topCSV-Datei
realName;home;work;mobile;fax_work;
Herbert Mustermann;099929929;024334554345;0151993885;02235235;
Sepp Meier;0558452;;;;
Sabine Mustermann;1235465;11111;44444;;
kannst du mit diesem VBS eine Fritzbox kompatible XML-Datei erstellen, die du dann importieren kannst:
(In Zeile 1 und 2 noch die Pfade zu den Dateien angeben)
back-to-topVBS-Code
CSVFILE = "C:\input.csv"  
XMLPATH = "C:\phonebook.xml"  
strXMLStart = "<?xml version=""1.0"" encoding=""iso-8859-1""?><phonebooks><phonebook>"  
strXMLEnd = "</phonebook></phonebooks>"  
Const ForReading = 1
Const ForWriting = 2
Set objFSO = CreateObject("Scripting.FileSystemObject")  

uniqueID = 0
allContacts = ""  
Set objCSV = objFSO.OpenTextFile(CSVFILE, ForReading)
header = objCSV.ReadLine
Do Until objCSV.AtEndOfStream
    strNextLine = objCSV.Readline
    If strNextLine <> "" Then  
    	arrMapping = Split(strNextLine , ";")  
  		realName = Trim(arrMapping(0))
  		home = Trim(arrMapping(1))
  		work = Trim(arrMapping(2))
  		mobile = Trim(arrMapping(3))
  		fax_work = Trim(arrMapping(4))
  		contactItemNumbers = ""  
  		numberCounter = 0
  		If home <> "" Then  
  			contactItemNumbers = "<number type=""home"" prio=""0"" id=""" & numberCounter & """>" & home & "</number>"  
  			numberCounter = numberCounter + 1
  		End If
  		If work <> "" Then  
  			contactItemNumbers = contactItemNumbers & "<number type=""work"" prio=""0"" id=""" & numberCounter & """>" & work & "</number>"  
  			numberCounter = numberCounter + 1
  		End If
  		If mobile <> "" Then  
  			contactItemNumbers = contactItemNumbers & "<number type=""mobile"" prio=""0"" id=""" & numberCounter & """>" & mobile & "</number>"  
  			numberCounter = numberCounter + 1
  		End If
  		If fax_work <> "" Then  
  			contactItemNumbers = contactItemNumbers & "<number type=""fax_work"" prio=""0"" id=""" & numberCounter & """>" & fax_work & "</number>"  
  			numberCounter = numberCounter + 1
  		End If
  		ticks = DateDiff("s","1/1/1970 12:00:00 AM",Now)  
  		contactItemPart1 = "<contact><category>0</category><person><realName>" & realName & "</realName></person><telephony nid=""" & numberCounter & """>"  
  		contactItemPart2 = contactItemNumbers
  		contactItemPart3 = "</telephony><services /><setup /><mod_time>" & ticks & "</mod_time><uniqueid>" & uniqueID & "</uniqueid></contact>"  
  		allContacts = allContacts & contactItemPart1 & contactItemPart2 & contactItemPart3
  		uniqueID = uniqueID + 1 
    End if
Loop
objCSV.Close
Set objXMLFile = objFSO.OpenTextFile(XMLPATH,ForWriting, True)
objXMLFile.Write strXMLStart & allContacts & strXMLEnd
objXMLFile.Close
WScript.Echo "Fertig"  
Grüße Uwe
Member: Juergenl
Juergenl Jul 02, 2013 at 09:13:30 (UTC)
Goto Top
Hallo rubberman und Uwe,

danke für Eure umgehende Reaktion: DAS könnte ja wirklich etwas werden! Ich will zu meiner bisherigen Daten-Quelle "Telefonbuch" noch folgendes anmerken.

Für den Gebrauch mit dem Fritz!Box-Monitor hatte ich mir ein "gestriptes" Telefonbuch in Form einer Textdatei (mit der Extension .adr) ausgeben lassen, die lediglich die für diesen Zweck notwendigen vier Datenfelder "Vor & Zuname"; "Telefon" (home oder work); "VIP"; "Kurzwahl-Nummer" enthält. Der Fritz!Box-Monitor akzeptierte als Delimitor das Semikolon.

Ebenso kann ich natürlich eine CSV-Datei generieren, - diese mit beliebigem Delimiter ausstatten.

Ich war und bin mir aber nicht sicher, ob man mit Hilfe des Headers und dortiger korrekter Verwendung der offiziellen Schlüsselworte eine ebenso vereinfachte (d.h. vierfeldrige) CSV-Datei bilden kann ? Oder muß man dafür jenes "21-feldrige Datei-Monstrum" mit siebzehn Leer-Feldern definieren ?

Iin diesem Zusammenhang wüßte ich gerne auch, wo ich die korrekten Schlüsselworte für meine Felder nachgucken kann: Ich habe irgendwo die Ausdrücke "VIP" bzw. "SpeedDial" gelesen, weiß aber nicht ob sie korrekt sind.

Rubberman, ich will gleich auf Deine Anmerkung zurückkommen: Ich habe zur Zeit keinen "richtigen" Editor zur Verfügung, daher bin ich genötigt, die Beispieldatei in den "Standard XML-Editor" zu laden. Daraus habe ich die beiden Sätze nach WordPerfect herüberkopiert, dort dann wieder strukturiert und als PDF ausgegeben. Das ist für mich das einfachste Exportverfahren.

Würdet Ihr mir bitte noch verraten, wie man hier im Forum ggf. Quelltext veröffentlicht ? ( - ich hab' leider so mancherlei Forums-Handwerkszeug wieder vergessen.)

Ich freue mich, wieder von Euch zu hören!

Beste Grüße
Jürgen
Member: colinardo
colinardo Jul 02, 2013 updated at 09:36:29 (UTC)
Goto Top
Zitat von @Juergenl:
Ebenso kann ich natürlich eine CSV-Datei generieren, - diese mit beliebigem Delimiter ausstatten.
mach das in obiges Format
Ich war und bin mir aber nicht sicher, ob man mit Hilfe des Headers und dortiger korrekter Verwendung der offiziellen
Schlüsselworte eine ebenso vereinfachte (d.h. vierfeldrige) CSV-Datei bilden kann ? Oder muß man dafür jenes
"21-feldrige Datei-Monstrum" mit siebzehn Leer-Feldern definieren ?

Iin diesem Zusammenhang wüßte ich gerne auch, wo ich die korrekten Schlüsselworte für meine Felder nachgucken
kann: Ich habe irgendwo die Ausdrücke "VIP" bzw. "SpeedDial" gelesen, weiß aber nicht ob sie
korrekt sind.
Du nimmst deine vorhandene CSV öffnest sie z.B. in Excel und passt sie dem obigen Format an d.h. überflüssige Spalten löschen und in obige Reihenfolge bringen und wieder in eine CSV speichern, was ist daran so schwer ?
Der SpeedDial-Eintrag ist in obigem Script noch nicht mit drin lässt sich aber leicht ergänzen.
Würdet Ihr mir bitte noch verraten, wie man hier im Forum ggf. Quelltext veröffentlicht ? ( - ich hab' leider so
mancherlei Forums-Handwerkszeug wieder vergessen.)
Programm-Code kannst du mit Code-Tags hier im Beitrag posten.

Grüße Uwe
gelöste Beitrage bitte auch als solche markieren.Danke
Member: rubberman
rubberman Jul 02, 2013 updated at 19:13:51 (UTC)
Goto Top
Hallo ihr beiden.

@Juergenl
Datenfelder "Vor & Zuname"; "Telefon" (home oder work); "VIP"; "Kurzwahl-Nummer"
Hmm, und wo steht nun die eigentliche Telefonnummer? Feld 2 gibt ja (so wie ich es verstehe) lediglich den Typ an.
Ich werde unten mal auf 5 Datenfelder erweitern.

Ich habe zur Zeit keinen "richtigen" Editor zur Verfügung
Für Text (und nichts anderes ist XML) gibt es auf jeder Windows Kiste den Notepad Editor. Ich hätte es weder in Farbe und bunt benötigt, noch mit irgendwelchen Einrückungen der Knoten. Auf den Inhalt kommt es an.
Aber vergiss es einfach. Dank colinardo und einer kurzen Googlesuche ist mir der Aufbau nun auch klar (sonst dauert das hier noch Tage ...).

@colinardo
Wenn ich oben von "XML Support" gesprochen habe, dachte ich eigentlich an das XML DOM. Per Stringverknüpfung geht's natürlich auch face-wink
Beim Testen deines Codes bin ich aber gleich in eine Falle getappt. Die XML Datei existierte bei mir noch nicht, darum musste ich Zeile 49 ändern.
Set objXMLFile = objFSO.OpenTextFile(XMLPATH,ForWriting,True)

Wie auch immer, mein Lösungsvorschlag.
CSV Datei mit 5 Datenfeldern. Name;Typ;Telefonnummer;VIP;Kurzwahl;

test.csv
Lieschen Müller;mobile;0172333444555;1;5;
Klaus Bärbel;home;02345654321;;6;
Fa. GWS Röhrig;work;02345110112;;;

*.vbs
Option Explicit

' Dateinamen  
Const sCSV_in = "test.csv"  
Const sXML_out = "test.xml"  

' Variablendeklarationen  
Dim oXmlDoc, oPhonebookNode, oContactNode, oCategoryNode, oPersonNode, _
  oTelephonyNode, oServicesNode, oSetupNode, oModtimeNode, oUniqueIDNode, _
  oRealNameNode, oNumberNode, oRingToneNode, oXsltDoc
Dim oFSO, oFile, i, aLine, sLine, sName, sType, sNumber, sCategory, sQuickdial

Set oFSO = CreateObject("Scripting.FileSystemObject")  
Set oFile = oFSO.OpenTextFile(sCSV_in) 'CSV Filestream  
CreateObject("WScript.Shell").CurrentDirectory = oFSO.GetParentFolderName(WScript.ScriptFullName) 'Arebeitsverzeichnis = Scriptverzeichnis  

Set oXmlDoc = CreateObject("Msxml2.DOMDocument.6.0") 'XML Dokument erzeugen  
oXmlDoc.async = False
oXmlDoc.loadXML "<?xml version=""1.0"" encoding=""windows-1252""?><phonebooks />" 'XML Deklaration und Rootelement  
Set oPhonebookNode = oXmlDoc.createNode(1, "phonebook", "") 'phonebook Element hinzu  
oXmlDoc.documentElement.appendChild oPhonebookNode

i = 0 'wird bei jedem Schleifendurchlauf inkrementiert und für "uniqueid" eingesetzt  

While Not oFile.AtEndOfStream 'solange das Dateiende nicht erreicht ist  
  i = i + 1 'i inkrementieren  
  sLine = oFile.ReadLine '(nächste) Zeile lesen  
  If sLine <> "" Then  
    aLine = Split(sLine, ";") 'an den Semikola in ein Array splitten  
    If UBound(aLine) <> 5 Then
      WScript.Echo "Zeile """ & sLine & """ hat die falsche Anzahl Elemente"  
    Else
      sName = Trim(aLine(0)) 'Name  
      sType = Trim(aLine(1)) 'Typ (home, work, mobile)  
      sNumber = Trim(aLine(2)) 'Telefonnummer  
      sCategory = Trim(aLine(3)) 'VIP  
      sQuickdial = Trim(aLine(4)) 'Kurzwahl  
      'Einzelne Knoten und Kindknoten für jeden Kontakt erstellen  
      Set oContactNode = oXmlDoc.createNode(1, "contact", "")  
      oPhonebookNode.appendChild oContactNode
      Set oCategoryNode = oXmlDoc.createNode(1, "category", "")  
      oContactNode.appendChild oCategoryNode
      Set oPersonNode = oXmlDoc.createNode(1, "person", "")  
      oContactNode.appendChild oPersonNode
      Set oTelephonyNode = oXmlDoc.createNode(1, "telephony", "")  
      oTelephonyNode.setAttribute "nid", "1"  
      oContactNode.appendChild oTelephonyNode
      Set oServicesNode = oXmlDoc.createNode(1, "services", "")  
      oContactNode.appendChild oServicesNode
      Set oSetupNode = oXmlDoc.createNode(1, "setup", "")  
      oContactNode.appendChild oSetupNode
      Set oModtimeNode = oXmlDoc.createNode(1, "mod_time", "")  
      oContactNode.appendChild oModtimeNode
      Set oUniqueIDNode = oXmlDoc.createNode(1, "uniqueid", "")  
      oContactNode.appendChild oUniqueIDNode
      Set oRingToneNode = oXmlDoc.createNode(1, "ringTone", "")  
      oSetupNode.appendChild oRingToneNode
      oModTimeNode.text = CStr(DateDiff("s", DateSerial(1970, 1, 1) + TimeSerial(12, 0, 0), Now)) 'UNC Timestamp  
      oUniqueIDNode.text = CStr(i)
      Set oRealNameNode = oXmlDoc.createNode(1, "realName", "")  
      oPersonNode.appendChild oRealNameNode
      oPersonNode.text = sName
      Set oNumberNode = oXmlDoc.createNode(1, "number", "")  
      oTelephonyNode.appendChild oNumberNode
      oNumberNode.setAttribute "type", sType  
      oNumberNode.setAttribute "id", "0"  
      If sQuickdial = "" Then  
        oNumberNode.setAttribute "vanity", ""  
      Else
        oNumberNode.setAttribute "quickdial", sQuickdial  
      End If
      oNumberNode.setAttribute "prio", "1"  
      oNumberNode.text = sNumber
      If sCategory <> "" Then oCategoryNode.text = "1"  
    End If
  End If
Wend

oFile.Close 'CSV Dateistream schließen  

' Stylesheet: XML Dokument mit Zeileneinrückung (damit es lesbar wird) und der korrekten Zeichencodierung versehen  
Set oXsltDoc = CreateObject("Msxml2.DOMDocument.6.0")  
oXsltDoc.async = False
oXsltDoc.loadXML( _
  "<?xml version=""1.0"" encoding=""windows-1252""?>" & vbNewLine & _  
  "<xsl:stylesheet version=""1.0"" xmlns:xsl=""http://www.w3.org/1999/XSL/Transform"">" & vbNewLine & _  
  "	<xsl:output method=""xml"" version=""1.0"" encoding=""iso-8859-1"" indent=""yes"" />" & vbNewLine & _  
  "	<xsl:template match=""node()|@*"">" & vbNewLine & _  
  "		<xsl:copy>" & vbNewLine & _  
  "			<xsl:apply-templates select=""node()|@*"" />" & vbNewLine & _  
  "		</xsl:copy>" & vbNewLine & _  
  "	</xsl:template>" & vbNewLine & _  
  "</xsl:stylesheet>")  
oXmlDoc.transformNodeToObject oXsltDoc, oXmlDoc

oXmlDoc.save(sXML_out) 'XML Dokument speichern  

Grüße
rubberman
Member: colinardo
colinardo Jul 02, 2013 at 19:46:51 (UTC)
Goto Top
Danke rubberman für die zweite Variante mit XML.Dom . Hatte zuerst überlegt ob ich Juergen die komplexere Variante mit XML-Dom zumuten kann, mich aber dann für die simple String-Methode entschieden. Naja jetzt ist Juergen auf jeden Fall versorgt face-smile

G. Uwe
Member: Juergenl
Juergenl Jul 04, 2013 at 07:25:28 (UTC)
Goto Top
Hallo Freunde,

ich bedanke mich herzlich für die große Menge an Stoff ... die muß ich hier nun erst einmal verarbeiten. ( - voraussichtlich werde ich wohl doch versuchen müssen, mir örtliche Unterstützung heranzuwinken, um zahlreiche (!) Rückfragen schneller zu klären. Das füllt m.E. im Forum einfach zu viel Platz.) Zum "Hauptthema" (vbs) werde ich mich also eine Weile zurückziehen.

@rubberman, Du hast mich einer Deiner Rückfrage zu 'home' etwas verunsichert: Ich habe an der einen oder anderen Stelle nämlich gesehen, daß 'home' auch als Begriff (oder Datenfeld) für die "häusliche Telefonnummer" verwendet wurde ( - zwar auch für deren Typisierung -) oder habe ich da etwas mißverstanden? - Wäre 'phone' an der Stelle korrekt ?

Ich knüpfe hieran also noch einmal diese Bitte: Ich würde gerne einmal eine vollständige - verbindliche - Liste dieser Schlüsselwörter einsehen, damit ich wenigsten dabei keine vermeidbaren Fehler mache. ( - sind englische und deutsche Schlüsselwörter eigentlich austauschbar ?)

Danke im Voraus und beste Grüße
Jürgen
Member: rubberman
rubberman Jul 04, 2013 at 19:41:15 (UTC)
Goto Top
Hallo Jürgen.

Du hast mich einer Deiner Rückfrage zu 'home' etwas verunsichert: Ich habe an der einen oder anderen Stelle nämlich gesehen, daß 'home' auch als Begriff (oder Datenfeld) für die "häusliche Telefonnummer" verwendet wurde ( - zwar auch für deren Typisierung -) oder habe ich da etwas mißverstanden? - Wäre 'phone' an der Stelle korrekt ?
home ist eine Typisierung, ebenso wie work und mobile. Darum hat mich deine Auflistung der Datenfelder verunsichert. phone gibt es nicht. Ein konstruiertes Beispiel, so wie von Uwe und mir zum Testen der Codes, hätte Klarheit gebracht. Nun bin ich immer noch so schlau wie vorher, da ich immer noch nicht weiß wie die Daten bei dir vorliegen. Unser Output kann nicht besser sein als dein Input!

Ich würde gerne einmal eine vollständige - verbindliche - Liste dieser Schlüsselwörter einsehen, damit ich wenigsten dabei keine vermeidbaren Fehler mache.
www.wehavemorefun.de/fritzbox/XML-Adressbuch
Ob das den Anspruch auf Vollständigkeit erhebt, kann ich nicht beurteilen.

sind englische und deutsche Schlüsselwörter eigentlich austauschbar ?
Nicht in der XML Datei selbst. Ansonsten sieh dir die Beschreibungen aus dem Link an, damit sollte die Bedeutung klar sein.

Grüße
rubberman
Member: Juergenl
Juergenl Jul 05, 2013 at 05:12:35 (UTC)
Goto Top
Hallo rubbermann,

" ... Nun bin ich immer noch so schlau wie vorher, da ich immer noch nicht weiß wie die Daten bei dir vorliegen."

Das tun sie in Form von DATENSÄTZEN mit je vier FELDERN,
(ein Auszug aus meiner - umfangreicheren - Gesamt-Telefondatei, die hier schon vor Fritz!-Zeiten bestand.)

1.) "Familinenname_Komma_Vorname",
2.) "(Lang)-Wahlstring" - welches die Fritz!Box hinausschickt ... s.u. !
3.) "Kurzwahlstring" - in Form von zwei Ziffern, ggf. mit führender Null,
4.) "wichtiger Teilnehmer" - kennzeichnet, ob ein anrufender Teilnehmer die 'Anrufsperre' unterlaufen darf - wie auch immer die Fritz!Box dieses eine Bit vorhält, - als '0' bzw. '1')

'(Lang)-Wahlstring ist in meiner Datenbank übrigens ein 'virtuelles Feld', mit dessen Hilfe aus kompletten, "kanonisch notierten" Telefon-Nummern nicht benötigte Vorwahlstrings ('0049' oder '0201' für Essen) unterdrückt werden.

Ich verkneife mir also die Fritz!-typische Unterscheidung 'work', 'home', 'mobil' .. - nehme dafür in Kauf, daß Telefonpartner mit privatem UND dienstlichem Anschluß UND Handy ggf. als mehrere Teilnehmer geführt werden.

Jedes Kurzwahlstring ist seit jeher dem Wahlstring (nach gewissen Merkregeln) fest zugeordnet. Doppel-Vergabe verhindere ich mit Hilfe eines Index-Verfahrens.

Mein Telefonbuch für die Fritz!Box umfaßt zur Zeit etwa 50 solcher Sätze.

Soweit habe ich jetzt hoffentlich begriffliche Klarheit hergestellt.

Beste Grüße
Jürgen