Een bestand in XSD-formaat – wat is het en hoe open je een XSD-schema. Een XSD-bestand openen Wat zijn XML-schema's?

In dit hoofdstuk leert u hoe u XML-schema's schrijft. Ook leer je dat het diagram op verschillende manieren geschreven kan worden.

XML-document

Laten we eens kijken naar dit XML-document genaamd "shiporder.xml":

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="shiporder.xsd">
John Smith

Ola Nordmann

Langgt 23

4000 Stavanger
Noorwegen


Empire Burleske
Speciale editie
1
10.90


Verberg je hart
1
9.90

Het bovenstaande XML-document bestaat uit een hoofdelement, "shiporder", dat een vereist attribuut bevat met de naam "orderid". Het element "shiporder" bevat drie verschillende onderliggende elementen: "orderperson" , "shipto" en "item" . Het element 'item' verschijnt twee keer en bevat een element 'titel', een optioneel element 'opmerking', een element 'hoeveelheid' en een element 'prijs'.

De regel erboven: Xmlns: XSI="http://www.w3.org/2001/XMLSchema-instance" vertelt de XML-parser dat dit document schema-gevalideerd moet worden. Regel: XSI: noNamespaceSchemaLocation = "shiporder.xsd" geeft aan waar de schema's zich bevinden (hier staat het in dezelfde map als "shiporder.xml") .

Een XML-schema maken

Nu willen we een schema maken voor het bovenstaande XML-document.

We beginnen met het openen van een nieuw bestand, dat we "shiporder.xsd" noemen. Om een ​​schema te maken, kunnen we eenvoudigweg de structuur in het XML-document volgen en elk element definiëren zoals we het vinden. We beginnen met een standaard XML-declaratie gevolgd door een xs:schema-element dat het schema definieert:



...

In het bovenstaande schema gebruiken we standaardnaamruimten (xs), en de URI die aan deze naamruimte is gekoppeld, is de schemataaldefinitie, die de standaardwaarde http://www.w3.org/2001/XMLSchema heeft.

Vervolgens moeten we een "shiporder" -element definiëren. Dit element heeft een attribuut en bevat andere elementen, dus we behandelen het als een complex type. Onderliggende elementen van een "shiporder"-element worden omgeven door een xs: sequence-element dat een geordende reeks subelementen definieert:




...


Vervolgens moeten we het element "orderperson" definiëren als een eenvoudig type (aangezien het geen attributen of andere elementen bevat). Het type (xs:string) wordt voorafgegaan door een naamruimtevoorvoegsel dat is gekoppeld aan het XML-schema, dat een vooraf gedefinieerd schemagegevenstype specificeert:










Met behulp van schema's kunnen we het aantal mogelijke voorkomens bepalen voor een element met de attributen MaxOccurs en MinOccurs. MaxOccurs specificeert het maximale aantal keren dat een element voorkomt en MinOccurs specificeert het minimale aantal keren dat een element voorkomt. De standaardwaarde voor zowel MaxOccurs als MinOccurs is 1!

Nu kunnen we het element "item" definiëren. Dit element kan meerdere keren voorkomen binnen een "shiporder"-element. Dit wordt bepaald door het maxOccurs-attribuut van het element "item" in te stellen op "unbounded" , wat betekent dat het element "item" zo vaak kan voorkomen als de auteur wil. Houd er rekening mee dat het element "note" optioneel is. We hebben dit gedefinieerd door het minOccurs-attribuut op nul te zetten:










Nu kunnen we het attribuut "shiporder" van het element declareren. Omdat dit een verplicht attribuut is, specificeren we use="required".

Opmerking: attribuutinstructies moeten altijd als laatste komen:

Hier is een volledige lijst van het schemabestand genaamd "shiporder.xsd":





























Aparte circuits

De vorige ontwerpmethode is heel eenvoudig, maar kan moeilijk te lezen en te onderhouden zijn als de documenten complex zijn.

De volgende ontwerpmethode is gebaseerd op het definiëren van alle elementen en attributen en het vervolgens ernaar verwijzen met behulp van het ref-attribuut.

Hier is het nieuwe ontwerp van het schemabestand ("shiporder.xsd"):








































Benoemde typen gebruiken

