XML-basisbeginselen. XML-HTML-conversie. JavaScript gebruiken. XML-versies

Om de inhoud van XML-bestanden automatisch te converteren naar een voor mensen leesbare vorm/formaat (html, rtf, pdf, txt, vrml, svg, java, enz.), moet u XSLT gebruiken in plaats van CSS te gebruiken.

Nadelen van CSS:
1. CSS kan de volgorde van elementen in een XML-document niet wijzigen. Als je sommige elementen wilt sorteren of filteren op een bepaalde eigenschap, dan zal CSS je hier zeker niet mee helpen.
2. CSS doet geen berekeningen. Als u een waarde wilt berekenen en weergeven (bijvoorbeeld som numerieke waarden alle elementen in het xml-document), CSS zal niet bij u passen.
3. CSS kan geen documenten samenvoegen. Als u een paar dozijn XML-documenten met inkooporders wilt combineren en een samenvatting van alle bestelde producten wilt afdrukken, dan zal CSS u opnieuw niet helpen.

Een klein voorbeeld van het gebruik van XSL

Er is een xml-bestand voor plug-ininstellingen:


De plug-in bestuurt de instellingen van AutoCAD-tekenlagen. Hieronder vindt u een tabel met de items die worden gecontroleerd.

De laagnaam controleren
WAAR
Controleren of de laagnaam voldoet aan de naamgevingsregel

De laagkleur controleren
WAAR
Controleren of aan de laag kleuren zijn toegewezen vanuit het palet "Indexkleur".

Lijntypecontrole
WAAR
Controleren of aan lagen alleen lijntypen uit een bepaalde set worden toegewezen

Lijndiktes controleren
WAAR
Controleren of aan lagen alleen lijndiktes uit een bepaalde set worden toegewezen

Controleren op een notitie
WAAR
Elke laag moet een notitie hebben die het doel ervan ontcijfert

Vaste lagenset
vals
Moet het gebruikers verboden worden om extra lagen te maken, volgens de regels vastgelegd in de Standaard?

De plug-in moet de instellingen daaruit uitlezen en in overeenstemming daarmee werken. Tegelijkertijd moet er enige documentatie zijn die de gebruiker kan lezen en begrijpen. Bovendien moet het materiaal dat in de documentatie wordt gepresenteerd overeenkomen met de instellingen die zijn ingesteld huidige moment. Om er niet aan te denken dat u na het aanpassen van de instellingen de documentatie moet gaan bewerken, kunt u dit alles in de vorm van één xml-bestand presenteren. De plug-in leest de instellingen ervan en de gebruiker opent deze in de browser en... ziet deze in een "menselijke" vorm... Maak hiervoor een bestand styleSheet.xsl met de volgende inhoud:

Plugin-instellingen

Parameter Betekenis Opmerking

Als een gebruiker ons xml-bestand in een browser opent, zal hij geen verwarrende (vanuit zijn gezichtspunt) onhandige xml-tekst zien, maar dit:

IN in dit voorbeeld Ik heb geen selectie, sortering, filtering, verschillende soorten bewerkingen en berekeningen laten zien (ze waren hier niet nodig), maar indien nodig kan dit allemaal worden gedaan met XSLT.

Doel van de les

Inleiding tot XML-technologie. Ontdek de mogelijkheid om XML-documenten in HTML weer te geven. Gebruik JavaScript-scripts voor het navigeren door een XML-tabel en het organiseren van gegevenszoekopdrachten op voorwaarde. Aanbevolen lectuur.

Korte theoretische informatie

XML-technologie (eXtensible Opmaaktaal) ontstond eind jaren 90 van de vorige eeuw. De belangrijkste voordelen van XML-tekst:

□ heeft een databasestructuur, toegankelijk voor computers en mensen;

□ gemakkelijk verwerkt door middel moderne talen programmering;

□ eenvoudig vertaald naar HTML.

Beschouw het volgende voorbeeld van een tekstdatabase geschreven in XML:

Drie mannen in de boot

Jerom-K-Jerom

12000

Notre Domme de Paris

V.Hugo

15000

Een oorlog en vrede

L. Tolstoj

16500

Angelika - de minnares van geesten A en S. Gallen

9000

Dit is een voorbeeld van een correct samengestelde XML-document, waarvan de elementen tags , , , , , zijn

