Charles F. Goldfarb Priscilla Walmsley Deutsche Übersetzung: Frank Langenau XML in Office 2003 Daten managen mit Word, Excel, FrontPage und InfoPath An imprint of Pearson Education München Boston San Francisco Harlow, England Don Mills, Ontario Sydney Mexico City Madrid Amsterdam
Geleitwort............................................. 15 Einführung............................................ 19 E.1 WiekannmaneineausgereifteSoftwarenochbessermachen?...19 E.2 FürwenistdiesesBuchgedacht?...20 E.3 WievielXML?...20 E.4 DieProdukte...21 E.5 WiediesesBucheinsetzen?...21 Teil I Einführung in Desktop-XML 23 1 Ein Plädoyer für Desktop-XML............................. 25 1.1 OfficevorXML... 26 1.2 Office-DokumentealsInformationsschätze...27 1.2.1 DieDokumentdarstellungvonderSoftwaretrennen...28 1.2.2 Den Dateninhalt von den Formatinformationen trennen......... 30 1.3 IntegrationvonUnternehmensdaten...32 1.3.1 Unternehmensdatenimportieren...32 1.3.2 Unternehmensdatenwiederverwenden...33 1.3.3 Unternehmensdatenanalysieren... 33 1.3.4 OfficealsFrontendfürUnternehmensdaten...34 1.4 NächsteStation:dasWeb...35 1.4.1 DatenvonWebservicesabrufen...36 1.4.2 OfficealsFrontendfürWebservices... 36 1.5 WaskommtalsNächstes?...37 2 XML-Konzepte für Office-Benutzer.......................... 39 2.1 Formatauszeichnungen...39 2.2 VerallgemeinerteAuszeichnungen...42 2.2.1 NeutraleDatendarstellung(Auszeichnungssprache)...43 2.2.2 ErweiterbareAuszeichnungen...43 2.2.3 RegelbasierteAuszeichnung...46 2.2.4 Stylesheets... 48 2.3 ElementeunddielogischeStruktur...50 2.4 WohlgeformtheitundGültigkeit... 52 2.5 XMLunddasWorldWideWeb... 52 2.5.1 Webadressen:URL,URN,URIundIRI...53 2.5.2 Webservices...53 2.5.3 XHTML...54 5
2.6 Namensräume... 54 2.6.1 Präfixe... 55 2.6.2 Bezeichner... 55 2.7 WeitereXML-Konstrukte... 56 2.7.1 Prozessanweisungen... 56 2.7.2 Kommentare... 56 2.8 MehrzuXML... 57 3 XML in Office.......................................... 59 3.1 Informationenerfassenundwiederverwenden... 59 3.1.1 Textverarbeitung... 60 3.1.2 Formulare... 61 3.1.3 RelationaleDaten... 63 3.2 DatenzugrifffürEndbenutzer... 65 3.2.1 Tabellenkalkulationen... 65 3.2.2 Webseiten... 66 3.3 DatengesteuerteAnwendungserweiterung... 68 3.3.1 BenutzerdefinierteDatenansichten... 68 3.3.2 Smarttags... 68 3.3.3 SmartDocuments... 69 3.3.4 DieOffice-Toolsverwenden... 69 Teil II Arbeiten mit XML in Office 71 4 XML-Dokumente erstellen und bearbeiten................... 73 4.1 Schemaserstellenundverwenden... 73 4.1.1 VokabulareundSchemas... 74 4.1.2 DasSchemaarticle... 75 4.1.3 EinSchemaderBibliothekhinzufügen... 76 4.1.4 DieSchemabibliothekverwenden... 79 4.2 EinDokumentöffnen... 79 4.2.1 EinWord-Dokumentöffnen... 79 4.2.2 EinXML-Dokumentöffnen... 82 4.2.3 EinGerüstdokumentöffnen... 83 4.3 Gültigkeitsprüfung... 84 4.3.1 Schemaregeln... 85 4.3.2 Gültigkeitsfehler... 85 4.4 DerAufgabenbereichXML-Struktur... 86 4.4.1 Dokumentstruktur... 86 4.4.2 Fehlersignale... 86 4.4.3 VerfügbareElementtypen... 86 4.4.4 Tag-Symboleansehen... 86 4.5 MitAttributenarbeiten... 87 4.6 EinDokumentspeichern... 88 4.6.1 XMLohneWordMLspeichern... 88 4.6.2 GemischteVokabularespeichern... 89 6
4.7 Dokumentekombinieren...89 4.7.1 Elemente aus mehreren Namensräumen kombinieren.......... 89 4.7.2 Dokumentfragmentezusammenstellen...90 5 Datenansichten und Präsentationen von XML-Dokumenten...... 93 5.1 DieAuszeichnungssprachevonWord(WordML)...94 5.1.1 DasWordML-Vokabular...94 5.1.2 EinWord-DokumentalsWordMLspeichern... 95 5.1.3 StruktureinesWordML-Dokuments... 96 5.1.4 DerAnfangeinesWordML-Dokuments...97 5.1.5 DerKörper... 98 5.1.6 Word-Formatvorlagenverwenden...105 5.2 WordMLmitanderenVokabularenmischen...106 5.3 WordMLmitStylesheetserstellen...108 5.3.1 EinXSLT-Stylesheeterstellen...108 5.3.2 Stylesheetsverwenden...111 6 Externe XML-Daten in Dokumenten verwenden.............. 117 6.1 ExterneXML-Dokumente...117 6.1.1 EinexternesXML-Dokumentimportieren...120 6.1.2 EinexternesXML-Dokumentabfragen...121 6.1.3 AufeinEreignisreagieren...123 6.2 SOAP-Webservices...124 6.2.1 DerWebservicefürdenZIP-Code...124 6.2.2 DasMicrosoftOffice2003WebServicesToolkit...126 6.2.3 DasWebServicesToolkit...126 6.2.4 MitdergeneriertenWebservice-Klassearbeiten...128 6.2.5 AufzweiVarianteneinesEreignissesreagieren...129 7 XML-Daten in Tabellenkalkulationen....................... 131 7.1 WarumXMLmitExcelverwenden?...131 7.2 DieReisekostenabrechnungvonWorldwideWidget...132 7.3 Arbeitsblätter,ZuordnungenundSchemas...134 7.3.1 EineZuordnungerstellen...135 7.3.2 DerAufgabenbereichXML-Quelle...136 7.3.3 DerZuordnungsprozess...137 7.4 XML-Datenimportierenundexportieren...140 7.4.1 XMLexportieren...140 7.4.2 XML-Datenimportieren...141 7.5 ZuordnungaufderBasiseinesXML-Dokuments...144 7.5.1 EinSchemaverwenden...144 7.5.2 EinSchemaableiten...145 7.6 Datenanalyse...146 7.6.1 XML-Datenabflachen...146 7.6.2 BerichteundDiagramme...148 7
7.7 KomplexereXML-Dokumente... 150 7.7.1 UnterschiedlicheStrukturen... 150 7.8 XMLSS:dasXML-VokabularvonExcel... 151 8 Webservices und Tabellenkalkulationen.................... 153 8.1 AktienkursemiteinemREST-Webserviceanalysieren... 153 8.1.1 DerAktienkurs-Webservice... 155 8.1.2 DieXML-Zuordnungeneinrichten... 157 8.1.3 DieDatenaktualisieren... 157 8.2 WährungsumrechnungmiteinemSOAP-Webservice... 160 8.2.1 DerWährungsrechner-Webservice... 161 8.2.2 DasOfficeWebServicesToolkit... 161 8.2.3 DieDatenaktualisieren... 161 8.3 AndereLösungen... 163 8.4 DasObjektmodellvonExcel... 164 8.4.1 XML-relevanteKonzepte... 164 8.4.2 Zuordnungen... 165 8.4.3 Listen,ZellenundXPath-Ausdrücke... 166 9 Formulare entwerfen und verwenden...................... 169 9.1 Formulareüberall... 169 9.2 Formulareverwenden... 170 9.2.1 EinleeresFormularöffnen... 171 9.2.2 DieInfoPath-Umgebung... 171 9.2.3 Felder... 172 9.2.4 Tabellen... 173 9.2.5 Dokumentespeichernundöffnen... 173 9.3 Formulareentwerfen... 176 9.3.1 MitderDatenquellearbeiten... 177 9.3.2 DasFormulargestalten... 179 9.3.3 FelderundSteuerelemente... 181 9.3.4 DieDatenaufGültigkeitprüfen... 183 9.3.5 Datenanzeigenundformatieren... 185 9.3.6 EinneuesFormularerstellen... 186 9.3.7 Ansichten... 201 9.3.8 Formulareabsenden... 202 9.3.9 Formularentwürfespeichern... 203 9.3.10 Formulareveröffentlichen... 205 10 Skripts und Formulare.................................. 207 10.1 WarumSkriptsverwenden?... 207 10.2 EineinfachesBeispielskript... 208 10.3 SkriptdateienundFormulare... 210 10.4 Ereignisse... 211 10.5 DenSkript-Editorstarten... 212 8
10.6 DasInfoPath-Objektmodell...213 10.6.1 DasXML-Dokumentobjektmodellverwenden...214 10.6.2 DasObjektmodelldurchsuchen...214 10.7 SkriptsfürdieGültigkeitsprüfung...215 10.7.1 EreignissefürdieGültigkeitsprüfung...216 10.7.2 Skript-Editorstarten...217 10.7.3 EineeinfacheFunktionzurGültigkeitsprüfung...218 10.7.4 GültigkeitsprüfungmitmehrerenWerten...218 10.7.5 DasEreignisOnBeforeChange...220 10.8 Berechnungen...221 10.9 XML-Knoteneinfügen...224 10.10 ZusätzlicheMöglichkeiten...225 11 Sekundäre Datenquellen mit Formularen verwenden.......... 227 11.1 EinesekundäreDatenquelledefinieren...227 11.2 SekundäreXML-Dokumente...228 11.2.1 Gültigkeitsprüfung...229 11.2.2 Feldervervollständigen...230 11.2.3 Dropdown-Listen...231 11.3 Datenbanken...232 11.3.1 AccessundSQLServer...232 11.3.2 AndereDatenbanken...234 11.4 SOAP-Webservices...234 11.4.1 Webservice-Schnittstellendokument...235 11.4.2 DasSkriptschreiben...236 12 Access-Datenbanken und XML............................ 239 12.1 WarumXMLmitAccessverwenden?...239 12.1.1 Exportieren...239 12.1.2 Importieren...240 12.2 UnsereBeispieldatenbank...240 12.3 Access-Tabellenexportieren...242 12.3.1 EineinfacherExport...242 12.3.2 Datenexportieren:einenähereBetrachtung...245 12.3.3 EinSchemagenerieren...248 12.3.4 EinePräsentationgenerieren...249 12.4 AndereObjekteexportieren...251 12.4.1 Abfragenexportieren...251 12.4.2 Formulareexportieren...253 12.4.3 Access-Projektobjekteexportieren...254 12.5 EineTransformationaufdenExportanwenden...255 12.6 XML-Datenimportieren...257 12.6.1 EingrundlegenderImport...257 12.6.2 Datenanfügen...259 12.6.3 EineigenesXML-DokumentfürdasImportierenerstellen...259 12.6.4 EineTransformationaufdenImportanwenden...260 9
13 XML im Web mit FrontPage veröffentlichen................. 263 13.1 WarumFrontPagemitXMLverwenden?... 263 13.2 EntwurfeinerWebseite... 264 13.3 DieWebsiteeinrichten... 264 13.4 EineDatenquellewählen... 265 13.5 EineDatenansichterstellen... 265 13.6 DieangezeigtenDatenorganisieren... 268 13.6.1 Spalteneinfügen... 269 13.6.2 SortierenundGruppieren... 269 13.6.3 Filterung... 271 13.7 DieAnsichtformatieren... 272 13.7.1 EineFormatvorlageaufdieDatenanwenden... 273 13.7.2 BedingteFormatierung... 275 13.7.3 FormatfreieXML-Dokumenteformatieren... 276 13.7.4 XSLT-Stylesheetsbearbeitenunderstellen... 281 14 Office-XML-Anwendungen entwickeln...................... 283 14.1 SmartDocuments... 284 14.1.1 DasüberarbeiteteKundenbrief-Beispiel... 285 14.1.2 Eine Smart Document-Lösung installieren................... 286 14.1.3 WieSmartDocumentsarbeiten... 288 14.1.4 DieSmartDocument-Schnittstelle... 289 14.2 Smarttags... 298 14.2.1 Smarttag-Listenverwenden(MOSTL)... 299 14.2.2 Programmcodeverwenden... 300 14.3 DerAufgabenbereichRecherchieren... 301 14.3.1 VerfügbareRecherchedienste... 302 14.3.2 WieRecherchedienstefunktionieren... 303 14.4 XML-ErweiterungspaketeundManifeste... 305 Teil III XML-Kurse 307 15 Die Sprache XML....................................... 309 15.1 SyntaktischeDetails... 309 15.1.1 Groß-/Kleinschreibung... 310 15.1.2 AuszeichnungenundDaten... 310 15.1.3 Whitespace... 311 15.1.4 Namen... 311 15.2 PrologundInstanz... 312 15.3 DieDokumentinstanz... 312 15.3.1 WasTagsenthüllen... 313 15.3.2 Elemente... 314 15.3.3 Attribute... 316 15.4 DerProlog... 318 15.4.1 XML-Deklaration... 319 15.4.2 Dokumenttyp-Deklaration... 320 10
15.5 Entitäten:Aufteilenleichtgemacht...320 15.5.1 GeparsteEntitäten...321 15.5.2 ExterneEntitäten...322 15.5.3 Entitätsreferenzen...322 15.5.4 WieEntitätenverwendetwerden...323 15.6 Zeichenreferenzen...323 15.6.1 ReferenznachDezimalzahlen...324 15.6.2 ReferenznachHexadezimalzahl...324 15.6.3 ReferenznachdemNamen(übereineEntität)...324 15.7 Auszeichnungserkennungunterdrücken...325 15.7.1 CDATA-Abschnitte...325 15.7.2 VordefinierteEntitäten...326 15.8 Kommentare...327 15.9 Prozessanweisungen...327 15.10 Office-UnterstützungfürdieSpracheXML...328 15.11 Zusammenfassung...330 16 Namensräume........................................ 331 16.1 DieNamensraumlösung...331 16.1.1 Namensraumpräfixe...332 16.1.2 Gültigkeitsbereiche...333 16.1.3 Standardnamensraum...334 16.1.4 NamensräumebeiAttributnamen...335 17 XPath-Grundlagen..................................... 337 17.1 Adresspfade...338 17.2 AdressierungmehrererObjekte...338 17.3 KindelementeundNachfahren...340 17.4 AdressierungvonAttributen...340 17.5 Prädikate...341 17.6 DasXPath-Datenmodell...342 18 XSL-Transformationen (XSLT)............................. 343 18.1 TransformierenundDarstellen...343 18.2 XSLT-Stylesheets...344 18.3 HTMLmitXSLTerzeugen...344 18.4 Regeln,MusterundTemplates...345 18.5 EinStylesheeterstellen...346 18.5.1 Template-RegelaufDokumentebene...346 18.5.2 LiteraleErgebniselemente...347 18.5.3 Datenextrahieren...348 18.5.4 Dieapply-templates-Anweisung...348 18.5.5 OptionaleElemente...349 18.5.6 Inhalteneuanordnen...350 18.5.7 Dateninhalt...351 18.5.8 Inline-Elementeverarbeiten...351 11
18.5.9 GemeinsameTemplate-Regeln... 352 18.5.10 LetzterSchliff... 352 18.6 Toplevel-Anweisungen... 354 18.6.1 Stylesheetskombinieren... 354 18.6.2 Whitespaceverarbeiten... 355 18.6.3 Ausgabeformate... 356 18.6.4 NumerischeFormate... 356 18.6.5 Attributgruppen... 356 18.6.6 Namensraumalias... 357 18.6.7 Schlüssel... 357 18.7 VariablenundParameter... 358 18.7.1 Variablen... 358 18.8 Parameter... 358 18.9 XSLTerweitern... 359 18.10 XSLT-Sylesheetsreferenzieren... 359 19 Webservices Einführung............................... 361 19.1 Kommunikationsprotokolle... 361 19.2 Amazon.com... 362 19.2.1 Amazon-Partner... 362 19.2.2 WarumnichtHTML?... 363 19.2.3 DerAmazon-Webservice... 365 19.3 Google... 366 19.4 ServiceDiscovery... 368 19.5 WebservicesfürunsRESTliche!... 368 19.6 Sicherheit... 369 19.6.1 Verschlüsselung... 369 19.6.2 Identifizierung... 370 20 XML-Jargon im Klartext: der XML Jargon Demystifier von Charles Goldfarb................................... 373 20.1 Strukturiertundunstrukturiert... 374 20.2 TagundElement... 375 20.3 Inhalt... 376 20.4 Dokumenttyp,DTDundAuszeichnungsdeklarationen... 377 20.5 SchemaundSchema-Definition... 377 20.6 Dokument,XML-DokumentundInstanz... 378 20.7 WasbedeutetMeta?... 379 20.7.1 Metadaten... 379 20.7.2 Metasprache... 379 20.8 DokumenteundDaten... 379 20.8.1 AllessindDaten!... 380 20.8.2 Daten-orientiertundDokumenten-orientiert... 380 20.8.3 DokumentenverarbeitungoderDatenverarbeitung... 381 20.8.4 DokumentemitDatenvergleichen... 381 20.9 UndzumSchluss... 382 12
21 Datentypen........................................... 385 21.1 VordefinierteDatentypen...385 21.1.1 EinfacheDatentypen...385 21.1.2 AbgeleiteteDatentypen...390 21.2 VomBenutzerabgeleiteteDatentypendefinieren...391 21.2.1 AbleitungdurchAuflistung...392 21.2.2 AbleitungdurchVereinigung...393 21.2.3 AbleitungdurchEinschränkung...394 21.3 EinschränkendeFassetten...395 21.3.1 Bereichseinschränkungen...395 21.3.2 Längeneinschränkungen...395 21.3.3 Dezimalziffereinschränkungen...396 21.3.4 Aufzählungseinschränkungen...396 21.3.5 DieWhitespace-Fassette...397 21.3.6 EinschränkungenmitMustern...397 21.4 Schlussbemerkung...401 22 XML-Schema (XSDL).................................... 403 22.1 EineinfachesBeispielschema...404 22.2 ElementeundTypen...405 22.3 StruktureinerSchema-Definition...406 22.3.1 Namensräume...406 22.3.2 Schemakomponenten...407 22.3.3 KomplexeTypen...408 22.3.4 Inhaltsmodelle...409 22.3.5 Attribute...411 22.4 Schemakonformitätdeklarieren...412 22.5 Schemaeinschluss...413 22.6 ZusätzlicheFunktionen...414 22.6.1 ElementemitlokalemGültigkeitsbereich...414 22.6.2 Typableitung...415 22.6.3 Identitätseinschränkungen...416 22.7 Schlussbemerkung...417 23 Webservice-Technologien................................ 419 23.1 Webservice-Beschreibungssprache...419 23.1.1 Vonobenangefangen:Dienst...420 23.1.2 DieArbeitaufteilen:Port...421 23.1.3 EinTransportprotokollwählen:Bindung...421 23.1.4 Abstraktwerden:Porttyp...422 23.1.5 Verhaltendefinieren:Operationen...422 23.1.6 DieInformationseinheit:Nachricht...423 23.1.7 Nachrichtenzusammensetzen:TeilundTyp...423 23.1.8 ZusammenfassungvonWSDL...424 13
23.2 UDDI... 425 23.2.1 EinenDienstanbieterfinden... 425 23.2.2 UDDI-Datenstrukturen... 426 23.2.3 Funktioniertes?... 427 23.3 Implementierung... 428 23.4 Schlussbemerkung... 428 24 XML Path (XPath)...................................... 429 24.1 DasXPath-Datenmodell... 429 24.1.1 BrauchenwireinModell?... 430 24.1.2 AdressierungalsBaum... 430 24.1.3 Knotenbaumkonstruktion... 431 24.1.4 Knotentypen... 433 24.2 Adresspfade... 435 24.2.1 Grundkonzepte... 435 24.2.2 AnatomieeinesSchritts... 438 24.2.3 UnserbisherigesRepertoire... 442 24.2.4 Prädikate... 442 24.3 ID-Funktion... 445 24.4 Schlussbemerkung... 446 Index................................................ 447 14