![]() |
|
|
|
#1 |
|
I'm just picking up XSL, and am having problems with namespaces. None
of the posts I've read through/tried seem to work so I must be missing something basic. Please help. I started with a simple example, and created an XSD, XML and XSL that work. They are; ---XSD-- <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:element name="source"> ... --XML-- <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="Page3.xsl"?> <source> ... --XSL-- <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns xmlns:fo="http://www.w3.org/1999/XSL/Format"> <xsl:template match="source"> <xsl:apply-templates select="bold"/> <xsl:apply-templates select="red"/> <xsl:apply-templates select="italic"/> </xsl:template> ... As I said, this all works, and I get my expected outputs. Now, I want to add a targetNamespace to the XSD. So, I've changed my three files as follows; ---XSD-- <xs:schema targetNamespace="Page3" xmlns elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:element name="source"> ... --XML-- <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="Page3tns.xsl"?> <source xmlns="Page3" xmlns xsi:schemaLocation="Page3 Page3tns.xsd"> ... --XSL-- <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns <xsl:template match="Page3:source"> <xsl:apply-templates select="Page3:bold"/> <xsl:apply-templates select="Page3:red"/> <xsl:apply-templates select="Page3:italic"/> </xsl:template> ... This won't work. I've tried several variations on the namespace for p3 and Page3, and I've gotten various error messages and incorrect output. So, what is the correct line for declaring the Page3 namespace in the XSL? CB |
|
|