Elementen in de tekst zijn gerangschikt als een boom met een kopelement. Aan elk element is een afsluitend element gekoppeld. De reikwijdte van elk element wordt beperkt door de openings- en sluitingselementen. Het is niet toegestaan ​​om de reikwijdte van elementen te overschrijden, d.w.z. De gebieden liggen in elkaar genest of snijden elkaar helemaal niet. Een element waarvan de reikwijdte de reikwijdte van alle andere elementen omvat, wordt het rootelement genoemd. Een XML-document kan worden gezien als een tekstdatabase. De waarde van een element is de informatie die tussen de definiërende tags wordt geplaatst dit onderdeel. De waarde van het eerste element is dus de string

Drie mannen in de boot.

Typ deze tekst in een willekeurige editor en sla deze op als eenvoudig tekstbestand met een xml-extensie - noem dit bestand bijvoorbeeld textbd.xml. U kunt dit bestand bekijken met een browser Internet Explorer op dezelfde manier waarop u de HTML-bestanden hebt bekeken. Als er een fout optreedt, wordt de XML-interpreter weergegeven gedetailleerde informatie over de locatie en de essentie van de fout.

Nu zullen we laten zien hoe u deze uitvoer naar een tabelvorm kunt converteren. HTML-formulier, die wordt uitgevoerd met behulp van HTML. Laten we de volgende maken HTML-bestand(Lijst 2.12).

Lijst 2.12. HTML-document dat moet worden weergegeven XML-tabellen

De titel van het boek

De auteur

De prijs

Laten we dit HTML-bestand opslaan als textbd.html. Laten we het nu openen met een browser. Het resultaat zal er als volgt uitzien (Fig. 2.9).

Rijst. 2.9. Een XML-document weergeven in een HTML-document

Om het eerder gemaakte XML-bestand te verbinden en aan de tabel te koppelen, worden tags gebruikt:

Om gegevens in een tabel weer te geven, worden tags voor cellen in de volgende vorm gebruikt:

De tag wordt gebruikt als container. De parameter DATAFLD bevat de waarde van het XML-element dat moet worden weergegeven.

Bij het werken met databases is het vinden van de benodigde informatie een van de belangrijkste problemen. In dit werk zullen we een dergelijke zoekopdracht uitvoeren met behulp van JavaScript-tools. Omdat de database behoorlijk groot kan zijn, wordt deze geheel in een tabel weergegeven HTML-document zeer ineffectief. Daarom zullen we niet de hele tabel weergeven, maar bijvoorbeeld slechts twee records. Daarnaast voegen we knoppen toe om door de database te scrollen. Laten we, om dit te doen, ons HTML-document als volgt wijzigen (Lijst 2.13).

Lijst 2.13. Gewijzigd HTML-document om een ​​XML-tabel weer te geven

Onze eerste les in xml-technologie

De titel van het boek

De auteur

De prijs

>

<

De >-term wordt gebruikt om een ​​pijl naar rechts te tekenen, de &it-term wordt gebruikt om een ​​pijl naar links te tekenen. Tegelijkertijd geven we aan dat er slechts twee records in de tabel hoeven te worden weergegeven:

Laten we nu functionele inhoud voor onze site maken. De betekenis ervan zal zijn dat we de titel van het boek in zijn geheel of enkele fragmenten ervan invoeren, en wanneer de knop wordt ingedrukt, moet het systeem andere details van het boek weergeven: de auteur en de prijs, of melden dat het boek werd niet gevonden. Nu moet je JavaScript gebruiken. Eigenlijk zijn er maar een paar commando's nodig.

□ getElementByTagName("titel").item(i).text;

Deze opdracht retourneert de waarde van het element uit het XML-bestand dat het i-de element is in de volgorde waarin deze elementen worden vermeld.

□ getElementsByTagName("titel").lengte;

Deze opdracht retourneert het totale aantal elementen uit het XM L-document.

□ String.indexOf(stringl);

Dit commando retourneert de positie van waaruit stringi is opgenomen touwtje touwtje of -i als er geen gebeurtenissen voorkomen.

Laten we nu de uitgebreide HTML-code voor deze taak weergeven (Listing 2.14).

Lijst 2.14. Verbeterd HTML-document om XML-tabel weer te geven

functie showelement()

// Een XML-document verbinden:

var odoc=new ActiveXObject("Microsoft.XMLDOM");

odoc.async=false; // Pauzeer het programma,

// totdat het laden is voltooid odoc.load("textbd.xml"); // Laad een XML-document in het geheugen var stringl=document.myform.mytext.value; z=odoc.getElementsByTagName("title").length;// Ophalen

// lengte van element // met tag //

voor(i=0;ik