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)
-> + XXX maps to XXX system (3)
-> + Help with extracting bookmarks... (2)
-> + Stylus Studio crashes when sou... (2)
-> + WSDL not Displaying properly (5)
-> + How to use fonts other than ba... (5)
-> + Saxon XSLT2 and FOP for XSL:FO... (3)
-> + Converting from XML to EDIFACT (5)
-> + Looping more than one time thr... (2)
-> - Need help with using XQuery in... (1)
-> + Looping - Taking the comma out (3)
-> + xslt mapper is only processing... (4)
-> - Newbie: using Saxon 9.1 with F... (1)
-> + Editing ![CDATA[]]> in the Gr... (2)
-> + Convertic EDI files into XML (7)
-> + Type2 Authentication missing D... (6)
-> + Please help in a simple conver... (5)
-> + Doc/Literal Wrapped (4)
-> + Error starting Stylus Studio (9)
-> + WYSIWYG Menu Bar and Tab Missi... (2)
-> + XML file size limits (2)
-> + XML Publisher (2)
-> + cant get namespace declaration... (5)
-> + Fixed Width to XML (3)
-> - file to xml conversion (1)
-> + Create Multiple Page (3)
-> + Flat file conversion with colu... (3)
-> + New Line character problem in ... (2)
-> + need help - stylus doesn't sta... (2)
-> + command line StylusValidator ... (3)
-> + Help unistalling (2)
-> + recurse problem analysis (3)
-> - Newbie: WSAD and file paths (1)
-> - Stylus StudioŽ 2009 XML Enterp... (1)
-> + Help with XSL to transform two... (4)
-> + connect to xhive (2)
-> - element id and name attributes... (1)
-> - http://www.w3.org/2001/XMLSche... (1)
-> + Error message when converting ... (2)
-> + XML id and anyuri datatype (2)
-> - import xml into an ms acces... (1)
-> + Change version (6)
-> + Translate two files into one (3)
-> + invalid relative uri with data... (7)
-> + My table crashes java Runtime (5)
-> + inx to pdf (3)
-> + XSD - multiple similar namespa... (7)
-> + validating many xml files (4)
-> + Stylesheet Parameters (3)
-> + create web service using Stylu... (2)
-> + connect with sql server (4)
-> + License could not be validated... (2)
-> + How to open (or decompress) a ... (3)
-> + Stylus Studio 2009 Home & Java (4)
-> + Connect to Informix DB 7.31.FD... (2)
-> + Unable to download stylus stud... (5)
-> + conversion CSV to XML (2)
-> + Please help to create a XSL to... (2)
-> + Stylus Studio 2009 unresponsiv... (3)
-> + Stylus Studio 2009 and IBM Jav... (2)
-> + separate one record to two lin... (3)
-> + error when running xquery comm... (6)
-> + Convert ebcdic-cp-us to utf-8 (8)
-> - hi urgent plz (1)
-> + Java compile problem (7)
-> + How to set pattern match on th... (3)
-> + Adobe Illustrator CS4 xml not ... (3)
-> + validating XSD with W3c stand... (2)
-> + Count function with condition ... (2)
-> + [Context] variable (4)
-> + Batch process HTML to XML docu... (2)
-> + Need help with adding logiic ... (2)
-> - BUG when editing File Types (1)
-> + Is Stylus Studio XML authoring... (2)
-> + Missing Xpath Query Editor (8)
-> + Error Connecting to DB2 9.5 (3)
-> - Tony (1)
-> + Problem trying to use your sof... (2)
-> + cannot save or associate a sch... (2)
-> + xsd to dtd (2)
-> + Can we use Stylus for our proj... (4)
-> + printing a parent node value i... (2)
-> + How to tell StylusDiff.exe to ... (4)
-> + Pipeline Messages not Consiten... (2)
-> + Custom XML conversion (2)
-> + Format date fields (3)
-> + Can't Connect to iSeries via I... (11)
-> + "application failed to start" ... (5)
-> - Can't connect to an Access DB ... (1)
-> + Unable to attach external JVM (3)
-> + Adding Numbers using XSLT (2)
-> + copy all elements and hardcode... (2)
-> + A bit confused on where to sta... (2)
-> + Application Menu Problem (14)
-> + API to retrieve 'Adapter URL' ... (2)
-> + How do I move my Stylus Studio... (6)
-> + API to retrieve 'Adapter URL' ... (2)
-> + InterPage Linking Problem in .... (2)
-> + xsl - header only once in fore... (7)
-> + StylusDiff.exe crashes when co... (5)
-> + Validation against schemas wan... (5)
-- Previous [781-800] [801-820] [821-840] Next
+ Website Feedback (249)
+ XSLT Help and Discussion (7625)
+ XQuery Help and Discussion (2017)
+ Stylus Studio FAQs (159)
+ Stylus Studio Code Samples & Utilities (364)
+ Stylus Studio Announcements (113)
Topic  
Postnext
(Deleted User) Subject: Select one of multiple attributes?
Author: (Deleted User)
Date: 08 Dec 2008 03:15 PM
Hi there,