De derde ontwerpmethode definieert klassen of typen, waardoor elementdefinities opnieuw kunnen worden gebruikt. Dit wordt gedaan door de elementen simpleTypes en complexTypes een naam te geven en er vervolgens naar te verwijzen via het type-attribuut van het element.

Hier is het derde ontwerp van het schemabestand ("shiporder.xsd"):

































Het constraint-element geeft aan dat het gegevenstype is afgeleid van de naamruimte van het W3C XML Schema-gegevenstype. Het volgende fragment betekent dus dat de waarde van het element of attribuut de waarde van een string moet zijn:

Het constraint-element wordt vaker gebruikt om beperkingen op elementen toe te passen. Kijk naar de volgende regels uit het bovenstaande diagram:





Dit specificeert dat de waarde van het element of attribuut een string moet zijn, dat deze precies zes tekens per regel moet bevatten, en dat deze tekens een getal tussen 0 en 9 moeten zijn.

Alles zal droog zijn, zonder tekst, etc.

Dus. Ze brachten mij een taak. Maak 1C vrienden met een externe dienst voor het ontvangen van rapportages in de vorm van een xml-bestand.

De service van derden heeft zijn eigen API voor het ontvangen van bestanden en produceert bij de uitvoer een bepaalde "batch" -code, waarmee ik een andere functie kan aanroepen en uit deze batch alle gedetailleerde foutinformatie kan halen.

Het xsd-schemabestand is klein, maar er zijn veel gegevenstypen gebaseerd op dit schema; een volledig gegenereerd XML-bestand neemt ongeveer 200 MB in beslag.

Als gevolg hiervan had ik een bepaald bestand in handen met de extensie “xsd”.

Op dat moment had ik geen idee wat het was of wat en hoe het werd gegeten.

Infostart heeft enorm geholpen (niet zonder natuurlijk - hartelijk dank).

Om te beginnen staat hieronder het materiaal dat ik gebruikte totdat ik dit miniproject voltooide, en daarom zijn hier links om je te helpen die je in de toekomst misschien nodig hebt. Ik denk dat dit een “must-have” is voor degenen die willen leren de XDTO-regels:

Wat is het resultaat?

Kijk alsjeblieft “niet in het water”, maar in de essentie.

De hoofdlijnen hier zijn:

Om eigenschapsdetails in het xsd-schema te verkrijgen, gebruik ik de volgende codestructuur:

Maar ik zal zeggen dat ik andere methoden heb gezien, zoals ze zeggen, het is aan jou.

Resultaat van figuren 7 tot en met 12

In het voltooide bestand ziet het er zo uit:

En dit is wat mij opviel (nou ja, lokale goeroes wisten het misschien al heel lang).

Het is zowel een regel als een merkteken.

Denk aan de eigenschap 'ContractCode'

Hier is zijn beschrijving:

Als deze eigenschap de vorm "Element" heeft, ziet de code er als volgt uit:

Die. Ik schrijf de waarde onmiddellijk in de parameter, gewoon “= is gelijk aan” en ga.

Als de eigenschap de vorm "Element" heeft, maar deze is geschreven met een "+" teken

Zoals hier

Zijn code ziet er dus een beetje anders uit

Die. U moet dit type eerst via een fabriek creëren, de ondergeschikte subtypen ervan verkrijgen en er vervolgens waarden aan toewijzen vanuit uw gegevens.

En uiteindelijk is dit wat er gebeurt.

Als deze eigenschap in het schema de vorm “element” heeft

Vervolgens wordt de volgende vermelding in het voltooide bestand geschreven:

Die. alles wordt opgenomen in de zogenaamde. "labels".

Die. de eigenschap "FundingType" heeft een onderliggend element "id" waarvan de vorm "Attribuut" is

In dit geval zal de code NIET veranderen wanneer deze wordt geschreven:

Merk op dat deze code vergelijkbaar is met figuur 16

Welnu, het resultaat zal een beetje anders zijn:

Die. de waarde wordt rechtstreeks naar de “tag” zelf geschreven.

Er bestaat zo'n eigenschap als 'Gender'

