targetNamespace and XSL

C

CB

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:xs="http://www.w3.org/2001/XMLSchema"
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:xsl="http://www.w3.org/1999/XSL/Transform"
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:xs="http://www.w3.org/2001/XMLSchema" xmlns:p3="Page3"
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="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="Page3 Page3tns.xsd">
...

--XSL--
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:page3="x-schema:page3tns.xsd">
<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?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,579
Members
45,053
Latest member
BrodieSola

Latest Threads

Top