MudGuard: Mehrere xmlns mit verschiedenen Namen aber selber URL

Hi,

hab grade in einem XML-Dokument etwas gesehen, was mich etwas wundert.
Da würde ich gerne wissen, ob das zulässig bzw. sinnvoll ist.

Es wurden mehrere Namespaces definiert, 2 davon zeigen auf dieselbe URL, also sowas:

<root xmlns:bla  ="http://example.com/foo"
      xmlns:blubb="http://example.com/foo"
      xmlns:bar  ="http://example.com/bar">

Ist das zulässig, das 2mal auf dieselbe URL verwiesen wird?
Und falls ja, bedeutet das dann, daß bla:foobar und blubb:foobar dasselbe Element sind?

cu,
Andreas

--
Warum nennt sich Andreas hier MudGuard?
Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
  1. Ist das zulässig, das 2mal auf dieselbe URL verwiesen wird?

    Ja. Beispiel siehe [XMLNS §5.3]

    Und falls ja, bedeutet das dann, daß bla:foobar und blubb:foobar dasselbe Element sind?

    Dass es für Attibute gilt, siehst du ebenda. Ich denke, für Elemente wird es dann auch so sein.

    Gunnar

    --
    „Solang wir noch tanzen können
    und richtig echte Tränen flennen,
    ist noch alles offen,
    ist noch alles drin.“
    (Gundermann)
  2. Hallo,

    Es wurden mehrere Namespaces definiert, 2 davon zeigen auf dieselbe URL, also sowas:

    <root xmlns:bla  ="http://example.com/foo"
          xmlns:blubb="http://example.com/foo"
          xmlns:bar  ="http://example.com/bar">

    Ist das zulässig, das 2mal auf dieselbe URL verwiesen wird?
    Und falls ja, bedeutet das dann, daß bla:foobar und blubb:foobar dasselbe Element sind?

    Aus http://www.w3.org/TR/REC-xml-names/, speziell Punkt 5.3 lese ich nur heraus, dass etwas in dieser Art unzulaessig waere:

    <blubb:foobar bla:abc="123" blubb:abc="456"/>

    <blubb:foobar bla:abc="123" blubb:xyz="456"/> aber offenbar erlaubt sein sollte.

    Zumindest diese Form

    <root xmlns      ="http://example.com/foo"
          xmlns:blubb="http://example.com/foo"
          xmlns:bar  ="http://example.com/bar">

    wird bei den Attributen als zulaessig erklaert:

    <blubb:foobar abc="123" blubb:abc="456"/>

    Von einer "Uniqueness of Elements" finde ich aaO nichts, wuerde die Verwendung solcher Schreibweisen aber eher vermeiden.

    MfG, Thomas

    1. Thomas,

      Aus http://www.w3.org/TR/REC-xml-names/, speziell Punkt 5.3 lese ich nur heraus ...

      Erster! :-P
      Gunnar

      PS. Hm, nach über drei Stunden fast gleich und gleichzeitig geantwortet. Sind wir Zwillinge?

      --
      „Solang wir noch tanzen können
      und richtig echte Tränen flennen,
      ist noch alles offen,
      ist noch alles drin.“
      (Gundermann)
      1. Hallo,

        PS. Hm, nach über drei Stunden fast gleich und gleichzeitig geantwortet. Sind wir Zwillinge?

        Noe, dann haetten wir ja auch dieselben Dokumente zitiert -- ok, im Prinzip haben wir das ja doch gemacht ;-).

        MfG, Thomas

        1. Thomas,

          Noe, dann haetten wir ja auch dieselben Dokumente zitiert -- ok, im Prinzip haben wir das ja doch gemacht ;-).

          Im Prinzip schon, nur laut Cheatah nicht. ;-)

          Gunnar

          --
          „Solang wir noch tanzen können
          und richtig echte Tränen flennen,
          ist noch alles offen,
          ist noch alles drin.“
          (Gundermann)
          1. Hi,

            Noe, dann haetten wir ja auch dieselben Dokumente zitiert -- ok, im Prinzip haben wir das ja doch gemacht ;-).
            Im Prinzip schon, nur laut Cheatah nicht. ;-)

            Also ich guck auch lieber ins Original (sofern das in Englisch oder Deutsch ist, bei anderen Sprachen wärs anders).

            cu,
            Andreas

            --
            Warum nennt sich Andreas hier MudGuard?
            Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    2. Hi,

      Aus http://www.w3.org/TR/REC-xml-names/, speziell Punkt 5.3 lese ich nur heraus, dass etwas in dieser Art unzulaessig waere:

      Ok, danke, auch an Gunnar.

      <blubb:foobar bla:abc="123" blubb:abc="456"/>

      ja klar, zweimal dasselbe Attribut ...

      <root xmlns      ="http://example.com/foo"
            xmlns:blubb="http://example.com/foo"
            xmlns:bar  ="http://example.com/bar">
      wird bei den Attributen als zulaessig erklaert:

      <blubb:foobar abc="123" blubb:abc="456"/>

      Das ist jetzt aber seltsam - das wäre ja eigentlich auch zweimal dasselbe Attribut.
      Ok, laut dem von Dir genannten Papier ist das abc-Attribut nicht aus dem Default-Namespace - aber aus welchem denn dann?

      Von einer "Uniqueness of Elements" finde ich aaO nichts, wuerde die Verwendung solcher Schreibweisen aber eher vermeiden.

      Ich würds auch nicht machen, ist mir halt so begegnet ...

      cu,
      Andreas

      --
      Warum nennt sich Andreas hier MudGuard?
      Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
      1. Hallo MudGuard,

        <root xmlns      ="http://example.com/foo"
              xmlns:blubb="http://example.com/foo"
              xmlns:bar  ="http://example.com/bar">
        wird bei den Attributen als zulaessig erklaert:

        <blubb:foobar abc="123" blubb:abc="456"/>

        abc hat wohl gar keinen Namespace bzw den ""-Namespace.
        Den Defaultnamespace für Attribute zu ist ja unpraktisch, weil man dann für jedes Attribut ein Prefix angeben müsste, wenn das Element nicht den Default-Namespace verwendet. Namespaces für Attribute braucht man sowieso fast nie, weil sie meist zusammen mit dem Element definiert werden.
        Alternativ hätte man wohl auch festlegen können, dass ein Attribut den Namespace vom Element erbt.
        Das hat aber den Nachteil, dass man in einem Namensraum keine "globalen" Attribute, die zu keinem bestimmten Element gehören definieren kann, wenn es schon ein gleichnamiges "elementlokales" Attribut gibt.
        Vermutlich kann man in XSchema so etwas machen.

        Grüße

        Daniel

        1. Ok, laut dem von Dir genannten Papier ist das abc-Attribut nicht aus dem Default-Namespace - aber aus welchem denn dann?

          abc hat wohl gar keinen Namespace bzw den ""-Namespace.

          Ja, es ist global. Dazu steht noch was in [XMLNS §A.1]

          Gunnar

          PS. Diesmal wieder nicht das englische Original. Ich denke, das geht in Ordnung. ;-)

          --
          „Solang wir noch tanzen können
          und richtig echte Tränen flennen,
          ist noch alles offen,
          ist noch alles drin.“
          (Gundermann)
          1. Hallo Gunnar,

            abc hat wohl gar keinen Namespace bzw den ""-Namespace.
            Ja, es ist global.

            Nein, global sind gerade die _mit_ Namespace, die ohne sind lokal, da ihre Bedeutung vom Element abhängt, zu dem sie gehören.

            Grüße

            Daniel

            1. Nein, global sind gerade die _mit_ Namespace, die ohne sind lokal, da ihre Bedeutung vom Element abhängt, zu dem sie gehören.

              Hi Daniel,
              Wer lesen kann, ist im Vorteil.
              Und wer verstehen kann, was er liest, um so mehr. ;-)

              Danke,
              Gunnar

              --
              „Solang wir noch tanzen können
              und richtig echte Tränen flennen,
              ist noch alles offen,
              ist noch alles drin.“
              (Gundermann)