Bij het automatiseren van bedrijfsprocessen is het heel vaak nodig om elektronische documenten te genereren op basis van gestructureerde gegevens. De bron van gestructureerde gegevens zijn doorgaans de mappen van het DIRECTUM-systeem. De noodzaak om elektronische documenten te genereren ontstaat om de volgende redenen:

  • Een elektronisch document is een handige weergave voor het coördineren van informatie. Mogelijkheid om gegevens uit meerdere gegevensbronnen weer te geven;
  • Mogelijkheid om digitale handtekening te installeren - extra bescherming van goedkeuringsresultaten;

Om documenten te genereren, gebruiken ze doorgaans de ontwikkeling van geïntegreerde rapporten, die na generatie als elektronische documenten in het archief kunnen worden opgeslagen. De nadelen van deze aanpak zijn naar mijn mening de volgende:

  • Hoge arbeidsintensiteit van de ontwikkeling, die meestal wordt geassocieerd met de noodzaak om het visuele deel van het rapport te programmeren. Dit geldt voor rtf- en Excel/html-rapportages in het DIRECTUM-systeem.
  • Het rapportsjabloon is in ontwikkeling, waardoor systeemgebruikers de presentatie-instellingen niet kunnen wijzigen. Klanten willen bijvoorbeeld vaak hun logo toevoegen aan rapporten die door het systeem worden gegenereerd.

Ik stel voor om een ​​alternatieve optie te gebruiken voor het genereren van elektronische documenten op basis van een Excel-sjabloon, waarmee de hierboven beschreven nadelen worden opgelost. Het mechanisme is gebaseerd op de mogelijkheid van Excel om elementen van het bijgevoegde XSD-gegevensschema te gebruiken voor sjabloonopmaak. De functie is beschikbaar vanaf Excel 2003.

Ik zal een voorbeeld geven van opmaak voor de documentsjabloon “Rekeningafschrift” in Excel 2007. Pad naar de optie voor het verbinden van het XSD-gegevensschema: Tabblad Ontwikkelaar (op het lint)\Bron\XML Maps...\Add. Er wordt een dialoogvenster geopend waarin u een bestand kunt selecteren dat het gegevensschema beschrijft. Nadat het schema is verbonden, verschijnen elementen van het verbonden XSD-schema in de sectie “XML-bron”, die naar elke cel van de sjabloon kan worden overgebracht:

Een XSD-schema is een regulier XML-bestand dat gegevenselementen beschrijft. Het XSD-schema voor het bovenstaande voorbeeld ziet er als volgt uit:

Nadat het sjabloon is geconfigureerd en de gegevensvelden zijn gemarkeerd, kunt u het opslaan in het systeem en een parameter toevoegen aan de instellingen waaraan gekoppeld kan worden in de ISBL-ontwikkeling. Om programmatisch een elektronisch document te maken op basis van een aangepaste sjabloon, moet u het volgende doen:

1. Bereid een XML-bestand voor met gegevens die overeenkomen met het aangesloten XSD-sjabloonschema. De XML-gegevens voor het XSD-schema dat in het voorbeeld wordt beschreven, zien er als volgt uit:

Het genereren van een XML-document op ISBL moet gebeuren met behulp van de msxml.dll-bibliotheek:

… REPORT_NAME = “Account Statement_Card” XMLDocument = CreateObject("MSXML.DOMDocument") ProcInstruction = XMLDocument.CreateProcessingInstruction("xml"; "version="1.0" encoding="windows-1251" standalone="yes"") XMLDocument.appendChild (ProcInstruction) RootElement = XMLDocument.CreateElement(REPORT_NAME) XMLDocument.appendChild(RootElement) …

2. Haal een documentsjabloon op en exporteer deze naar schijf.

... TemplateID = Const('xxx') Template = Edocuments.GetObjectByID(TemplateID) Template.Export(VersieNummer; Pad; FALSE) ...

3. Open het geëxporteerde sjabloon in Excel en breng de voorbereide gegevens ernaar over:

… Excel = CreateObject("Excel.Application") Book = Excel.WorkBooks.Open(Path) Sheet = Book.WorkSheets(1) // Gegevens laden in Excel XmlMap = Book.XmlMaps(REPORT_NAME) XmlMap.ImportXML(XMLDocument.xml ) Boek.Opslaan Boek.Sluit Excel.Afsluiten …