I have in vain tried to map an element's value if its attribute name has a certain value. No luck so far, hope you can help.

XML snippet:
<UserArea><nl:TimeCard><nl:ReportedResource><nl:Person><nl:Id><nl:IdValue>9688259</nl:IdValue></nl:Id><nl:PersonName><nl:LegalName>RWJ GOFFIN</nl:LegalName></nl:PersonName></nl:Person></nl:ReportedResource><nl:ReportedTime><nl:PeriodStartDate>2007-05-28</nl:PeriodStartDate><nl:PeriodEndDate>2007-06-03</nl:PeriodEndDate><nl:TimeInterval type="Regular"><nl:StartDateTime>2007-05-28</nl:StartDateTime><nl:EndDateTime>2007-06-03</nl:EndDateTime><nl:RateOrAmount currency="EUR" type="hourly" multiplier="+100.00"> +22.55</nl:RateOrAmount></nl:TimeInterval></nl:ReportedTime></nl:TimeCard><nl:StaffingAdditionalData><nl:CustomerReportingRequirements><nl:DepartmentName></nl:DepartmentName><nl:CustomerReferenceNumber></nl:CustomerReferenceNumber><nl:AdditionalRequirement requirementTitle="geboortedatum"></nl:AdditionalRequirement><nl:AdditionalRequirement requirementTitle="Postcode Plaats"></nl:AdditionalRequirement><nl:AdditionalRequirement requirementTitle="werkweeknummer">22</nl:AdditionalRequirement><nl:AdditionalRequirement requirementTitle="plaatsingsnummer">003221554</nl:AdditionalRequirement></nl:CustomerReportingRequirements></nl:StaffingAdditionalData></UserArea>

My xsl to map the nl:AdditionalRequirement if the requirementTitle attribute is "plaatsingsnummer":
<xsl:for-each select="a:UserArea/nl:StaffingAdditionalData/nl:CustomerReportingRequirements">
<Description>
<xsl:choose>
<xsl:when test="a:UserArea/nl:StaffingAdditionalData/nl:CustomerReportingRequirements/nl:AdditionalRequirement/@requirementTitle = 'plaatsingsnummer'">
<xsl:text>plaatsingsnummer exists</xsl:text>
</xsl:when>
<xsl:otherwise>no plaatsingsnummer</xsl:otherwise>
</xsl:choose>
</Description>
</xsl:for-each>

If I skip the for each I at least get a message "no plaatsingsnummer", but there is one, so how can I map it?

Thanks!


Cynthia

Postnext
(Deleted User) Subject: Select one of multiple attributes?
Author: (Deleted User)
Date: 08 Dec 2008 03:25 PM
Hi Cynthia,
inside the for-each instruction, your current element is now one of the a:UserArea/nl:StaffingAdditionalData/nl:CustomerReportingRequirements elements, so the inner test must be done only using nl:AdditionalRequirement/@requirementTitle = 'plaatsingsnummer'.

Alberto

Postnext
(Deleted User) Subject: Select one of multiple attributes?
Author: (Deleted User)
Date: 08 Dec 2008 04:26 PM
Hi Alberto,

I tried it with the for each round the Description element and inside but then I get no tag at all in the result. Without the for each I at least get a result (no plaatsingsnummer).

