Iedereen zegt dat XML de belangrijkste nieuwe functie in Office 2003 is. Maar tenzij je toevallig in een bedrijf zit met tonnen XML-schema's die rondzweven, heb je waarschijnlijk niet kunnen achterhalen hoe je die coole demo kunt dupliceren. zag Microsoft doen tijdens de lancering van Office 2003. Voor degenen onder u die zich abonneren op de nieuwsbrief van Woody, realiseert u zich nu dat Woody de uitleg van XML gaat serialiseren, waardoor we 4 weken (of langer) moeten wachten om het hele verhaal te krijgen. Dus voordat Woody ooit ter zake kan komen, ga ik door een lange tip waarin wordt uitgelegd hoe u volledig gebruik kunt maken van XML in Office 2003.
De grote belofte
Microsoft zegt dat u nu gegevens als XML kunt opslaan en de gegevens gemakkelijk opnieuw kunt gebruiken. Open hetzelfde gegevensbestand en het ziet er op een manier uit in Excel, open het gegevensbestand en het ziet er op een andere manier uit in Word. Het is erg krachtig. We hebben ook het feit dat sinds Office 2003 XML als een native bestandsformaat beschouwt, iedereen met een willekeurige programmeertaal native XML-bestanden kan schrijven. Als je QBasic of Rexx of zoiets hebt, kun je nu direct XML Excel (ExcelML?) -Bestanden maken.
Alleen in Excel Professional
We worden nu geconfronteerd met een klassensysteem in Office 2003. Volledige XML-ondersteuning is niet beschikbaar in deze edities: (Codes in cursief staan voor waar je ze allemaal kunt kopen: R = Retail, P = Voorgeïnstalleerd met nieuwe computer, V = Volume-Licensing , A = Academic Licensing, S = School Resellers).
- Microsoft Office Small Business Edition 2003 (R, P, V, A)
- Microsoft Office Standard Edition 2003 (R, V, A, S)
- Microsoft Office Basic Edition 2003 (P)
- Microsoft Office Student and Teacher Edition 2003 (R, S)
Volledige XML-ondersteuning is beschikbaar in deze edities:
- Microsoft Office Professional Edition 2003 (R, P, V, A, S)
- Microsoft Office Professional Enterprise Edition 2003 (inclusief InfoPath) (V)
- Microsoft Excel 2003 (R) (De zelfstandige Excel-box wordt als professioneel beschouwd)
Als je de pech hebt dat je een van de "mindere" versies van Office 2003 hebt, is je goedkoopste upgradepad misschien het kopen van de winkelversie van Excel. Tenzij u in een zakelijke omgeving werkt, is de enige manier om InfoPath (de nieuwe tool waarmee u formulieren en XML-schema's kunt maken) te krijgen door de versie in de doos te kopen.
Wat is XML? Is het zoals HTML?

XML staat voor Extensible Markup Language. Als u ooit de weergave "Bron weergeven" van een webpagina in Kladblok hebt bekeken, bent u bekend met de structuur van XML. Hoewel HTML bepaalde tags toestaat, zoals TABLE, BODY, TR, TD, staat XML alle tags toe. U kunt elk type tag bedenken om uw gegevens te beschrijven. Hier is een screenshot van enkele XML-gegevens die ik in Kladblok heb getypt:
Hier zijn enkele eenvoudige regels over XML:
- Elk stukje data moet beginnen en eindigen met een identieke tag: Data
- Tagnamen zijn hoofdlettergevoelig. en zijn GEEN geldige tags omdat het hoofdlettergebruik in de eindtag niet hetzelfde is als het hoofdlettergebruik in de begintag.
- Het XML-bestand moet beginnen en eindigen met een root-tag. Een bestand kan slechts één root-tag bevatten. In het bovenstaande voorbeeld is de root-tag.
- Je kunt een lege tag hebben - plaats de schuine streep aan het einde van de tag in plaats van aan het begin:
- Als u tags nest, moet u de binnenste tag sluiten voordat u de buitenste tag sluit. Hoewel HTML deze structuur toestaat, klikt u op Annuleren, dit is niet geldig in XML. gegevens werken, maar gegevens niet.
Alfabet Soep: drie bestandstypen
Dit zijn de drie bestanden die we tegenkomen bij het werken met XML.
- .XML is het gegevensbestand dat hierboven wordt weergegeven
- .XSD is een XML-schemadefinitie. Dit is een uiterst belangrijk bestand. Gegevensrelaties worden hier gedefinieerd. Datavalidatie wordt hier ook gedefinieerd. Om de Microsoft-demo daadwerkelijk te kunnen doen, heeft u een XML-schemabestand nodig. Hoewel iedereen XML in Kladblok kan typen, hebben we een schema nodig om iets cools te doen. Ik zal je hieronder laten zien hoe je er een kunt maken.
- .XSL is een XML StyleSheet Language-bestand - hiermee kunt u de gegevens van het ene formaat naar het andere hergebruiken.
Verreweg de grootste hindernis is het maken van het schemabestand. U kunt een XML-bestand openen in Excel, maar u kunt geen transformaties uitvoeren zonder een schema. Gelukkig maakt Excel een standaardschema voor je, maar het is NIET duidelijk hoe je het schema moet gebruiken. Laten we door de trappen lopen.
-
Open een leeg Kladblok. Kopieer deze gegevens van onderaf en plak ze in Kladblok. Sla het bestand op als test.xml.
ABC Co 123 Main Salem OH 44460 12345 100 10.50 YXZ Co 234 State Akron OH 44313 23456 10 20.50
- Gebruik in Excel Bestand - Openen. Als het vak "Bestandstype:" is ingesteld op Alle Microsoft Excel-bestanden, ziet u test.xml. Klik op Openen.
-
U krijgt eerst het dialoogvenster Open XML te zien. Later zullen we het krachtige XML Source-taakvenster willen gebruiken, maar dat kunnen we pas als we een geldig schema hebben. Kies er nu voor om te openen als een XML-lijst.
Open XML-dialoogvenster -
Vervolgens krijgen we het informatievenster dat de XML geen schema heeft. Dit is een fantastisch bericht, want Microsoft gaat nu on-the-fly een schema voor u maken.
Schema-waarschuwingsbericht -
Hier zijn onze gegevens in Excel. Het is best gaaf. Ze zetten de geweldige nieuwe Excel 2003 List-functie aan (gebruikelijke sneltoets: Ctrl + L). Als de lijstfunctie is ingeschakeld, hebben we autofilters voor elke kolom en een Access-achtige asteriskrij voor het toevoegen van nieuwe gegevens.
XML-gegevens in Excel-werkblad -
Nu - hier is de truc zonder papieren. Een tip van de hoed voor Microsofts Excel XML-goeroe Chad Rothschiller voor het laten zien van deze coole truc. Start de Visual Basic Editor met Alt + F11. Druk in de Visual Basic Editor op Ctrl + G om het directe venster te openen. Typ in het directe deelvenster:
Print ActiveWorkbook.XmlMaps(1).Schemas(1).Xml
Onmiddellijk venster in VBE Herinner je je het bericht in # 4 nog? Microsoft bood aan om on-the-fly een schema voor ons te bouwen. Dit kleine stukje code hierboven zal het schema afdrukken. Klik op enter en het schema wordt in het directe venster afgedrukt.
Schema in het directe deelvenster Open een leeg kladblok, kopieer de gegevens uit het directe venster en plak ze in het lege kladblok. U kunt nu het volledige schema van onze eenvoudige dataset zien.
Sla het schemabestand op U kunt het kladblok-bestand nu opslaan als TodaysOrders.xsd
- Ga terug naar Excel en sluit de testdataset.
-
Open test.xml opnieuw vanuit Excel. Geef deze keer aan dat u het taakvenster XML-bron wilt gebruiken en klik op OK in het vak Schema-informatie.
Kies Openingsoptie van XML-bron -
U krijgt nu een leeg werkblad, maar het XML-bronvenster aan de rechterkant toont alle beschikbare velden.
XML-bronvenster -
Kies de vervolgkeuzelijst Opties en selecteer Voorbeeldgegevens om een voorbeeld van elk element in het taakvenster te zien.
Voorbeeld van gegevens in het taakvenster -
Voeg een mooi opgemaakte titel toe aan uw lege spreadsheet. Sleep het element Verkooporder en zet het neer in cel B6.
Gegevenselement slepen en neerzetten - Als u de lijstwerkbalk niet ziet, kiest u Beeld - Werkbalken - Lijst om de werkbalk weer te geven.
-
Selecteer XML-gegevens vernieuwen op de werkbalk
Knop XML-gegevens vernieuwen -
De voorbeeld XML-gegevens die we hierboven hebben getypt, worden aan de spreadsheet toegevoegd.
Resultaat XML-gegevens op het werkblad - Sla de werkmap op als een normaal Excel-bestand, misschien als OrderReport.xls
Gegevens dagelijks vernieuwen
Als u uw systeem ertoe kunt brengen om elke dag dagelijkse bestellingen naar Test.XML te schrijven, dan bent u helemaal klaar. Open OrderReport.xls, ververs de XML-gegevens en je hebt elke dag een mooi opgemaakt rapport van je XML-bestellingen. Dit is behoorlijk krachtig - ik heb de opmaak één keer ingesteld, open het bestand elke dag, klik op Vernieuwen en ik heb een mooi opgemaakt rapport met de gegevens uit de XML-set.

Excel gebruiken om XML-gegevens te maken
Kunnen we Excel gebruiken om nieuwe XML-gegevens te maken? Nu we een schema hebben gedefinieerd, kunnen we dat! Aan onze bestaande spreadsheet kunnen we onze telefonische afnemers de hele dag door nieuwe gegevens aan het Excel-bestand laten toevoegen. Gebruik aan het einde van de dag Bestand - OpslaanAls. Kies om op te slaan is als type: XML-gegevens.

Bevestig welke kaart u wilt gebruiken:

Hergebruik van de gegevens in Word
Nu we een schema en gegevens hebben gemaakt, gaan we de gegevens openen in Microsoft Word 2003. Nadat we TestAsData.xml in Word 2003 hebben geopend, krijgen we de standaardgegevensweergave in Word.

U kunt dit document opmaken:

Druk op Ctrl + Shift + X om de velden uit te schakelen:

XSL-weergaven gebruiken om gegevens opnieuw te gebruiken
Het bovenstaande voorbeeld met slepen en neerzetten leidt niet tot een transformatie. Als u Transform-bestanden maakt, kunt u de XML-gegevens eenvoudig omzetten in verschillende weergaven in Word. Dit is waar de echte kracht om de hoek komt kijken. Voordat ik je laat zien hoe je je eigen transformatie kunt creëren, laten we eens kijken hoe Microsoft de demo heeft opgezet in de uitrol van Office 2003.
Download XML-voorbeeldpakket om dit op uw exemplaar van Word 2003 te proberen. Het zip-bestand bevat:
- Eén XML-bestand: SampleMemo.xml
- Eén schema: Memo.xsd
- Drie transformatiebestanden: elegant.xsl, professional.xsl, modern.xsl
Volg deze stappen:
- Start Word 2003 op
-
Selecteer in het menu Extra - Sjablonen en invoegtoepassingen …
Sjablonen en invoegtoepassingen -
Klik op het tabblad XML-schema en selecteer Schema toevoegen …
Tabblad XML-schema -
Navigeer naar waar u de voorbeeldbestanden heeft uitgepakt. Selecteer Memo.xsd en klik op Openen.
XSD-bestand selecteren om een schema toe te voegen -
Geef in het dialoogvenster Schema-instellingen het schema een beschrijvende naam in het veld Alias. Misschien zoiets als "Memo". Klik OK.
Voeg een alias toe aan het schema Op dit punt is Word zich nu bewust van het memoschema. Vervolgens moeten we Word 2003 bewust maken van de Transforms. Merk op dat Microsoft deze "oplossingen" noemt.
-
U zou nog steeds in het dialoogvenster Sjablonen en invoegtoepassingen moeten zijn. Klik op Schemabibliotheek…
Schemabibliotheek - Selecteer Memo in de bovenste keuzelijst in het dialoogvenster Schemabibliotheek. Hierdoor wordt de knop in het onderste gedeelte van het dialoogvenster voor "Oplossing toevoegen…" geactiveerd.
-
Klik op de knop Oplossing toevoegen.
Oplossing toevoegen -
Navigeer naar de map met uw .xsl-bestanden. Kies Contemporary.xsl en klik op Openen.
Selecteer Transform-bestand -
Geef het transformatiebestand in het dialoogvenster Oplossingsinstellingen een beschrijvende naam, zoals "Hedendaags". Klik OK.
Alias voor het transformatiebestand -
Herhaal stap 8 tot en met 10 om Elegant.xsl en Professional.xsl toe te voegen. Klik op OK om de schemabibliotheek te sluiten. Klik op OK om sjablonen en invoegtoepassingen te sluiten.
Voltooi de schemabibliotheek Bij de Microsoft-demo werden al deze 11 stappen achter de schermen uitgevoerd. Het publiek liep naar binnen en we keken toe terwijl ze ons deze stappen lieten zien.
-
We gaan SampleMemo.xml openen in Word. Hier is de kladblokweergave van dit bestand. Het zijn gewone XML-gegevens zonder enige opmaak.
Voorbeeld XML-gegevensbestandinhoud -
Open SampleMemo.xml vanuit Word. Achter de schermen scant Microsoft het XML-bestand om te zien dat dit gegevens zijn volgens het Memo-schema. Het zoekt in de schemabibliotheek om te zien of er een overeenkomst is in het "memo" -schema. Als dat het geval is, worden alle XSL-oplossingen gevonden die we hebben toegevoegd. Omdat we er drie hebben, selecteert Word er een om weer te geven en biedt ons vervolgens de andere aan in het taakvenster XML-document. Dit is heel verbazingwekkend.
Hier is het XML-gegevensweergavenvenster:
Venster XML-gegevensweergaven Hier is de standaardweergave van de gegevens (dit is met behulp van de Elegant xsl).
Standaardweergave van de gegevens Klik op Alleen gegevens en u krijgt alleen de gegevens zonder opmaak.
Alleen gegevens bekijken Klik op Eigentijds en een paar seconden later heb je een totaal andere opgemaakte weergave van de gegevens:
Opgemaakte weergave van de gegevens -
U kunt de paarse XML-tags weergeven / verbergen met Ctrl + Shift + X.
Toon / verberg XML-tags
Uw eigen XSL-transformatiebestanden maken
Ik kan de kracht zien. Maar tot nu toe hebben we alleen gedownloade XSL-bestanden gebruikt voor de gegevens van iemand anders. We hebben echt een manier nodig om een XSL-bestand voor onze eigen gegevens te maken. Nogmaals, als u werkt voor een bedrijf dat XML-rijk is, heeft iemand deze transformaties waarschijnlijk al opgezet. Als u echter de eerste persoon in uw bedrijf bent die XML-dingen uitprobeert, moet u de relatief pijnlijke taak doorlopen om uw eigen transformatiebestanden op te zetten.
Hier is hoe we dit gaan doen. Eerst ga ik een mooi document in Word maken dat laat zien hoe ik de XML-gegevens wil weergeven. Ik zal gemakkelijk te vinden tijdelijke aanduidingen plaatsen waar ik wil dat de XML-velden gaan. Ik zal dit document opslaan als Word XML. Vervolgens ga ik met Kladblok het document bewerken, wat XSL-code plakken en het bestand opslaan. Dit zou een aangepast XSL-transformatiebestand moeten maken.
-
Maak in Word een mooi opgemaakt voorbeeld. Hieronder heb ik een orderbevestiging opgebouwd. Deze heeft een logo, inleidende tekst, de velden uit het XML-bestand en afsluitende tekst. Ik heb verschillende lettertypen en kleuren gebruikt. De conventie om *** te gebruiken om de velden te markeren, is gewoon om me te helpen als ik door het Word XML-bestand in Kladblok kijk.
Sjabloon in Word -
Ik zal dit bestand opslaan als Word XML.
Opslaan als Word XML - Ik zal twee kladblokvensters openen. De ene heeft Sales Order.xml en de andere heeft een bestaande elegante.xsl-transformatiecode. (wordt vervolgd).