Tekst converteren naar XML met een tekstschemabestand
Maak een assembly met een
tekstschemastap
. Haal de voorbeeldtekst op die de basis van uw tekstschema vormt. Met de stap
'Tekstschema'
kunt u tekst converteren naar XML met behulp van een tekstschema. Als u een tekstschema wilt ontwikkelen, moet u de structuur kennen van de gegevens die u wilt transformeren. Het proces wordt aanzienlijk vereenvoudigd door een klein voorbeelddocument met representatieve gegevens te hebben. In dit onderwerp wordt ervan uitgegaan dat u over een dergelijk voorbeeld beschikt. U kunt de stap
textschema
gebruiken om XML naar tekst te converteren of om bestanden met scheidingstekens te transformeren, maar in de meeste gevallen is het eenvoudiger om respectievelijk de stap XTT
en de stap csv-naar-xml
te gebruiken.- Klik in de weergaveEigenschappenvan de stap vanhet tekstschemaop Tekstschemabestand maken.
- Selecteer een bovenliggende map voor het tekstschemabestand en geef een bestandsnaam op. Geef indien vereist de URI van de doelnaamruimte op.
- Studio opent de tekstschema-editor en geeft het nieuwe tekstschema weer in deboomstructuurweergave.
- Knip en plak uw voorbeeldtekst in het gebied rechtsboven in de tekstschema-editor, ter vervanging van:initial-text.Als u de afsluitende linefeed uit invoerbestanden wilt verwijderen, voegt u dit kenmerk toe aan het hoofdschema-element:ts:eofStrip=" ".
- Begin met het beschrijven van de voorbeeldtekst. Selecteer het eerste veld, klik er met de rechtermuisknop op en selecteerVeld maken.Als u geen voorbeeld hebt van de tekst die u wilt converteren, maar de structuur wel kent, kunt u debronweergavevan het tekstschema rechtstreeks bewerken.
- Geef op de paginaIdentiteitvan dewizard Veldmaken een basisomschrijving van het veld op. Houd rekening met het volgende wanneer u de taak voltooit:
Optie Omschrijving NaamEen naam voor het veld.VoorvalDe opties zijn:- Standaard: Het veld is verplicht en komt slechts één keer voor.
- Vereist: hetzelfde als de standaardwaarde.
- Optioneel: het veld '' is optioneel kan slechts één keer voorkomen.
- Meerdere Optioneel: het veld is optioneel en kan meerdere keren voorkomen.
- Meerdere vereist: het veld is verplicht en kan meerdere keren voorkomen.
Tag startenEen reguliere expressie die de tekst opgeeft die ervoor zorgt dat een element wordt gegenereerd. Houd er rekening mee dat de tekst die overeenkomt met deze expressie geen deel uitmaakt van de uitvoerwaarde. Als u wilt dat de gematchte tekst in de uitvoerwaarde wordt weergegeven, gebruikt u dets:formatoptie.EindtagEen reguliere expressie die de tekst opgeeft die het einde van een element markeert. Houd er rekening mee dat de tekst die overeenkomt met deze expressie geen deel uitmaakt van de uitvoerwaarde. Als u wilt dat de gematchte tekst in de uitvoerwaarde wordt weergegeven, gebruikt u dets:formatoptie.TruncateHiermee wordt aangegeven of overlopende gegevens in een veld met een vaste lengte moeten worden afgekapt of dat een fout moet worden gegenereerd. De standaardwaarde istrue.ScheidingstekenEen reguliere expressie die een teken opgeeft dat herhaalde velden scheidt. Alleen ingeschakeld als u de optiesMeerdere optionelevoorvallen ofMeerdere vereistevoorvallen selecteert.WeglatenHiermee wordt aangegeven of het veld moet worden weggelaten in de uitvoer in eentekst-naar-XML-ofXML-naar-tekst-transformatie. De standaardwaarde is Geen weglating. - Beschrijf op de paginaScheidingstekenvan dewizard Veldmaken het aantal tekens van de voorbeeldtekst voor een veld:
Optie Omschrijving OpmaakEen reguliere expressie waarmee geldige tekstpatronen voor een veld worden aangegeven. Gebruik deze expressie als alternatief voorbegintageneindtagom ervoor te zorgen dat alle overeenkomende tekst in de uitvoer wordt weergegeven. U kunt het ook gebruiken voor waarden die voorkomen in vermenigvuldigingen, zodat het duidelijk is wanneer het einde van de reeks voorkomt.Vaste lengteHiermee geeft u de lengte op van velden met een vaste lengte. Bevat aanhalingstekens en escapetekens.OfferteHiermee wordt aangegeven of tekenreekswaarden worden behandeld als tekenreeksen tussen aanhalingstekens. De opties zijn:- Standaard:
- altijd:
- always-including-empty:
- optioneel:
- nooit:
OpvullingEen reguliere expressie waarmee opvultekst in velden met een vaste lengte wordt aangegeven.VoorkeursvullingHiermee geeft u de waarde op die moet worden gebruikt als deopvullingsexpressiekan matchen met meer dan één mogelijke tekenreeks.UitlijnenHiermee geeft u de uitlijning op van velden met een vaste lengte waarvoor opvulling is vereist. - Beschrijf op de paginaInterpreterenvan dewizard Veld makenhoeveel tekens van de voorbeeldtekst een veld vertegenwoordigen:
Optie Omschrijving TypeHet gegevenstype van het veld.StandaardwaardeEen standaardwaarde voor het veld.Datumnotatie:Hiermee geeft u een patroon op voor datums of datum/tijd. Ondersteunt elk patroon dat door Java is toegestaanSimpleDateFormat.DatumtaalHiermee geeft u de datumtaal op die moet worden gebruikt bij het interpreteren van datums. Zorgt ervoor dat de naam in de juiste taal wordt verwerkt wanneer de datumnotatie de namen van maanden gebruikt. De standaardwaarde isEN.Jaartal met twee cijfersHiermee geeft u een waarde op voor het interpreteren van datums met een jaartal van 2 cijfers. De parser van het tekstschema interpreteert datums van twee cijfers vóór die waarde als in de huidige eeuw. Voorbeeld: als u invoert18, interpreteert de parser14als2014and96als1996.Getalnotatie:Hiermee geeft u een patroon voor getallen op. Ondersteunt elk patroon dat door Java is toegestaanDecimalFormat.Scheidingsteken voor decimalen:Hiermee geeft u het scheidingsteken op dat wordt gebruikt voor decimale getallen.Scheidingsteken voor groeperingHiermee wordt het scheidingsteken voor de groepering van duizendtallen voor getallen opgegeven. - Herhaal stap 6-9 voor elk veld in de voorbeeldtekst en voeg nieuwe elementen toe in deboomstructuurweergave. Wanneer u alle vereiste velddefinities hebt gemaakt, verwijdert u de resterendeUnparsedonderliggend element.
- Als u alle elementen die u hebt gemaakt, wilt laten teruglopen in een complex type, selecteert u ze, klikt u er met de rechtermuisknop op en selecteert uElementen terugloop. Geef vervolgens een naam en een voorvalwaarde op voor het wrapper-element.
- Selecteer in de weergaveEigenschappenvan het wrapper-element/nin de vervolgkeuzelijstEindtag.
- Het standaardhoofdelement voor het schema heetFile. Geef op het tabbladSchemavan de weergaveEigenschappenvan het element een betekenisvollere naam op.
- In de weergaveEigenschappenvan het hoogste niveauschemaelement heeft, heeft de eigenschapHoofdelementde waardetns:File. VervangenFilemet de betekenisvolle naam die u voor het hoofdelement hebt geselecteerd.
- Als u extra spaties uit de gegenereerde uitvoer wilt verwijderen, selecteert u de weergaveEigenschappenvan het hoogste niveauschemaelement. Selecteer+in devervolgkeuzelijstOpvulling. Sla het schema op.