Zurück |  | Weiter

## 13.10. Default-Namensraum in XML

Bei den XML- und XPath-basierten Tests werden Namensräume, für die ein Präfix definiert ist, automatisch erkannt. Weil der XML-Standard aber zulässt, dass Namensräume mehrfach definiert werden, ermittelt PDFUnit den Default-Namensraum nicht automatisch. Er muss durch das Attribut `defaultNamespace=".."` vorgegeben werden:

    <!--
      The default namespace has to be declared,
      but any alias can be used for it.
    -->
    <testcase name="hasXFAData_UsingDefaultNamespace">
      <assertThat testDocument="xfa/xfa-enabled.pdf">
        <hasXFAData>
          <withNode tag="foo:log/foo:to"
                    value="memory"
                    defaultNamespace="http://www.xfa.org/schema/xci/2.6/"
          />
        </hasXFAData>
      </assertThat>
    </testcase>

Beachten Sie, dass in diesem Beispiel einmal das Präfix `foo` und einmal das Präfix `bar` für den gleichen Namensraum verwendet wird. Das ist zwar seltsam, aber der Java-Standard verlangt ein beliebiges Präfix, das nicht weggelassen werden darf.

Das nächste Beispiel zeigt die Deklaration des Default-Namensraumes für das Tag `<matchingXPath />`:

    <testcase name="hasXMPData_MatchingXPath_WithDefaultNamespace">
      <assertThat testDocument="xmp/metadata-added.pdf">
        <hasXMPData>
          <matchingXPath expr="//foo:format = 'application/pdf'"
                         defaultNamespace="http://purl.org/dc/elements/1.1/"
          />
        </hasXMPData>
      </assertThat>
    </testcase>

Zurück | Nach oben | Weiter
13.9. Datumsauflösung | Zum Anfang | 13.11. Konfiguration überprüfen