I am still doubting the for each though I think I should use it as the nl:AdditionalRequirement can occur multiple times. If I use a straight link in the mapper to see if I at least can see the value of element I also get no result. What am I missing?

Last tested (with the for each inside and around the element):
<xsl:for-each select="a:UserArea/nl:StaffingAdditionalData/nl:CustomerReportingRequirements">
<xsl:choose>
<xsl:when test="nl:AdditionalRequirement/@requirementTitle = 'plaatsingsnummer'">
<xsl:text>plaatsingsnummer exists</xsl:text>
</xsl:when>
<xsl:otherwise>no plaatsingsnummer</xsl:otherwise> </xsl:choose>
</xsl:for-each>

Grtz,


Cynthia

Postnext
(Deleted User) Subject: Select one of multiple attributes?
Author: (Deleted User)
Date: 09 Dec 2008 02:46 AM
Hi Cynthia,
if the for-each is not even entering the loop (i.e. if you are not seeing anything by executing the code) it could be that the XPath expression shouldn't start with a:UserArea; can you attach the source XML, and the XSLT code preceding this fragment?

Alberto

Postnext
(Deleted User) Subject: Select one of multiple attributes?
Author: (Deleted User)
Date: 09 Dec 2008 05:10 AM
Hi Alberto,

Could it be that there is a problem with all nl: prefixed elements, since non of these mapped elements gives a result. The location of the prefix namespace (xmlns:nl="http://ns.hr-xml.org/2004-08-02) does not work, is that the problem?

Attached the files:

Invoice.xsd
InvoiceAdditional.xsd
Finentry.xsl
20080121_114332.100167.4529093.10001.982205.12601217.INVOICE


UnknownZipStylus.zip

Postnext
(Deleted User) Subject: Select one of multiple attributes?
Author: (Deleted User)
Date: 09 Dec 2008 06:20 AM
Hi Cynthia,
the problem is not with the "nl" prefix, as its URI must not be a valid URL (it could be any string). The problem is that your XML has two levels of Line elements, and your current code is picking the outermost. That is, you have a Line sibling of Header, that has three children, LineNumber, Charges and Line; it's this last Line element the one that has a UserArea element as its last child.
So, probably you should write a recursive algorithm by having a separate template for Line elements; but in case you know you are always dealing with a two-level structure, you can change your XSL to say

<xsl:for-each select="../a:Line/a:Line">
<FinEntryLine>
<xsl:for-each select="a:UserArea/nl:StaffingAdditionalData/nl:CustomerReportingRequirements">
<Description>
<xsl:choose>
<xsl:when test="nl:AdditionalRequirement/@requirementTitle = 'plaatsingsnummer'">
<xsl:text>plaatsingsnummer exists</xsl:text>
</xsl:when>
<xsl:otherwise>no plaatsingsnummer</xsl:otherwise>
</xsl:choose>
</Description>
</xsl:for-each>


Alberto

Postnext
(Deleted User) Subject: Select one of multiple attributes?
Author: (Deleted User)
Date: 09 Dec 2008 07:33 AM
Hi Alberto,

This indeed helps! Thanks so far. The below construction works:

<FinEntryLine>
<xsl:for-each select="a:UserArea/nl:StaffingAdditionalData/nl:CustomerReportingRequirements">
<Description>
<xsl:choose>
<xsl:when test="nl:AdditionalRequirement/@requirementTitle = 'plaatsingsnummer'">
<xsl:text>plaatsingsnummer exists</xsl:text>
</xsl:when>
<xsl:otherwise>no plaatsingsnummer</xsl:otherwise>
</xsl:choose>
</Description>
</xsl:for-each>
</FinEntryLine>

but if I want to capture the tag value itself it gives no result. Can you help me one more time?

<FinEntryLine>
<xsl:for-each select="a:UserArea/nl:StaffingAdditionalData/nl:CustomerReportingRequirements">
<Description>
<xsl:choose>
<xsl:when test="@requirementTitle = 'plaatsingsnummer'">
<xsl:value-of select="nl:AdditionalRequirement"/>
</xsl:when>
<xsl:otherwise>no plaatsingsnummer</xsl:otherwise>
</xsl:choose>
</Description>
</xsl:for-each>
</FinEntryLine>

Thanks,


Cynthia

Postnext
(Deleted User) Subject: Select one of multiple attributes?
Author: (Deleted User)
Date: 09 Dec 2008 08:44 AM
Hi Cynthia,
in order to test whether there is an additional requirement named "plaatsingsnummer" you need to use the

<xsl:when test="nl:AdditionalRequirement/@requirementTitle = 'plaatsingsnummer'">

The test is true if there is at least one AdditionalRequirement with an attribute requirementTitle having the "plaatsingnummer" value.

Inside that, if you want to extract the text associated with that requirement, you need to use

<xsl:value-of select="nl:AdditionalRequirement[@requirementTitle = 'plaatsingsnummer']"/>

This will isolate the AdditionalRequirement elements with the desired requirementTitle, and print its text content.

Alberto

Postnext
(Deleted User) Subject: Select one of multiple attributes?
Author: (Deleted User)
Date: 09 Dec 2008 02:36 PM
Hi Alberto,

Changed the for each a little bit and now it is working if I not use a value of select, but just print a text in the when clause, for instance "plaatsingsnummer". I then correctly get three times "no plaatsingsnummer" and 1 time "plaatsingsnummer". The value of select is still not working though, does it have to do something with the fact that I am already inside the "nl:AdditionalRequirement" tag and I should only select the attribute itself?

<xsl:for-each select="a:UserArea/nl:StaffingAdditionalData/nl:CustomerReportingRequirements/nl:AdditionalRequirement">
<Description>
<xsl:choose>
<xsl:when test="@requirementTitle = 'plaatsingsnummer'">
<xsl:value-of select="nl:AdditionalRequirement[@requirementTitle = 'plaatsingsnummer']"/>
</xsl:when>
<xsl:otherwise>no plaatsingsnummer</xsl:otherwise>
</xsl:choose>
</Description>
</xsl:for-each>
</FinEntryLine>
</xsl:for-each>

Thanks,


Cynthia

Postnext
(Deleted User) Subject: Select one of multiple attributes?
Author: (Deleted User)
Date: 09 Dec 2008 03:46 PM
Cynthia,
the for-each instruction selects the node identified by its XPath expression as the current node; so, the value-of located inside its scope must not re-navigate to locate it, and can just be <xsl:value-of select="text()"/> (as the filtering was done by the parent xsl:when instruction).

Alberto

Postnext
(Deleted User) Subject: Select one of multiple attributes?
Author: (Deleted User)
Date: 09 Dec 2008 04:50 PM
Hi Alberto,

I am still progressing, I now moved on to an error about not finding a scema it wants to include. Error text:

---------------------------
Stylus Studio 2008 XML Enterprise Suite Release 2
---------------------------
Error: at xsd:include on line 17 of file:///e:/Klanten/SROL/VOORBE%7E1/InvoiceAdditionalNL.xsd:

Failed to process included schema document ../StaffingOrganization.xsd


URL: file:///e:/Klanten/SROL/VoorbeeldFactuur/20080121_114332.100167.4529093.10001.982205.12601217.INVOICE.xml
Line:15
Col: 38
Jump to location?
---------------------------
Yes No
---------------------------

Now I think I should place the StaffingOrganization.xsd one directory up from the location of InvoiceAdditionalNL.xsd, but it doesn't resolve the error. Could it be because this new schema (StaffingOrganization.xsd) is including itself a few new schema's as well?

Can you help me again? Thanks,


Cynthia

Postnext
(Deleted User) Subject: Select one of multiple attributes?
Author: (Deleted User)
Date: 12 Dec 2008 05:58 AM
Cynthia,
the zip file you provided was already missing a couple of schemas, so I cannot tell which ones you need to fully construct them. You will have to follow the error messages in telling what is missing and where it expects them to be located.

Alberto

Posttop
(Deleted User) Subject: Select one of multiple attributes?
Author: (Deleted User)
Date: 12 Dec 2008 06:15 AM
Hi Alberto,

I fixed this issue by copying the elements from the separate schema's to the main schema.

Thanks for all you help, appreciate it very much!

Cynthia

   
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.