I trying to do a two level group using keys and failing given the following
data. The first group is on <WorkArea> the second on <Skill>. See --Data
Start-- below
My problem is that I don't know how to deal with the fact that there is not
always a WorkArea or Skill element and I want to include all data even when
either or these elements don't exist.
I am trying to use the stylesheet below see --StyleSheet Start--
I am successful when a Skill element exists but not when it doesn't. In
addition if there is WorkArea and no skill I do not see the row I want ie
There should be an output in my data for all those Sheets without a WorkArea or
Skill and with a WorkArea if there is no skill. ie TransactionNo = (1,2,8) do
not show up
Thanks
--StyleSheet Start--
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:key name="WorkAreas" match="Sheet/PlanningData"
use="concat(WorkArea,'None')" />
<xsl:key name="Skills" match="SkillRequirement"
use="concat(../WorkArea,'None',Skill,'None')" />
<xsl:template match="CertificationSheets">
<HTML>
<HEAD><TITLE>TEST</TITLE></HEAD>
<BODY>
<xsl:apply-templates
select="Sheet/PlanningData/SkillRequirement [generate-id(.) =
generate-id(key('Skills',concat(../WorkArea,'None',Skill,'None'))[1])]">
</xsl:apply-templates>
</BODY>
</HTML>
</xsl:template>
<xsl:template match="SkillRequirement">
<P>Work Area: <xsl:value-of select="../WorkArea"/> </P>
<P>Skill: <xsl:value-of select="Skill"/> </P>
<P>
<TABLE border="1">
<TBODY>
<TR>
<TD>
<B>Trn #</B>
</TD>
<TD>
<B>Type</B>
</TD>
</TR>
<xsl:for-each
select="key('Skills',concat(../WorkArea,'None',Skill,'None'))">
<TR>
<TD>
<B><xsl:value-of
select="../../Summary/WorkOrderInfo/TransactionNo" /></B>
</TD>
<TD>
<B>
<xsl:value-of
select="../../Detail/Task/Type" />
</B>
</TD>
</TR>
</xsl:for-each>
</TBODY>
</TABLE>
</P>
</xsl:template>
</xsl:stylesheet>
--StyleSheet End--
--Data Start--
<?xml version="1.0" encoding="CP437"?>
<?xml-stylesheet type="text/xsl" href="task_summ_html.xsl"?>
<CertificationSheets>
<Sheet>
<Summary>
<WorkOrderInfo>
<TransactionNo>000001</TransactionNo>
</WorkOrderInfo>
</Summary>
<Detail>
<Task>
<Type>SERV</Type>
</Task>
</Detail>
<PlanningData>
<WorkArea>EI&R</WorkArea>
</PlanningData>
</Sheet>
<Sheet>
<Summary>
<WorkOrderInfo>
<TransactionNo>000002</TransactionNo>
</WorkOrderInfo>
</Summary>
<Detail>
<Task>
<Type>INSP/FUNC</Type>
</Task>
</Detail>
<PlanningData>
</PlanningData>
</Sheet>
<Sheet>
<Summary>
<WorkOrderInfo>
<TransactionNo>000003</TransactionNo>
</WorkOrderInfo>
</Summary>
<Detail>
<Task>
<Type>OPTNL CK</Type>
</Task>
</Detail>
<PlanningData>
<WorkArea>EI&R</WorkArea>
<SkillRequirement>
<Skill>ELEC/INST</Skill>
<ManHours> 1.00</ManHours>
</SkillRequirement>
</PlanningData>
</Sheet>
<Sheet>
<Summary>
<WorkOrderInfo>
<TransactionNo>000004</TransactionNo>
</WorkOrderInfo>
</Summary>
<Detail>
<Task>
<Type>OPTNL CK</Type>
</Task>
</Detail>
<PlanningData>
<WorkArea>EI&R</WorkArea>
<SkillRequirement>
<Skill>ELEC/INST</Skill>
<ManHours> 1.00</ManHours>
</SkillRequirement>
</PlanningData>
</Sheet>
<Sheet>
<Summary>
<WorkOrderInfo>
<TransactionNo>000005</TransactionNo>
</WorkOrderInfo>
</Summary>
<Detail>
<Task>
<Type>OPTNL CK</Type>
</Task>
</Detail>
<PlanningData>
<WorkArea>CCC</WorkArea>
<SkillRequirement>
<Skill>AIRFRAME</Skill>
<ManHours> 1.00</ManHours>
</SkillRequirement>
</PlanningData>
</Sheet>
<Sheet>
<Summary>
<WorkOrderInfo>
<TransactionNo>000006</TransactionNo>
</WorkOrderInfo>
</Summary>
<Detail>
<Task>
<Type>INSP</Type>
</Task>
</Detail>
<PlanningData>
<WorkArea>LH ENG</WorkArea>
<SkillRequirement>
<Skill>ELECTRICAL</Skill>
<ManHours> 1.00</ManHours>
</SkillRequirement>
<SkillRequirement>
<Skill>AIRFRAME</Skill>
<ManHours> 1.00</ManHours>
</SkillRequirement>
</PlanningData>
</Sheet>
<Sheet>
<Summary>
<WorkOrderInfo>
<TransactionNo>000007</TransactionNo>
</WorkOrderInfo>
</Summary>
<Detail>
<Task>
<Type>INSP</Type>
</Task>
</Detail>
<PlanningData>
<WorkArea>LH ENG</WorkArea>
<SkillRequirement>
<Skill>ELECTRICAL</Skill>
<ManHours> 1.00</ManHours>
</SkillRequirement>
</PlanningData>
</Sheet>
<Sheet>
<Summary>
<WorkOrderInfo>
<TransactionNo>000008</TransactionNo>
</WorkOrderInfo>
</Summary>
<Detail>
<Task>
<Type>INSP/FUNC</Type>
</Task>
</Detail>
<PlanningData>
</PlanningData>
</Sheet>
<Sheet>
<Summary>
<WorkOrderInfo>
<TransactionNo>000009</TransactionNo>
</WorkOrderInfo>
</Summary>
<Detail>
<Task>
<Type>INSP</Type>
</Task>
</Detail>
<PlanningData>
<SkillRequirement>
<Skill>ELECTRICAL</Skill>
<ManHours> 1.00</ManHours>
</SkillRequirement>
<SkillRequirement>
<Skill>ENGINES</Skill>
<ManHours> 1.00</ManHours>
</SkillRequirement>
</PlanningData>
</Sheet>
</CertificationSheets>
--Data End-
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--