XML-Adressbuch

From Fritz!Box

Jump to: navigation, search

Contents

[edit] Beispiel

Hier ist ein Beispiel eines für meine FRITZ!Box 7270 gültigen XML-Adressbuchs (liegt auf der FRITZ!Box in /var/flash/phonebook):

<?xml version="1.0" encoding="iso-8859-1"?>

<phonebooks>

  <phonebook>

    <contact>
      <category>0</category>				       <!-- wichtige Person? 1=>ja, 0=>nein -->
      <services/><setup/>					       <!--???-->
      <person><realName>Mustermann,Michel</realName></person>
      <telephony>
	<number type="home"   quickdial="11" vanity="muster" prio="1">030252363474</number>  <!--       Privat=>home -->
	<number type="mobile" quickdial=""   vanity=""       prio="0">0171252363474</number> <!--        Mobil=>mobile -->
	<number type="work"   quickdial=""   vanity=""       prio="0">030292383474</number>  <!-- Geschäftlich=>work -->
      </telephony>
    </contact>

  </phonebook>

</phonebooks>

[edit] RNC-Grammatik

Hier ist die von mir verwendete RNC-Grammatik meines FRITZ!Box-7270-XML-Adressbuchs:

default namespace = ""

start =
  fbpb.phonebooks

div {
  fbpb.phonebooks =
    element phonebooks {
      fbpb.phonebook+
    }
}

div {
  fbpb.phonebook =
    element phonebook {
        attribute owner { xsd:integer }? # 255 - used only for AVM "private" file for the phone configurations
      & fbpb.contact+
    }
}

div {
  fbpb.contact =
    element contact {

        element category { "" | "0" | "1" } # "Wichtige Person"? - 1=on, 0=off
      & element person   { element realName { text } }

      & element services { empty } # currently always empty
      & element setup    { empty } # currently always empty

      & element telephony {
	  fbpb.number+
	}
  }
}

div {
  fbpb.number =
    element number {
        attribute type { "home" | "mobile" | "work" | "intern" }?
      & attribute prio { "0" | "1" }?				# "ausgewählte Hauptnummer"? 1=on, 0=off
      & attribute quickdial { text }? 				# "Kurzwahl"
      & attribute vanity { text }?

      & text
    }
}

Die erste Version der Grammatik hatte ich mit Hilfe der Utility trang (gehört zum RELAX-NG-Umfeld) aus meinem auf der FRITZ!Box in der Web-Seite gepflegeten Adressbuch erzeugt (bzw. wie gesagt den 2 Teilen). Die generierte Version habe ich dann ein wenig handoptimiert, weil die generierte gar zu wenig flexibel ist.

[edit] Hochladen des Adressbuches auf die FRITZ!Box

Nun, da hat vielleicht jeder seine ganz eigene Vorgehensweise.

  • Ich stelle die zusammengefügte Adressbuch-Datei "irgendwohin", wo ich von der FRITZ!Box aus mit wget eine Datei abholen kann.
  • Dann aktiviere ich den telnet-Zugang,
  • ich gehe in der FRITZ!Box in das Verzeichnis /var/tmp/,
  • führe das wget auf die besagte Datei aus,
  • kopiere die Datei dann aus /var/tmp/phoneboox.xml nach /var/flash/phonebook.
  • schließlich der reboot.


[edit] Kontakt mit dem Autor

Ich habe ein paar Sätze zu dieser Angelegenheit auf meinem Blog [1] geschrieben. Dort kann man gerne Kommentare schreiben, die mich dann per e-mail erreichen. Ich melde mich dann gerne zurück.

Personal tools