4. Open indien nodig het document om het te bekijken of sla het document onmiddellijk op in de DIRECTUM-systeemopslag.

Een voorbeeld van een gegenereerd document “Rekeningafschrift”:

Naast het exporteren van gegevens naar een Excel-sjabloon kunt u ook de tegenovergestelde actie uitvoeren: gegevens importeren uit de sjabloonopmaakvelden. Die. in dit werkscenario zal het Excel-sjabloon fungeren als een elektronisch formulier voor het invoeren van gegevens die in het DIRECTUM-systeem kunnen worden geïmporteerd.

Problemen creëren voor gebruikers. Eén daarvan is de XSD-extensie. Het komt in de praktijk vrij zelden voor, dus niet alle applicaties kunnen het openen. Laten we het hebben over wat dit "monster" is en welk hulpprogramma kan worden gebruikt om het uit te pakken.

Een applicatie selecteren om met een bestand met de XSD-extensie te werken.

Het XSD-bestandsformaat wordt gebruikt om het type gegevens te definiëren dat in het XML-bestand verschijnt. Het legt ook de relatie tussen verschillende parameters vast. Het kan ook worden gemaakt door het Pattern Maker for Cross stitch-programma, dat dient als assistent voor beginners in kruissteek. Deze software is het populairst onder zulke mensen.

XSD: hoe te openen

Laten we eens nader bekijken welke programma's XSD kunnen openen. Er zijn er behoorlijk veel, maar we zullen naar de meest elementaire kijken.


Natuurlijk is het mogelijk om de bewerking uit te voeren om dit formaat te openen met andere professionele programma's. Het is echter dom en zinloos om ze uitsluitend voor dit doel te downloaden.


Net als bij XML-editors kunt u XSD met andere programma's openen. Als u besluit Word te gebruiken, is dit geen bijzonder correcte beslissing, omdat de gegevens daarin precies hetzelfde worden weergegeven als in Kladblok.

Zoals vermeld aan het begin van het artikel, wordt XSD veel gebruikt door mensen die betrokken zijn bij borduren. In dit geval wordt het bestand gepresenteerd als een afbeelding. Om het te openen en te bewerken is er slechts één programma gemaakt: Pattern Maker for Cross-stitch. Daarin ziet u een palet met kleuren en beschrijvingen voor borduurwerk. Deze software is zeer multifunctioneel, helemaal gratis en kan zonder problemen worden gerussificeerd.

Conversie naar andere formaten

Vanwege de structuur van dit bestandstype is het onmogelijk om ze naar andere formaten te converteren. Als u echter met een borduurpatroon werkt, kunt u dit zonder problemen naar JPG converteren met Pattern Maker for Cross-stitch. Selecteer hiervoor in het applicatiemenu “Exporteren naar grafisch bestand” en activeer vervolgens “Diagram exporteren” en “Informatie exporteren”.

Zo heb je kennis gemaakt met het XSD-formaat, dat niet alleen tekstinformatie kan weergeven, maar ook een afbeelding. Het is natuurlijk niet wijdverbreid onder gewone gebruikers, maar voor mensen die gepassioneerd zijn door borduren is deze uitbreiding noodzakelijk. Wij hopen dat u geen vragen heeft. Als je ze hebt, stel ze dan in de reacties.

XSD-bestanden worden vaak gebruikt in combinatie met XML-documenten. Ze bieden beschrijvingen van het XML-bestand en de regels waaraan het voldoet. Gebruikers hebben vaak een vraag over het openen van XSD. Basishulpprogramma's die vooraf op uw pc zijn geïnstalleerd, zijn geschikt om te bekijken, maar voor bewerken heeft u aanvullende software nodig.

Algemene beschrijving van het xsd-formaat

De extensie “.xsd” is een afkorting voor XML Schema Definition. De hoofdtaak van bestanden met deze extensie is het beschrijven van XML. Ze kunnen beschrijvingen bevatten van de structuur, individuele elementen en attributen. De informatie bevat tekst geschreven in de XML Schema-beschrijvingstaal. Deze taal wordt gebruikt om software te maken voor het werken met XML. Elementen van andere vocabulaires, niet alleen het XML-schema, kunnen in ".xsd" worden geïntegreerd.


Geschiedenis van oorsprong

