<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet href="xmlbase.css" type="text/css"?>
<root xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Root: no xml:base</title>
<xlink:link xlink:type="simple" xlink:href="a.xml">a.xml</xlink:link>
<p>Expected: &lt;current path>/a.xml</p>
<sect1 xml:base="http://www.mozilla.org">
  <title>Sect1: xml:base="http://www.mozilla.org"</title>
  <xlink:link xlink:type="simple" xlink:href="b.xml">b.xml</xlink:link>
  <p>Expected: http://www.mozilla.org/b.xml</p>
  <sect2 xml:base="/base">
    <title>Sect2: xml:base="/base"</title>
    <xlink:link xlink:type="simple" xlink:href="c.xml">c.xml</xlink:link>
    <p>Expected: http://www.mozilla.org/base/c.xml</p>
    <sect3 xml:base="">
      <title>Sect3: xml:base=""</title>
      <xlink:link xlink:type="simple" xlink:href="d.xml">d.xml</xlink:link>
      <p>Expected: http://www.mozilla.org/base/d.xml</p>
    </sect3>
    <sect3 xml:base="/">
      <title>Sect3: xml:base="/"</title>
      <xlink:link xlink:type="simple" xlink:href="d-2.xml">d-2.xml</xlink:link>
      <p>Expected: http://www.mozilla.org/d-2.xml</p>
    </sect3>
    <sect3 xml:base="/foobar">
      <title>Sect3: xml:base="/foobar"</title>
      <xlink:link xlink:type="simple" xlink:href="e.xml">e.xml</xlink:link>
      <p>Expected: http://www.mozilla.org/foobar/e.xml</p>
    </sect3>
    <sect3 xml:base="ding/dong">
      <title>Sect3: xml:base="ding/dong"</title>
      <xlink:link xlink:type="simple" xlink:href="f.xml">f.xml</xlink:link>
      <p>Expected: http://www.mozilla.org/base/ding/dong/f.xml</p>
    </sect3>
  </sect2>
  <sect2 xml:base="http://www.netscape.com">
    <title>Sect2: xml:base="http://www.netscape.com"</title>
    <xlink:link xlink:type="simple" xlink:href="g.xml">g.xml</xlink:link>
    <p>Expected: http://www.netscape.com/g.xml</p>
  </sect2>
  <sect2 xml:base="http://www.netscape.com">
    <title>Sect2: xml:base="http://www.netscape.com"</title>
    <xlink:link xlink:type="simple" xlink:href="http://www.mozilla.org/foobar/h.xml">http://www.mozilla.org/foobar/h.xml</xlink:link>
    <p>Expected: http://www.mozilla.org/foobar/h.xml</p>
  </sect2>
  <sect2 xml:base="http://www.netscape.com">
    <title>Sect2: xml:base="http://www.netscape.com"</title>
    <xlink:link xlink:type="simple" xlink:href="i.xml" xml:base="wow">i.xml, this element has xml:base="wow"</xlink:link>
    <p>Expected: http://www.netscape.com/wow/i.xml</p>
  </sect2>
</sect1>
<sect1 xml:base="nothere">
  <title>Sect1: xml:base="nothere"</title>
  <xlink:link xlink:type="simple" xlink:href="j.xml">j.xml</xlink:link>
  <p>Expected: &lt;current path>/nothere/j.xml</p>
</sect1>
<sect1 xml:base="/not">
  <title>Sect1: xml:base="/not"</title>
  <xlink:link xlink:type="simple" xlink:href="k.xml">k.xml</xlink:link>
  <p>Expected: file:///not/k.xml</p>
</sect1>
<sect1 xml:base="http://foobar.com/ä ö/">
  <title>Sect1: xml:base="http://foobar.com/ä ö/"</title>
  <xlink:link xlink:type="simple" xlink:href="l.xml">l.xml</xlink:link>
  <p>Expected: http://foobar.com/%E4%20%F6/l.xml</p>
</sect1>
<sect1 xml:base="http://foobar.com/ /%20/">
  <title>Sect1: xml:base="http://foobar.com/ /%20/"</title>
  <xlink:link xlink:type="simple" xlink:href="m.xml">m.xml</xlink:link>
  <p>Expected: http://foobar.com/%20/%20/m.xml</p>
</sect1>
<sect1 xml:base="chrome://navigator">
  <title>Sect1: xml:base="chrome://navigator"</title>
  <xlink:link xlink:type="simple" xlink:href="n.xml">n.xml</xlink:link>
  <p>Expected: |current path|/n.xml because chrome URL is not allowed</p>
  <sect2 xml:base="http://www.mozilla.org">
    <title>Sect2: xml:base="http://www.mozilla.org"</title>
    <xlink:link xlink:type="simple" xlink:href="o.xml" xml:base="chrome://navigator">o.xml, this element has xml:base="chrome://navigator"</xlink:link>
    <p>Expected: http://www.mozilla.org/o.xml because chrome base is not allowed</p>
  </sect2>
</sect1>
</root>