XAML isn't a subset of XML or a rival to it. XAML is an XML-based language for declaratively building UI. See this from Microsoft's page on XAML (emphasis mine):
When represented as text, XAML files are XML files that generally have the .xaml extension. The files can be encoded by any XML encoding, but encoding as UTF-8 is typical.
So XAML is a language that is represented as XML, which is precisely what XML was designed to be - an eXtensible Markup Language that has no semantic meaning in itself, it simply defines a set of rules for describing and encoding documents, but it doesn't specify anything about the meaning of those documents - XAML does.
You can compare it with Android's XML-based layout language, which is exactly like XAML - a semantic layer (indicated by the XML namespace) built on top of XML's structure. When Android layouts specify this:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" ...>
While XAML defines this:
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
>
They're both laying down a semantic schema on top of the basic XML structure.