das scheint tatsächlich etwas zu kompliziert zu sein. Ich hab's nochmal mit vermischten Namensräumen versucht und möchte hier kurz die Codes posten:
--- XHTML ---
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<?xml-stylesheet type="text/xsl" href="stylesheet.xsl"?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:media="media.xsd" lang="de" xml:lang="de">
<media:bild />
<b>nur html</b>
</html>
--- Stylesheet ---
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="bild">
wurde ersetzt
</xsl:template>
</xsl:stylesheet>
--- XSD ---
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="bild">
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded"/>
</xs:complexType>
</xs:element>
</xs:schema>
ich hoffe es wird deutlich was passieren soll: in der xhtml umgebung müsste <media:bild /> durch "wurde ersetzt" ersetzt werden...
tut es aber nicht. Warum?