Het formaat werd voor het eerst geïntroduceerd in 2001. Het werd aanbevolen door het World Wide Web Consortium. Deze organisatie implementeert standaarden voor internettechnologie. Het doel van het Consortium is het bereiken van compatibiliteit van bestanden en apparatuur van fabrikanten uit verschillende landen.

De initiële ontwikkeling van XML Schema 1.0, gebruikt in de extensie ".xsd", werd 11 jaar lang gebruikt. Op 5 april 2012 keurde het Consortium de introductie goed van een nieuwe versie: 1.1.

Hoe en waarmee u een xsd-extensiebestand opent

U kunt uit drie opties kiezen voor het openen van uw XSD-bestand. U kunt de inhoud van het document zelfs zonder pc bekijken met behulp van de browseropties.


Online

Voor het online bekijken wordt een browser gebruikt. Zowel pc als mobiele browser zijn geschikt.

XSD-schema – hoe u het online kunt openen:

  • andere browsers.

Om de inhoud te bekijken, voert u het pad naar het bestand in de zoekbalk in: “file:///D:/document.xsd”. Na “file:///” wordt het pad op het geselecteerde apparaat aangegeven, evenals de naam.

Het grootste nadeel van het online bekijken van het formaat is het onvermogen om wijzigingen in de structuur aan te brengen.

Op de computer

Bij gebruik van programma's die op een pc zijn geïnstalleerd, opties bij het werken met meer. U kunt niet alleen de inhoud achterhalen, maar ook de tekst bewerken.

Als u niet voortdurend met het formaat hoeft te werken, worden teksteditors gebruikt om dergelijke documenten te beheren. De volgende programma's zijn geschikt:

  • WordPad;

Er zijn geen fundamentele verschillen in software. Microsoft Word is handiger vanuit het oogpunt van bewerken, maar WordPad is moeilijker te leren. De functionaliteit van de programma's verandert echter niet bij het werken met dit formaat.

De eenvoudigste software om het formaat te bekijken is Kladblok. Om het bestand in een teksteditor te bekijken en te bewerken, opent u het bestand met de opdracht “Openen met...” en selecteert u vervolgens de gewenste editor uit de lijst met programma’s. U kunt het bestand ook via het programma zelf openen door de functie “Openen” te selecteren en het pad naar het element op te geven.

Als ze professioneel met XML Schema Definition werken, worden er serieuzere programma's gebruikt voor het bekijken en bewerken. Er zijn XML-editors geïnstalleerd, waaronder:

  • en anderen.

Professionals geven de voorkeur aan het tweede programma. Het is geschikt voor het werken op Windows, Linux, Microsoft en stelt u in staat om niet alleen bestanden van het betreffende formaat te wijzigen, maar ook te maken. Voor de bewerking wordt een multifunctionele tabel gebruikt.

Welke andere problemen kunnen er zijn met het xsd-bestand?

Zelfs als u weet wat het xsd-formaat is, kunnen er soms extra problemen optreden bij het openen van een bestand van dit type. Het grootste probleem is dat er twee typen XML-schemadefinitiebestanden zijn. De eerste is tekst, die opdrachten en beschrijvingen bevat. Ze worden geopend met behulp van de bovenstaande methoden. Maar er is ook een tweede, minder gebruikelijk type ontwikkeld: kruissteekpatronen. Dit zijn afbeeldingen, geen tekst.


Extern zijn de twee soorten bestanden niet verschillend; ze hebben dezelfde extensie. Als er een fout wordt weergegeven wanneer u een document online probeert te openen of een teksteditor gebruikt, betekent dit dat de gebruiker naar een afbeelding kijkt. Het kan maar op één manier worden geopend: met een programma dat speciaal is ontworpen voor borduurpatronen.

Het hulpprogramma wordt op een pc geïnstalleerd. Het programma voor het openen van xsd kan gratis en met Russische vertaling worden gedownload. In Pattern Maker For Cross Stitch kunt u niet alleen xsd-patronen bekijken, maar ook uw eigen bestanden bewerken en maken.

Het formaat begrijpen is niet moeilijk. Zelfs een beginner kan een bestand de eerste keer openen met een teksteditor of Kladblok die vooraf op de pc is geïnstalleerd.