herch Geschrieben 3. Februar 2003 Geschrieben 3. Februar 2003 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!!!
herch Geschrieben 6. Februar 2003 Autor Geschrieben 6. Februar 2003 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
herch Geschrieben 6. Februar 2003 Autor Geschrieben 6. Februar 2003 ((((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:
Empfohlene Beiträge
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 erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden