XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Conferences Close Tree View
+ Stylus Studio Feature Requests (1192)
+ Stylus Studio Technical Forum (14621)
+ Website Feedback (249)
- XSLT Help and Discussion (7625)
-> + how to insert un return in the... (2)
-> + String in a range (5)
-> + To identify the right edition (4)
-> + Flow Control Feature (2)
-> + calling nested external functi... (3)
-> + Replacing commas with a blank (6)
-> + Grouping very urgent . (2)
-> + xsl node number (3)
-> + Wordml intelligence (6)
-> + Preview and backmapping for wo... (5)
-> + XSLT - find line numbers of di... (2)
-> + The last five bytes of a varia... (7)
-> + simple problem but i'm a bit t... (3)
-> + H plz help me (2)
-> + XSLT : Very Urgent Requirement (7)
-> + comparing two xml files (3)
-> + Support for xsl created from w... (4)
-> + Wildcard Param (3)
-> + XSLT OutOfMemoryError (3)
-> + How can I output the filename ... (7)
-> + How do I strip out a comma ast... (8)
-> + xslt current-dateTime() not re... (2)
-> + Exceed the maximum recursion d... (8)
-> + Saxon9 "java.net.ConnectExcept... (2)
-> - Help Required (1)
-> + XSLT Help to get value from Up... (2)
-> + Date Functions (5)
-> + Need to unescape < and > (2)
-> + No Topic (2)
-> + Problem with handling multiple... (3)
-> + Question XPath expression (dis... (2)
-> + New user, basic question (2)
-> + Serializing XML to a string wi... (2)
-> + Node already has a control li... (2)
-> + Trying to access the position ... (5)
-> + XSLT Help (2)
-> + XSLT, Microsoft Access, and re... (4)
-> + saxon:assign usage problem. (5)
-> + Help with XSLT mapping require... (4)
-> + Muenchian Grouping problem (6)
-> + Automatic postprocessing (2)
-> + Problem Setting Variable (3)
-> - Problem Setting Variable (1)
-> + Looping question (14)
-> + Attribute Centeric XML from Re... (2)
-> + How do I do this ? (2)
-> + Accessing an attribute based o... (3)
-> + help needed - using saxon thro... (2)
-> + Grouping Problem still (6)
-> + Use XSL-FO to create tables fr... (6)
-> + taking out a child and (6)
-> + Yet another problem (3)
-> + using XSL-FO to convert PDF (4)
-> + Preventing namespace declarati... (2)
-> + Small problem during conversio... (4)
-> + Problems removing namespaces (2)
-> + Grouping/Following question (4)
-> + Transforming XML into another ... (3)
-> + Help Needes (3)
-> - Help needed! (1)
-> + Conv of DSML Format to XML for... (2)
-> - Regd, entering text in the t... (1)
-> + displaying all the text around... (4)
-> + inserting values into empty ta... (5)
-> + How to get rid of xmlns="" att... (3)
-> + XSLT How to include the '<' sy... (2)
-> - HELP: Functional XSLT Implemen... (1)
-> - Cannot find a matching 1-argum... (1)
-> + XSLT a:? (2)
-> + Attribute Value Concatenation (2)
-> - Why is the WYSIWYG xslt editor... (1)
-> + WebService Call Error: Ref ele... (4)
-> + How to replace value of a fiel... (2)
-> + Schema Validation Problems (3)
-> + Reusing a prior valid value in... (5)
-> + Clutching at straws! (2)
-> + Adding a number to a for each ... (2)
-> + Transform Name Value pairs int... (4)
-> + Transform the XML Scheme with ... (2)
-> + create XML drop down lists (2)
-> + error during stylesheet tutori... (3)
-> + Modify the value in a element ... (2)
-> + Call to extension function fai... (2)
-> + Convert XML Schema to XML - Mi... (2)
-> + How to calculate maximun RowCo... (3)
-> + Help with using not(preceding:... (5)
-> - Please Help me on this XML to ... (1)
-> + Paasing Parameter Values From ... (6)
-> + XSLT Transformation w/ namespa... (3)
-> + For-each select and parameter ... (3)
-> + Using < (less than) operator (5)
-> + Inserting carriage return (spe... (3)
-> + Inserting carriage return (spe... (2)
-> + Help with SerializerTrace erro... (8)
-> + xml to x3d (5)
-> + Exiting processing loop early (2)
-> + Easy way to Convert One source... (3)
-> + XSLT Editor tab missing from D... (2)
-> + Writing strings of characters ... (4)
-> + Adding the content of an eleme... (3)
-- Previous [601-620] [621-640] [641-660] Next
+ XQuery Help and Discussion (2017)
+ Stylus Studio FAQs (159)
+ Stylus Studio Code Samples & Utilities (364)
+ Stylus Studio Announcements (113)
Topic  
Postnext
Ryan PeelSubject: Can't figure this out ... Newbie ???
Author: Ryan Peel
Date: 26 Jul 2004 03:44 PM
I have an XML document that I'm trying to transform into another XML
document using XSL. Basically, the stylesheet is serving as a filter
to eliminate data from the original XML document. The result of the transformation
is at the bottom of this message denoted as "Result:". It's wierd, it's like
the namespace information is getting put inside of my first tag as if
it were an attribute or something. (Again, I posted the response that I
got from Stylus Studio at the bottom). Thanks for the help.



Here is my XML document. The "<RETURNED-DATA>" tags are the major groups
that I am looking to query based on some selected variables.


<APLUS-PROPERTY>
<EffectiveDate>7/26/2004</EffectiveDate>
<RETURNED-DATA>
<I-B>I</I-B>
<BUS-NAME></BUS-NAME>
<DOING-BUS-AS-NAME></DOING-BUS-AS-NAME>
<BUS-FED-TAX-ID></BUS-FED-TAX-ID>
<DOC-CONTROL-NUM></DOC-CONTROL-NUM>
<FIRST-INS-NAME>INSURED NAME DIFFERENT </FIRST-INS-NAME>
<FIRST-INS-NAME-AKA> </FIRST-INS-NAME-AKA>
<FIRST-INS-GENDER></FIRST-INS-GENDER>
<FIRST-INS-SSN>4006640010003</FIRST-INS-SSN>
<FIRST-INS-DOB></FIRST-INS-DOB>
<SECND-INS-NAME> </SECND-INS-NAME>
<SECND-INS-NAME-AKA> </SECND-INS-NAME-AKA>
<SECND-INS-GENDER></SECND-INS-GENDER>
<SECND-INS-SSN></SECND-INS-SSN>
<SECND-INS-DOB></SECND-INS-DOB>
<LOSS-LOCATION> RTE 1 FANTASYLAND IL607501234</LOSS-LOCATION>
<CURRENT-ADDR> RR 2BOX 1234 FANTASYLAND IL607501234</CURRENT-ADDR>
<MATCH-TYPE>q1</MATCH-TYPE>
<LOSS-DATA>07042000</LOSS-DATA>
<LOSS-AMOUNT>$2,500</LOSS-AMOUNT>
<CLAIM-TYPE>DISAP</CLAIM-TYPE>
<CAUSE-OF-LOSS>DISAP</CAUSE-OF-LOSS>
4006380010004<CATASTROPHE-NUM>N</CATASTROPHE-NUM>
<MORTGAGE>FANTASY HOME LOANS INC</MORTGAGE>
<LOAN-NUM></LOAN-NUM>
<POLICY-TYPE>HO</POLICY-TYPE>
<POLICY-NUM>H1234567890123</POLICY-NUM>
<LOSS-CARRIER>SUPER MUTUAL INSURANCE</LOSS-CARRIER>
<CASE-NUM>123412341234123</CASE-NUM>
<CLAIMANT-NAME> </CLAIMANT-NAME>
<CLAIMANT-ADDR> </CLAIMANT-ADDR>
<CLAIMANT-SSN></CLAIMANT-SSN>
<CLAIMANT-DOB></CLAIMANT-DOB>
<REMARKS></REMARKS>
<RECORD-FORMAT>L</RECORD-FORMAT>
<CLAIM-STATUS>C</CLAIM-STATUS>
<RET-LINE-FEED-DATA></RET-LINE-FEED-DATA></RETURNED-DATA>
4006510010005<RETURNED-DATA>
<I-B>B</I-B>
<BUS-NAME>MUFFLER KING</BUS-NAME>
<DOING-BUS-AS-NAME></DOING-BUS-AS-NAME>
<BUS-FED-TAX-ID></BUS-FED-TAX-ID>
<DOC-CONTROL-NUM></DOC-CONTROL-NUM>
<FIRST-INS-NAME> </FIRST-INS-NAME>
<FIRST-INS-NAME-AKA> </FIRST-INS-NAME-AKA>
<FIRST-INS-GENDER></FIRST-INS-GENDER>
<FIRST-INS-SSN></FIRST-INS-SSN>
<FIRST-INS-DOB></FIRST-INS-DOB>
<SECND-INS-NAME> </SECND-INS-NAME>
<SECND-INS-NAME-AKA> </SECND-INS-NAME-AKA>
<SECND-INS-GENDER></SECND-INS-GENDER>
<SECND-INS-SSN></SECND-INS-SSN>4005670010006
<SECND-INS-DOB></SECND-INS-DOB>
<LOSS-LOCATION> RTE 1 FANTASYLAND IL60750 </LOSS-LOCATION>
<CURRENT-ADDR> RTE 1 FANTASYLAND IL60750 </CURRENT-ADDR>
<MATCH-TYPE>q1</MATCH-TYPE>
<LOSS-DATA>05082000</LOSS-DATA>
<LOSS-AMOUNT>$254</LOSS-AMOUNT>
<CLAIM-TYPE>WC</CLAIM-TYPE>
<CAUSE-OF-LOSS>SPLINTER IN HAND</CAUSE-OF-LOSS>
<CATASTROPHE-NUM>N</CATASTROPHE-NUM>
<MORTGAGE></MORTGAGE>
<LOAN-NUM></LOAN-NUM>
<POLICY-TYPE>WC</POLICY-TYPE>
<POLICY-NUM>AB1E1234</POLICY-NUM>
<LOSS-CARRIER>FIRST 4006280010007 INSURANCE CO</LOSS-CARRIER>
<CASE-NUM>M1234567890</CASE-NUM>
<CLAIMANT-NAME>JAMESBURY THOMAS </CLAIMANT-NAME>
<CLAIMANT-ADDR>123 SQUARE RD FANTASY IL60750 </CLAIMANT-ADDR>
<CLAIMANT-SSN>123123123</CLAIMANT-SSN>
<CLAIMANT-DOB>11111911</CLAIMANT-DOB>
<REMARKS></REMARKS>
<RECORD-FORMAT>L</RECORD-FORMAT>
<CLAIM-STATUS>C</CLAIM-STATUS>
<RET-LINE-FEED-DATA></RET-LINE-FEED-DATA></RETURNED-DATA>
<RETURNED-DATA>
<I-B>B</I-B>
<BUS-NAME>BROTHERS, INC</BUS-NAME>
<DOING-BUS-AS-NAME></DOING-BUS-AS-NAME>
<BUS-FED-TAX-ID></BUS-FED-TAX-ID>
<DOC-CONTROL-NUM></DOC-CONTROL-NUM>4006100010008
<FIRST-INS-NAME> </FIRST-INS-NAME>
<FIRST-INS-NAME-AKA> </FIRST-INS-NAME-AKA>
<FIRST-INS-GENDER></FIRST-INS-GENDER>
<FIRST-INS-SSN></FIRST-INS-SSN>
<FIRST-INS-DOB></FIRST-INS-DOB>
<SECND-INS-NAME> </SECND-INS-NAME>
<SECND-INS-NAME-AKA> </SECND-INS-NAME-AKA>
<SECND-INS-GENDER></SECND-INS-GENDER>
<SECND-INS-SSN></SECND-INS-SSN>
<SECND-INS-DOB></SECND-INS-DOB>
<LOSS-LOCATION> ROUTE 7 NEWPORT ME04953 </LOSS-LOCATION>
4005880010009<CURRENT-ADDR> PO BOX 156 NEWPORT ME04953 </CURRENT-ADDR>
<MATCH-TYPE>q1</MATCH-TYPE>
<LOSS-DATA>07161999</LOSS-DATA>
<LOSS-AMOUNT>$0</LOSS-AMOUNT>
<CLAIM-TYPE>OTHER</CLAIM-TYPE>
<CAUSE-OF-LOSS>LACERATION TO FINGER ( CLC ) 300662310</CAUSE-OF-LOSS>
<CATASTROPHE-NUM></CATASTROPHE-NUM>
<MORTGAGE></MORTGAGE>
<LOAN-NUM></LOAN-NUM>
<POLICY-TYPE>WC</POLICY-TYPE>
<POLICY-NUM></POLICY-NUM>
<LOSS-CARRIER>NETHERLANDS INS COS</LOSS-CARRIER>
<CASE-NUM>WC 922483607169901</CASE-NUM>
<CLAIMANT-NAME>CLUKEY SCOTT A</CLAIMANT-NAME>
4003400010010<CLAIMANT-ADDR>32 HIGH ST NEWPORT ME04953 </CLAIMANT-ADDR>
<CLAIMANT-SSN>006869335</CLAIMANT-SSN>
<CLAIMANT-DOB>04301971</CLAIMANT-DOB>
<REMARKS></REMARKS>
<RECORD-FORMAT>L</RECORD-FORMAT>
<CLAIM-STATUS>O</CLAIM-STATUS>
<RET-LINE-FEED-DATA></RET-LINE-FEED-DATA></RETURNED-DATA>
4000130019999006328</APLUS-PROPERTY>



Here is my stylesheet: My filter is by a variable called "$PolicyType" and
further by a date calculation (a call to a JScript function called getAge) that
returns only records that are within 10 years of the year part of the value
in the EffectiveDate variable. This transformation should return one of the two
possible "<RETURNED-DATA>" tags.


<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:local ="http://www.csc.com/mynamespace" >
<xsl:output omit-xml-declaration="yes" encoding="UTF-8"/>
<xsl:output method="xml" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<APLUS-PROPERTY>
<xsl:for-each select="RETURNED-DATA">
<xsl:variable name="EffDate" select="../EffectiveDate"/>
<xsl:variable name="PolicyType" select="POLICY-TYPE"/>
<xsl:variable name="myDate" select="concat(concat(concat(concat(substring(LOSS-DATA,1,2),'/'),substring(LOSS-DATA,3,2)),'/'),substring(LOSS-DATA,5,4))"/>
<xsl:if test="$PolicyType='BUS' or $PolicyType='CMP' or $PolicyType='D' or $PolicyType='E' or $PolicyType='EC' or $PolicyType='FIRE' or $PolicyType='F' or $PolicyType='HO' or $PolicyType='H' or $PolicyType='T' or $PolicyType='C' or $PolicyType='IM' or $PolicyType='I' or $PolicyType='NU' or $PolicyType='X' or $PolicyType='Z' or $PolicyType='GL' or $PolicyType='HOL' or $PolicyType='MP'">
<xsl:if test="local:getAge($myDate, $EffDate) &lt; 10">
<RETURNED-DATA>
<I-B><xsl:value-of select="I-B"/></I-B>
<BUS-NAME><xsl:value-of select="BUS-NAME"/></BUS-NAME>
<DOING-BUS-AS-NAME><xsl:value-of select="DOING-BUS-AS-NAME"/></DOING-BUS-AS-NAME>
<BUS-FED-TAX-ID><xsl:value-of select="BUS-FED-TAX-ID"/></BUS-FED-TAX-ID>
<DOC-CONTROL-NUM><xsl:value-of select="DOC-CONTROL-NUM"/></DOC-CONTROL-NUM>
<FIRST-INS-NAME><xsl:value-of select="FIRST-INS-NAME"/></FIRST-INS-NAME>
<FIRST-INS-NAME-AKA><xsl:value-of select="FIRST-INS-NAME-AKA"/></FIRST-INS-NAME-AKA>
<FIRST-INS-GENDER><xsl:value-of select="FIRST-INS-GENDER"/></FIRST-INS-GENDER>
<FIRST-INS-SSN><xsl:value-of select="FIRST-INS-SSN"/></FIRST-INS-SSN>
<FIRST-INS-DOB><xsl:value-of select="FIRST-INS-DOB"/></FIRST-INS-DOB>
<SECND-INS-NAME><xsl:value-of select="SECND-INS-NAME"/></SECND-INS-NAME>
<SECND-INS-NAME-AKA><xsl:value-of select="SECND-INS-NAME-AKA"/></SECND-INS-NAME-AKA>
<SECND-INS-GENDER><xsl:value-of select="SECND-INS-GENDER"/></SECND-INS-GENDER>
<SECND-INS-SSN><xsl:value-of select="SECND-INS-SSN"/></SECND-INS-SSN>
<SECND-INS-DOB><xsl:value-of select="SECND-INS-DOB"/></SECND-INS-DOB>
<LOSS-LOCATION><xsl:value-of select="LOSS-LOCATION"/></LOSS-LOCATION>
<CURRENT-ADDR><xsl:value-of select="CURRENT-ADDR"/></CURRENT-ADDR>
<MATCH-TYPE><xsl:value-of select="MATCH-TYPE"/></MATCH-TYPE>
<LOSS-DATA><xsl:value-of select="LOSS-DATA"/></LOSS-DATA>
<xsl:variable name="lossAmount" select="LOSS-AMOUNT"/>
<LOSS-AMOUNT><xsl:value-of select="translate(translate($lossAmount,',',''),'$','')"/></LOSS-AMOUNT>
<CLAIM-TYPE><xsl:value-of select="CLAIM-TYPE"/></CLAIM-TYPE>
<CAUSE-OF-LOSS><xsl:value-of select="CAUSE-OF-LOSS"/></CAUSE-OF-LOSS>
<CATASTROPHE-NUM><xsl:value-of select="CATASTROPHE-NUM"/></CATASTROPHE-NUM>
<MORTGAGE><xsl:value-of select="MORTGAGE"/></MORTGAGE>
<LOAN-NUM><xsl:value-of select="LOAN-NUM"/></LOAN-NUM>
<POLICY-TYPE><xsl:value-of select="POLICY-TYPE"/></POLICY-TYPE>
<POLICY-NUM><xsl:value-of select="POLICY-NUM"/></POLICY-NUM>
<LOSS-CARRIER><xsl:value-of select="LOSS-CARRIER"/></LOSS-CARRIER>
<CASE-NUM><xsl:value-of select="CASE-NUM"/></CASE-NUM>
<CLAIMANT-NAME><xsl:value-of select="CLAIMANT-NAME"/></CLAIMANT-NAME>
<CLAIMANT-ADDR><xsl:value-of select="CLAIMANT-ADDR"/></CLAIMANT-ADDR>
<CLAIMANT-SSN><xsl:value-of select="CLAIMANT-SSN"/></CLAIMANT-SSN>
<CLAIMANT-DOB><xsl:value-of select="CLAIMANT-DOB"/></CLAIMANT-DOB>
<REMARKS><xsl:value-of select="REMARKS"/></REMARKS>
<RECORD-FORMAT><xsl:value-of select="RECORD-FORMAT"/></RECORD-FORMAT>
<CLAIM-STATUS><xsl:value-of select="CLAIM-STATUS"/></CLAIM-STATUS>
<RET-LINE-FEED-DATA><xsl:value-of select="RET-LINE-FEED-DATA"/></RET-LINE-FEED-DATA>
</RETURNED-DATA>
</xsl:if>
</xsl:if>
</xsl:for-each>
</APLUS-PROPERTY>
</xsl:template>
<msxsl:script language="JScript" implements-prefix="local"><![CDATA[

function getAge(dateString, dateEffDt) {

var effdt = new Date(dateEffDt);

var yearEffDt = effdt.getFullYear();
var monthEffDt = (effdt.getMonth() + 1);
var dateEffDt = effdt.getDate();

dob = new Date(dateString);

var yearDob = dob.getFullYear();
var monthDob = (dob.getMonth()+ 1);
var dateDob = dob.getDate();

yearAge = yearEffDt - yearDob;

if (monthEffDt >= monthDob)
var monthAge = monthEffDt - monthDob;
else {
yearAge--;
var monthAge = 12 + monthEffDt -monthDob;
}

if (dateEffDt >= dateDob)
var dateAge = dateEffDt - dateDob;
else {
monthAge--;
var dateAge = 31 + dateEffDt - dateDob;

if (monthAge < 0) {
monthAge = 11;
yearAge--;
}
}
return yearAge;
}]]></msxsl:script>

</xsl:stylesheet>




Result:

<APLUS-PROPERTY xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:local="http://www.hastingsmutual.com/mynamespace">
</APLUS-PROPERTY>

Postnext
Ivan PedruzziSubject: Can't figure this out ... Newbie ???
Author: Ivan Pedruzzi
Date: 26 Jul 2004 10:21 PM

Hi Ryan,

You should add exclude-result-prefixes to the stylesheet element to filter undesired attributes

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:local="http://www.csc.com/mynamespace"
exclude-result-prefixes="msxsl local">

If you like to know more check out
http://www.w3c.org/TR/xslt#literal-result-element

Hope this Helps
Ivan

Postnext
Ryan PeelSubject: Can't figure this out ... Newbie ???
Author: Ryan Peel
Date: 27 Jul 2004 07:14 AM
Okay, thanks. That got rid of my problem where the namespace data appeared
to be an attribute of my <APLUS-PROPERTY> tag. However, now my result
appears to be empty.

Here is the result I get from Stylus Studio ...

<APLUS-PROPERTY />

.. And that's it. Do you have any more thoughts?

Posttop
Ivan PedruzziSubject: Can't figure this out ... Newbie ???
Author: Ivan Pedruzzi
Date: 27 Jul 2004 08:57 AM
The Xpath expression doesn't match your document.
change line 12 to
<xsl:for-each select="APLUS-PROPERTY/RETURNED-DATA">


You need type cast EffectiveDate element to string before passing to the function getAge

change line 17 to
<xsl:if test="local:getAge($myDate, string($EffDate)) &lt; 10">

I suggest you to spend sometime learning the language before doing additional work.

Ivan

   
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.