We help IT Professionals succeed at work.

XSL question

Chris Jones
Chris Jones asked
on
Hello,

i have some XSL  and its pulling text but leaving out my html and not displaying on my web page.

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" extension-element-prefixes="date-converter" version="1.0"
    xmlns:date-converter="http://www.tamuc.edu/dateConverter/1.0/"
    xmlns:xalan="http://xml.apache.org/xalan"
    xmlns:xd="http://www.oxygenxml.com/ns/doc/xsl">
    <xd:doc scope="stylesheet">
        <xd:desc>
            <xd:p>
                <xd:b>Created on:</xd:b> Feb 3, 2011
            </xd:p>
            <xd:p>
                <xd:b>Author:</xd:b> DickinsonKen
            </xd:p>
            <xd:p/>
        </xd:desc>
    </xd:doc>
    <xsl:template match="/system-data-structure">
        <xsl:if test="activated/value='Yes' and date-converter:isActive(number(expire)) = 'true'">
            <div id="alert" style="width:100%;text-align:center;background-color:#eeb211;font-size:2em;color:#03314B;border-bottom:white solid 6px;padding-bottom:4px;position:relative;">
                <div id="alert-inner" style="width:940px; text-align:left; margin:auto;">
                    <div id="alert-header" style="font-size:2.5em;float:left;padding-right:10px;height:100%;vertical-align:middle;text-transform:uppercase;font-weight:bold;font-family:Trade Gothic LT Std Cn;margin-top:10px;">
                        <xsl:value-of select="heading"/>
                    </div>
                    <div id="alert-content">
                        <xsl:value-of select="text"/>
                    </div>
                </div>
                <div style="width:100%;height:1px;font-size:1px;clear:both;"></div>
            </div>
        </xsl:if>
    </xsl:template>
    <xalan:component functions="isActive" prefix="date-converter">
        <xalan:script lang="javascript"> 
            function isActive(date){
                var sRet = "false";
                var dNow = new Date();
                var dExpire = new Date(date);
                if (dNow &lt; dExpire){ 
                    sRet = "true";
                }
                return sRet;
            } 
        </xalan:script>
    </xalan:component>
</xsl:stylesheet>

Open in new window

Comment
Watch Question

Gertone (Geert Bormans)Information Architect
Top Expert 2006

Commented:
Hi Chris,

It does not help much if you just dump the stylesheet.
It would help if you added a source XML,
and it would help if you told us how you run the XSLT and what exactly the problem is

Poor questions get poor responses, or no response at all

Having said that, I see this XSLT is targeted solely for being used with Xalan.
Given that you use the documentation stub of Oxygen, I assume you developed in Oxygen
make sure that you select Xalan as the provcessor, or it will not work at all
If you expect this to work inside a browser, bad luck... None of the browsers support Xalan as the internal client XSLT processor
Chris JonesLead Application Web Developer

Author

Commented:
Hello,

i am new to this project so i only posted what i have found from what i can see this is generating the style for the XSLT. teh system that i am developing in is a content management system called Hannon hill / cascade server. I do apologize for teh lack of information but i was hoping someone could point me in the right  direction
Gertone (Geert Bormans)Information Architect
Top Expert 2006

Commented:
I can, but please send me at least an example XML
it could be that your XML is in a namespace, or does not have a root /system-data-structure
so none of the templates would be caught and the process will simply spit out the element content text nodes
Gertone (Geert Bormans)Information Architect
Top Expert 2006

Commented:
Just checked on cascade server and all the XSLT examples I find are XSLT1.
I have not found proof that under the hood Xalan is used
but first step seems to get a XML source for review and I bet the root element might be different or have a namespace
Chris JonesLead Application Web Developer

Author

Commented:
hello,

i think this may be the XML that you are looking for i don't see any other XML in this system that i can provide.
[code]
<?xml version="1.0" encoding="UTF-8"?>
<system-data-structure>
    <activated>
        <value>Yes</value>
    </activated>
    <expire>1425949200000</expire>
    <heading></heading>
    <text>
        <p>This is just a Web Page test!</p>
        <a href="http://www.tamuc.edu/">www.tamuc.edu</a>
    </text>
</system-data-structure>

Open in new window

Information Architect
Top Expert 2006
Commented:
OK, all seems right,
I am not sure at all what you are trying to achieve,
but maybe you want this

                   <div id="alert-content">
                        <xsl:value-of select="text"/>
                    </div>

Open in new window


to become

                   <div id="alert-content">
                        <xsl:copy-of select="text/node()"/>
                    </div>

Open in new window


I believe that could have the desired effect