XPath-expressies voor data-rapportage

In onze eerdere post, getiteld "Gebruik XPath-expressies om gegevensselectie te verfijnen", beschreven we hoe u XMLSpy kunt gebruiken om een XPath-expressie te ontwikkelen waarmee u een specifieke tabel met gegevens kunt selecteren uit een veel grotere dataset die wordt geleverd door het Amerikaanse Ministerie van Onderwijs.

We kunnen het werk in XMLSpy hergebruiken om snel een StyleVision-ontwerp te maken voor een rapport of een elektronisch formulier, waarmee we belangrijke informatie uit de data kunnen presenteren. We kunnen beginnen met een eenvoudig ontwerp in StyleVision, gebaseerd op het gradData XML-schema en het XML-bestand dat we in XMLSpy hebben gemaakt. Omdat we onze definitieve, verfijnde grafiekinstellingen in XMLSpy hebben opgeslagen, kunnen we het grafiekontwerp ook in StyleVision opnieuw laden.

We zullen de XPath-expressie set setnum="FOS" gebruiken, die in XMLSpy is ontwikkeld, op twee plaatsen om slechts één van de tabellen te selecteren die zich in het grotere XML-bestand bevinden. Deze expressie zal alleen overeenkomen met de /data/set waarvan het attribuut setnum gelijk is aan "FOS": set setnum="FOS".

Allereerst gebruiken we een expressie om de voorwaardelijke output van het beschrijvingselement te definiëren. Elke individuele tabel bevat een beschrijving die gebruikt kan worden als een nuttige titel voor een grafiek. We kunnen de XPath-expressie invoeren in het hulpmiddelvenster voor de eigenschappen, specifiek voor de conditie.

De weergave verschijnt dan wanneer de cursor over de voorwaarde beweegt:

We zullen ook de XPath-expressie gebruiken in het dialoogvenster "Grafiekinstellingen" om de rijen data te selecteren die in de grafiek moeten worden weergegeven

Deze twee voorbeelden genereerden de HTML-code die in de eerste afbeelding aan het begin van dit artikel wordt weergegeven.

Een XPath-expressie in combinatie met een keuzelijst zorgt ervoor dat de gebruiker een keuze kan maken

We kunnen het rapport omzetten in een interactieve versie Authentic Een e-formulier kan worden geconfigureerd door een XML-element als variabele te gebruiken in de XPath-expressie, in plaats van de vastgecodeerde stringwaarde "FOS". Hierdoor kunnen we de gebruiker de mogelijkheid geven om de inhoud van het XML-element in te stellen via een keuzelijst.

Om deze functionaliteit te implementeren, zullen we een tweede XML-bestand toevoegen om de tijdelijke gebruikersselectie op te slaan. Dit bestand wordt hieronder weergegeven in de vensters "StyleVision Design Overzicht" en "Schema Boom".

We kunnen het keuzelijstmenu bovenaan het formulier plaatsen, boven de beschrijving en het diagram.

StyleVision biedt verschillende manieren om het gedrag van een combobox te definiëren. We zullen een lijst gebruiken met zichtbare opties, elk met een bijbehorende XML-waarde.

De keuzelijst wijst een XML-waarde toe aan het veld "chart" in het bestand "userselections.xml", waarna we deze waarde kunnen vergelijken met het attribuut "setnum" in het bestand "gradData.xml".

Vervolgens moeten we beide XPath-expressies aanpassen. De nieuwe XPath-expressie voor de conditie die aan de beschrijving is toegewezen, is:

../@setnum=$XML2/userchoice/chart

zoals hieronder te zien is in het eigenschappenvenster.

De nieuwe XPath-expressie voor de grafiekgegevens is: $XML/data/set[@setnum=$XML2/userchoice/chart]/row

zoals te zien is in het dialoogvenster voor grafiekinstellingen.

StyleVision bevat een XPath-expressie-editor die u kunt openen door op de bewerkingsknop naast een van de bovenstaande XPath-expressies te klikken. De XPath-expressie-editor heeft een "bouwmmodus" en een "evaluatiemodus" om u te helpen bij het schrijven van XPath 1.0 en XPath 2.0. De bouwmmodus biedt real-time syntaxiscontrole en een automatisch aanvullingsvenster voor efficiëntie. De XPath-editor wordt hieronder in een kleinere weergave weergegeven:

Nadat we de combobox hebben aangepast zodat deze de langste invoer kan weergeven, ziet het e-formulier er als volgt uit:

De combobox stelt de gebruiker in staat om een ander diagram te selecteren:

De XML-waarde van de nieuwe selectie vervangt de inhoud van het <chart> element in het bestand userselections.xml, en beide XPath-expressies genereren nieuwe resultaten:

Klik hier om een gratis proefversie van Altova MissionKit te downloaden... waaronder XMLSpy, MapForce en StyleVision, en begin met XPath om uw eigen gegevensselecties te verfijnen!