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  
Posttop
Karen FoxSubject: Problem Setting Variable
Author: Karen Fox
Date: 15 Apr 2008 04:38 PM
I'm trying to create a variable using the output of an xsl:choose. However, I keep getting back an empty variable. I need to validate whether a certain field in the XML document has a value from one of the two imported documents. Could someone please guide me in the right direction? I need to be able to check this variable afterward to see if it has content or not. Thank you.

Karen Fox
kfox@mitre.org

XSL:

<?xml version='1.0'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ucore="urn:ucore:2.0">

<xsl:variable name="eventsDoc" select="document('EventTypeList.xml')"/>
<xsl:variable name="entityDoc" select="document('EntityTypeList.xml')"/>

<xsl:template match="*">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>

<xsl:template match="ucore:what">
<xsl:variable name="myType" select="@value"/>
<xsl:variable name="found">
<xsl:choose>
<xsl:when test="contains($myType,'Entity')">
<xsl:for-each select="$entityDoc/EntityList/entity">
<xsl:if test="$myType=@id">
<xsl:element name="ucore:what">
<xsl:attribute name="value">
<xsl:value-of select="$myType"/>
</xsl:attribute>
</xsl:element>
</xsl:if>
</xsl:for-each>
</xsl:when>
<xsl:when test="contains($myType,'Event')">
<xsl:for-each select="$eventsDoc/EventList/event">
<xsl:if test="$myType=@id">
<xsl:element name="ucore:what">
<xsl:attribute name="value">
<xsl:value-of select="$myType"/>
</xsl:attribute>
</xsl:element>
</xsl:if>
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:value-of select="$found"/>
</xsl:template>
</xsl:stylesheet>

Portion of XML document being transformed:

<?xml version="1.0" encoding="UTF-8"?>
<ulexpd:doPublish
xmlns:new="http://somewhere.gov/new-community"
xmlns:ulexpd="ulex:message:pd:1.0"
xmlns:ulex="ulex:message:structure:1.0"
xmlns:ulexcodes="ulex:message:codes:1.0"
xmlns:ucore="urn:ucore:2.0"
xmlns:ucore-ulex="urn:ucore:2.0:ulex-integration"
xmlns:icism="urn:us:gov:ic:ism:v2"
xmlns:ddms="http://metadata.dod.mil/mdr/ns/DDMS/1.4/"
xmlns:gml="http://www.opengis.net/gml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
ulex:message:pd:1.0 ../import/ULEX1.0beta/xsd/ulex/ulex-publish-discover/1.0/ulex-publish-discover.xsd
ulex:message:codes:1.0 ../import/ULEX1.0beta/xsd/ulex/ulex-codes/1.0/ulex-codes.xsd
ulex:message:structure:1.0 ../import/ULEX1.0beta/xsd/ulex/ulex/1.0/ulex.xsd
urn:ucore:2.0 ../ucore.xsd
http://metadata.dod.mil/mdr/ns/DDMS/1.4/ ../import/DDMSv1.4.1/ns/DDMS/1.4.1/DDMS-v1_4_1.xsd
urn:ucore:2.0:ulex-integration ../ulex-integration/ulex-integration.xsd">
<ulex:PublishMessageContainer>
<!--======================= Message =======================-->
<ulex:PublishMessage>
<ulex:PDMessageMetadata>
<ulex:ULEXFramework>
</ulex:ULEXFramework>
<ulex:ULEXImplementation>
<ulex:ULEXImplementationVersion></ulex:ULEXImplementationVersion>
<ulex:ULEXImplementationName></ulex:ULEXImplementationName>
</ulex:ULEXImplementation>
<ulex:MessageDateTime>2001-12-17T09:30:47.0Z</ulex:MessageDateTime>
<ulex:MessageSequenceNumber>1</ulex:MessageSequenceNumber>
</ulex:PDMessageMetadata>
<!--======================= Data Submitter Metadata =======================-->
<ulex:DataSubmitterMetadata>
<ucore-ulex:SystemIdentifier>System ABC</ucore-ulex:SystemIdentifier>
<ucore-ulex:SystemContact>
<ddms:Organization>
<ddms:name>Colorado Springs Fire Department</ddms:name>
<ddms:phone>719-555-5555</ddms:phone>
<ddms:email>abc@xyz.gov</ddms:email>
</ddms:Organization>
</ucore-ulex:SystemContact>
</ulex:DataSubmitterMetadata>
<!--==================== Package ====================-->
<ulex:DataItemPackage>
<ulex:PackageMetadata>
<ulex:DataItemID>23456789</ulex:DataItemID>
<ulex:DataItemCompleteIndicator>false</ulex:DataItemCompleteIndicator>
<ulex:DataItemDate>2008-04-11</ulex:DataItemDate>
<ulex:DataItemReferenceID>23456789</ulex:DataItemReferenceID>
<ucore-ulex:DataItemStatus>Updated Vehicle Position Report</ucore-ulex:DataItemStatus>
<!--======================= Data Owner Metadata =======================-->
<ulex:DataOwnerMetadata>
<ucore-ulex:DataOwnerIdentifier>
<ddms:Organization>
<ddms:name>Colorado Springs Fire Department</ddms:name>
</ddms:Organization>
</ucore-ulex:DataOwnerIdentifier>
<ucore-ulex:DataOwnerContact>
<ddms:Organization>
<ddms:name>Colorado Springs Fire Department</ddms:name>
<ddms:phone>719-555-5555</ddms:phone>
<ddms:email>abc@xyz.gov</ddms:email>
</ddms:Organization>
</ucore-ulex:DataOwnerContact>
</ulex:DataOwnerMetadata>
<ucore-ulex:DisseminationCriteria icism:classification="U"/>
</ulex:PackageMetadata>
<!--======================= Digest =======================-->
<ucore-ulex:digest>
<ucore-ulex:metadata icism:classification="U" icism:ownerProducer="USA"/>

<!--Arrival Event-->
<ucore:Event id="Arrival">
<ucore:descriptor>"Arrival in Port"</ucore:descriptor>
<ucore:what value="Event.Planned.Today" />
<ucore:time>
<ucore:instant><ucore:dateTime>2004-04-01T06:00:00</ucore:dateTime></ucore:instant>
</ucore:time>
</ucore:Event>

<!--Vessel-->
<ucore:Entity id="ARR3232">
<ucore:descriptor>Atlantic Light</ucore:descriptor>
<ucore:what value="Entity.PhysicalObject.Conveyance.Vehicle"/>
</ucore:Entity>
</ulex:DataItemPackage>
</ulex:PublishMessage>
</ulex:PublishMessageContainer>
</ulexpd:doPublish>

Karen Fox
kfox@mitre.org

   
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.