Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hi,

weiss nicht, ob dieser Beitrag unbedingt zum Webdesign passt, aber da xml bei der Untergruppe stand poste ich das ganze einfach mal!

Folgendes Problem:

Ich habe eine XML Datei, die ich mit XML - Schema auf korrektheit überprüfen möchte. Ich arbeite noch nicht sehr lange mit XML, also verzeiht meine Unwissenheit!

XML Datei:

<date>03022003</date> <!-- soll überprüft werden auf TTMMJJJJ -->

Es gibt in XML - Schema ein Datentyp namens Date. Problem hierbei ist, dass das Datum in US Schreibweise angeordnet ist und es mit "-" voneinander getrennt ist (03-02-2003).

Momentan überprüfe ich so:

<!-- Datum -->

<xs:simpleType name="day">

<xs:restriction base="xs:short">

<xs:minInclusive value="01"/>

<xs:maxInclusive value="31"/>

<xs:pattern value="\d{2}"/>

</xs:restriction>

</xs:simpleType>

<xs:simpleType name="month">

<xs:restriction base="xs:short">

<xs:minInclusive value="01"/>

<xs:maxInclusive value="12"/>

<xs:pattern value="\d{2}"/>

</xs:restriction>

</xs:simpleType>

<xs:simpleType name="year">

<xs:restriction base="xs:short">

<xs:minInclusive value="1900"/>

<xs:maxInclusive value="2900"/>

<xs:pattern value="\d{2}"/>

</xs:restriction>

</xs:simpleType>

--------------------------------------------------------------------------------------------------------

Damit überprüfe ich zwar den Tag, Monat und das Jahr richtig, weiss aber nicht, wie ich TTMMJJJJ aneinander bekomme (Momentan kann ich nur auf TT o. MM o. JJJJ überprüfen)

<xs:element name="date" type="day"/>

Gibt es eine Möglichkeit, day month und year aneinanderzuhängen oder nochbesser: Gibt es eine Möglichkeit den bereits vorhandenen date Datentyp umzuformatieren???

Danke schon mal im Voraus!

PS: Die Smilies im Quellcode sind keine Absicht!!!

Geschrieben

An alle die das Problem interessiert (Die Formel ist zwar kein geschenk, aber trotzdem):

<xs:simpleType = "dateType">

<xs:restriction base = "xs:string">

<xs:pattern value="(19|20)[0-9]{2}/((09|04|06|11)/(0[1-9])|(1[0-9])|(2[0-9])|30)|(02/((0[1-9])|(1[0-9])|(2[0-9]))|(01|03|05|07|08|10|12)/((0[1-9])|(1[0-9])|(2[0-9])|30|31))" />

</xs:restriction>

</xs:simpleType>

Dies entspricht folgendem Format:

JJJJ/MM/TT

Der Vorteil hierdrin ist, das Monate wie Februar nur bis zum Tag 29 gehen. Die Schaltjahre sind in der Überprüfung noch nicht drin, aber man kann halt nicht alles haben.

PS: Schöne Grüße an Klotzkopp (das passt doch nicht ganz zu Webdesign oder) :) ...nicht böse sein!

Grüße Big Bundy

Geschrieben

((((0[1-9])|(1[0-9])|(2[0-9])|30)(09|04|06|11))|(((0[1-9])|(1[0-9])|(2[0-9]))02)|(((0[1-9])|(1[0-9])|(2[0-9])|30|31)(01|03|05|07|08|10|12)))(19|20)[0-9]{2}

Für: TTMMJJJJ

:uli

:mod:

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...