Julius Becker: Attribut mehrere Werte zuweisen

Guten Abend allerseits,

ich bin zur Zeit am Entwickeln einer Auszeichnungssprache für Wörterbücher und stehe momentan vor der Frage, ob man einem Attribut mehrere Wert zuweisen kann. Und wenn ja, wie müssen diese Werte voneinander getrennt werden.

Um zum Beispiel einem Wort männliches und sächliches Geschlecht zuzuordnen, könnte man dann wortart="maennlich saechlich" schreiben?

Grüße

Julius

  1. So weit ich weiß kann man in XML nicht einem Attribut mehrere Werte zuweisen.

    Höchstens:

    <!-- DTD -->

    <!ELEMENT geschlecht (#PCDATA)>
        <!ATTLIST geschlecht (maennlich|weiblich|saechlich)>

    <!-- Ende DTD -->

    Weiß jetzt nicht ob in dem Attribut alle Zeichen richtig verwendet wurden.

    1. So weit ich weiß kann man in XML nicht einem Attribut mehrere Werte zuweisen.

      Höchstens:

      <!-- DTD -->

      <!ELEMENT geschlecht (#PCDATA)>
          <!ATTLIST geschlecht (maennlich|weiblich|saechlich)>

      <!-- Ende DTD -->

      Weiß jetzt nicht ob in dem Attribut alle Zeichen richtig verwendet wurden.

      Es heißt natürlich <!ATTLIST geschlecht typ (maennlich|weiblich|saechlich)>

      1. Du kannst das doch auch bei xml schema mit enumeration machen:

        <attribut name="geschlecht">
        <simpleType>
        <restriction base="string">
        <enumeration value="maennlich"/>
        <enumeration value="weiblich"/>
        <enumeration value="saechlich/>
        </restriction>
        </simpleType>
        </attribut>

        falls Thomas J.S das nicht so meinte.

        1. Hallo,

          Du kannst das doch auch bei xml schema mit enumeration machen:

          <attribut name="geschlecht">
          <simpleType>
          <restriction base="string">
          <enumeration value="maennlich"/>
          <enumeration value="weiblich"/>
          <enumeration value="saechlich/>
          </restriction>
          </simpleType>
          </attribut>

          falls Thomas J.S das nicht so meinte.

          Meinte ich nicht, denn so kann der Fragesteller nur einen der Werte im Attribut haben.
          Eigentlich meinte ich eine Liste:
          <xs:element name="test">
            xs:complexType
             <xs:attribute name="x">
              xs:simpleType
               xs:list
                xs:simpleType
                 <xs:restriction base="xs:string">
                  <xs:enumeration value="a" />
                  <xs:enumeration value="b" />
                  <xs:enumeration value="c" />
                  <xs:maxLength value="2" />
                 </xs:restriction>
                </xs:simpleType>
               </xs:list>
              </xs:simpleType>
             </xs:attribute>
            </xs:complexType>
           </xs:element>

          Grüße
          Thomas

  2. Hallo,

    ich bin zur Zeit am Entwickeln einer Auszeichnungssprache für Wörterbücher und stehe momentan vor der Frage, ob man einem Attribut mehrere Wert zuweisen kann. Und wenn ja, wie müssen diese Werte voneinander getrennt werden.

    http://de.selfhtml.org/xml/dtd/attribute.htm

    Man kann, aber ...

    Um zum Beispiel einem Wort männliches und sächliches Geschlecht zuzuordnen, könnte man dann wortart="maennlich saechlich" schreiben?

    ... wenn du das so haben willst, muss du in der DTD CDATA für das Attribut verwenden (damit kann aber irgenwas im Attributwert stehen)
    Mit XML-Schema könntest du eine list bzw. union-Typ für den Attributwert angeben, dann wäre auch ein wortart="maennlich saechlich"  zulässig.

    Grüße
    Thomas