|
|
|
|
Schön gemacht. Hier in Rostock und auf Rügen sieht man das eine oder andere mal so ein Ding - insbesondere zum Herrentag (13.5. dieses Jahr).
Allerdings sind diese nicht ganz so schick wie der Kübel im Link.
|
|
|
|
|
|
|
Eigentlich wollte ich nach dem Fitti noch ne Runde Fahjrrad fahren. Ein Blick in mein Zimmer hat in mir aber den Entschluss ausgelöst, besser die Zeit zum aufräumen zu nutzen
|
|
|
|
|
|
|
Uhm frak, das seh ich jetzt erst
Die olle Kommode war sauteuer
|
|
|
|
|
|
|
Sieht bei mir ähnlich aus:
|
|
|
|
|
|
|
So, Desire ist bestellt.
Ist das euer Google-Webprotokoll? Das hab ich deaktiviert
|
|
|
|
|
|
|
Ist praktisch, weil ich manchmal mich nicht mehr an Sachen erinnern kann, aber noch weiß das ich sie vor kurzem über Google gefunden habe
|
|
|
|
|
|
|
Endlich wieder Platz in meinem Schrank. Hab nen Sack voll Wäsche ausgemustert. Bei manchen Sachen war es langsam echt dringend, dass sie wegkommen
|
|
|
|
|
|
|
|
|
|
|
| Zitat von Achsel-des-Bösen
Ist praktisch, weil ich manchmal mich nicht mehr an Sachen erinnern kann, aber noch weiß das ich sie vor kurzem über Google gefunden habe
| |
Wo find ich das denn?
|
|
|
|
|
|
|
|
|
|
|
Ja da sehe ich keinen Graphen
|
|
|
|
|
|
|
Jetzt:
|
|
|
|
|
|
|
Du hast noch nie um 4uhr Nachts geoogled?
|
|
|
|
|
|
|
Mit Sicherheit. Ich hab dieses Google Konto erst seit paar Monaten, 3 vielleicht. 7900 Queries seitdem
// Seit letztem Oktober meint die Grafik.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Teufel am 05.05.2010 18:46]
|
|
|
|
|
|
Google-Suchen insgesamt: 19320
|
|
|
|
|
|
|
|
|
|
|
Ich darf gerade ein DTD Schema in ein XML Schema überführen. XML ist ja soooo toll.
Ich mag keine Spitzklammern mehr.
|
|
|
|
|
|
|
| Zitat von Achsel-des-Bösen
Ich darf gerade ein DTD Schema in ein XML Schema überführen. XML ist ja soooo toll.
Ich mag keine Spitzklammern mehr.
| |
Schicks mir, wenn es nicht zu kompliziert ist
|
|
|
|
|
|
|
|
Code: |
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Termin">
<xs:complexType>
<xs:sequence>
<xs:element name="TerminInfos">
<xs:complexType>
<xs:sequence>
<xs:element name="Beginn" type="DateTimeType"/>
<xs:element name="Ende" type="DateTimeType"/>
<xs:element name="Dauer" type="DauerType"/>
<xs:element name="Beschreibung" type="BeschreibungType"/>
<xs:element name="Benachrichtigungen">
<xs:complexType>
<xs:sequence>
<xs:element name="Benachrichtigung" type="BenachrichtigungType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Terminersteller" use="required" type="xs:string"/>
<xs:attribute name="Erstelldatum" use="required" type="xs:string"/>
<xs:attribute name="verschiebbar" use="optional" default="nein" type="JaNein"/>
<xs:attribute name="Serientermin" use="optional" type="JaNein" default="nein"/>
<xs:attribute name="typ" use="optional" default="Lehre">
<xs:simpleType>
<xs:restriction base='xs:string'>
<xs:enumeration value='Lehre'/>
<xs:enumeration value='Forschung'/>
<xs:enumeration value='Projekte'/>
<xs:enumeration value='Privat'/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element> <!--TerminInfos-->
<xs:element name="TeilnehmerListe">
<xs:complexType>
<xs:sequence>
<xs:element name="Person" type="PersonType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element> <!--TeilnehmerListe-->
</xs:sequence>
</xs:complexType>
</xs:element> <!--Termin-->
<xs:complexType name="DateTimeType">
<xs:sequence>
<xs:element name="Datum">
<xs:complexType>
<xs:attribute name="tag" use="required">
<xs:simpleType>
<xs:restriction base="xs:positiveInteger">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="31"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="monat" use="required">
<xs:simpleType>
<xs:restriction base="xs:positiveInteger">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="12"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="jahr" use="required" type="xs:gYear"/>
</xs:complexType>
</xs:element><!--Datum-->
<xs:element name="Uhrzeit">
<xs:complexType>
<xs:attribute name="stunden" use="required" type="xs:integer"/>
<xs:attribute name="minuten" use="required" type="xs:integer"/>
</xs:complexType>
</xs:element><!--Uhrzeit-->
</xs:sequence>
</xs:complexType>
<xs:complexType name="DauerType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="einheit" use="optional" default="Stunden">
<xs:simpleType>
<xs:restriction base='xs:string'>
<xs:enumeration value='Stunden'/>
<xs:enumeration value='Minuten'/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="BenachrichtigungType">
<xs:attribute name="art" use="required">
<xs:simpleType>
<xs:restriction base='xs:string'>
<xs:enumeration value='eMail'/>
<xs:enumeration value='beep'/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="zeitBisTermin" use="required"/>
<xs:attribute name="einheit" use="required">
<xs:simpleType>
<xs:restriction base='xs:string'>
<xs:enumeration value='Tage'/>
<xs:enumeration value='Stunden'/>
<xs:enumeration value='Minuten'/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="BeschreibungType" mixed="true">
<xs:sequence>
<!-- Es wird alle akzeptiert, egal ob ein Schema dafür exisitiert oder nicht -->
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
</xs:sequence>
<xs:attribute name="bezeichnung" use="required" type="xs:string"/>
<xs:attribute name="ort" use="required" type="xs:string"/>
</xs:complexType>
<xs:complexType name="PersonType">
<xs:sequence>
<xs:element name="Vorname" minOccurs="0" maxOccurs="1"/>
<xs:element name="Nachname"/>
<xs:element name="Telefon" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="typ" use="optional" default="Buero">
<xs:simpleType>
<xs:restriction base='xs:string'>
<xs:enumeration value='Buero'/>
<xs:enumeration value='Mobil'/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="id" use="required"/>
</xs:complexType>
<xs:simpleType name="JaNein">
<xs:restriction base='xs:string'>
<xs:enumeration value='ja'/>
<xs:enumeration value='nein'/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
|
|
Ich bin ja schon fertig. Mit Teilaufgabe a). Jetzt nur noch:
b) Realisieren Sie die eindeutige Nummer von Personen (Datentyp PersonTyp), die in der DTD als Attribut vom Typ ID realisiert wurde, als Schlüssel (key), sowie die Referenzierung des Terminerstellers (IDREF in DTD) als Referenz (keyref).
c) Erstellen Sie einen abgeleiteten Datentyp SerienTerminTyp, der eine Spezialisierung von TerminTyp mit einem zusätzlichen Subelement SerienInfos darstellt, welches die Attribute wiederholungsFrequenz (ein Aufzählungstyp mit den Optionen taeglich, woechentlich, jaehrlich) und anzahlWiederholungen (z. B. 5 für 5-malige Wiederholung) aufweist.
c) Passen Sie das gegebene XML-Dokument termin.xml (gültig bzgl. termin.dtd) – sofern erforderlich – so an, dass es bzgl. termin.xsd gültig ist.
d) Erstellen Sie ein XML-Dokument terminSpezialisierung.xml (ausgehend von der modifizierten termin.xml), welches einen Serientermin enthält. Prüfen Sie auch die Validität dieses Dokuments hinsichtlich Ihres XML Schemas.
*seufz*
|
|
|
|
|
|
|
Zu C:
|
Code: |
<xs:complexType name="SerienTerminType">
<xs:complexContent>
<xs:extension base="TerminType">
<xs:sequence>
<xs:element name="SerienInfos">
<xs:complexType>
<xs:attribute name="wiederholungsFrequenz">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="taeglich" />
<xs:enumeration value="woechentlich" />
<xs:enumeration value="jaehrlich" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="anzahlWiederholungen" type="xs:integer" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
|
|
Musst dafür wohl den komplexen Typ des "Termin"-Elements separat notieren, damit man diesen referenzieren kann.
Die erste Aufgabe versteh ich so direkt nicht, weil ich noch nie mit IDREF gearbeitet habe. Die anderen sollten ja kein Problem darstellen.
Ein guter Editor für XML/XSD/XSLT ist Gold wert, wie so oft gesagt kann Visual Studio das wirklich gut. Aber da gibts sicher auch andere, wichtig fände ich nur, dass du Code-Vervollständigung hast, weil das das Leben doch einfacher macht (und cool ist, wenn man sein eigenes Schema dargestellt bekommt ).
|
|
|
|
|
|
|
Merci, das spart mir Tipparbeit
Das mit den keyrefs funktioniert zwar nicht, aber ich sehe nicht warum. Nach allem was ich im Skript und sonstwo finden kann, sollte es gehen. Egal, das soll mir mein Praktikumsleiter erklären.
|
|
|
|
|
|
|
|
|
|
|
| Zitat von Teufel
Praktische Relevanz?
| |
In Studiums-Hausaufgaben?
|
|
|
|
|
|
|
| Zitat von Teufel
Praktische Relevanz?
| |
Ich kenn mich hinterher prima mit XML aus. XPath, XQuery, XML Schema, DTD...totally crazy shit!
|
|
|
|
|
|
|
| Zitat von [DK]Peacemaker
| Zitat von Teufel
Praktische Relevanz? | |
In Studiums-Hausaufgaben?
| |
Unter anderem...
|
|
|
|
|
|
|
| Zitat von [DK]Peacemaker
Ein guter Editor für XML/XSD/XSLT ist Gold wert, wie so oft gesagt kann Visual Studio das wirklich gut. Aber da gibts sicher auch andere, wichtig fände ich nur, dass du Code-Vervollständigung hast, weil das das Leben doch einfacher macht (und cool ist, wenn man sein eigenes Schema dargestellt bekommt ).
| |
XML Spy ist auch ganz gut dafür.
|
|
|
|
|
|
|
Jep, an der Uni nutzte ich auch XMLSpy
|
|
|
|
|
|
|
Guten Morgen!
Das wird ein harter Tag
|
|
|
|
|
|
|
Longitude: 12.10685° E
Latitude: 54.07642° N
Accuracy: 35.78 m
Altitude: 108 m +/- 48 m
Heading: Unknown
Velocity: Unknown/s
Timestamp: Thu, 06 May 2010 08:51:46 GMT
$aha!
|
|
|
|
|
|
|
Der Ort hat irgendwie ein nicht so vorteilhaftes Foto bei Google Maps abgekriegt
|
|
|
|
|
|
Thema: Gehirnsalat ( wir unter uns ) |