xsl-list
[Top] [All Lists]

Re: [xsl] Pulling Information from One Section to Another

2011-02-12 13:10:07
Instead of "//OtherInfo/chemSafAsmnt", how about
"following-sibling::OtherInfo/chemSafAsmnt"?

-Brandon :)


On Sat, Feb 12, 2011 at 12:40 PM, Horace Burke <xmlmarkup(_at_)yahoo(_dot_)com> 
wrote:
Hi all,

I am working on a project creating XSL-FO stylesheet and come across an issue
that I would like your help resolving. I am using Arbortext Epic Editor / E3
Engine for rendering.

Here is the dilemma:

In the XML snippet below, I want to pull information from section 16 (labeled
(2) in snippet) to section 15 (labeled (1) in snippet) for output display in 
the
PDF. In other words, this particular information (2) in section 16 should only
display in section 15 (1) if both sections are in the same level ("<sds>") or
same hierarchical parent. The <sds> element/tag is nested within anchor 
element
<gblsds> (<!ELEMENT gblsds (title, ((cvrSheet, sds, sds+) | sds))>).

The problem is that I am using "//" to pull the information and it is 
searching
the entire XML and placing the data in the section 15 (labeled (3) in snippet)
that doesn't required it.

How can I get the information from section 16 to display only in the section 
15
of the same hierarchy?

Please see XSL and XML snippets below and let me know if additional 
information
is needed.

Thanks in advance for your help. I really appreciate it.

Regards,
H. Burke

====XSL SNIPPET====
<!--+=== Section 15 ===+-->
<xsl:template match="RegInfo">
  ...
  <!--THE ELEMENT/TAG IS IN SECTION 16, HOWEVER, THE INFORMATION IS REQUIRED 
IN
SECTION 15-->
  <xsl:if test="//OtherInfo/chemSafAsmnt">
    <fo:table-row>
      <fo:table-cell padding-top="1.2mm" padding-bottom="1.2mm"
text-align="left" number-columns-spanned="2">
        <fo:block start-indent=".3em" font-weight="bold" end-indent="2mm">
   <xsl:apply-templates select="//OtherInfo/chemSafAsmnt/title"/>
        </fo:block>
      </fo:table-cell>
      <fo:table-cell padding-top="1.2mm" padding-bottom="1.2mm"
text-align="left" number-columns-spanned="5">
        <fo:block start-indent=".3em" end-indent="2mm">
   <xsl:apply-templates select="//OtherInfo/chemSafAsmnt/para"/>
        </fo:block>
      </fo:table-cell>
    </fo:table-row>
  </xsl:if>
</xsl:template>

====XML SNIPPET====
<gblsds>
  <title>SDS Information Sheet</title>
  ...
  <sds langID="EN">
    ...
    <RegInfo><title>Section 15</title>
      <CaReg><title>Canada</title>
        <para>This product is exempt from WHMIS label and SDS
requirements.</para>
        ...
      </CaReg>
<!--(1)INFORMATION PULLED FROM SECTION 16 WILL DISPLAY HERE IN THE PDF-->
      <para>Some ingredients listed in Section 15 are...in Section 3.</para>
    </RegInfo>
    <OtherInfo><title>Section 16</title>
      <SafRating><title>Safety Rating</title>
        ...
      </SafRating>
      ...
<!--(2)PULLING THIS INFORMATION (<chemSafAsmnt>...</chemSafAsmnt>) FROM 
SECTION
16 TO SECTION 15-->
      <chemSafAsmnt><title>SAC Requirements</title>
        <para change="yes">Test SAC requirements 1/31/11</para>
      </chemSafAsmnt>
    </OtherInfo>
    <disclaimer>WHILE INC. BELIEVES THE INFORMATION...SUBJECT TO LOCAL LAWS OR
REGULATIONS.</disclaimer>
  </sds>
  <sds langID="EN">
    ...
    <RegInfo><title>Section 15</title>
      <CaReg><title>Canada</title>
        <para>This product is exempt from WHMIS label and SDS
requirements.</para>
        ...
      </CaReg>
<!--(3)INFORMATION IS NOT IN SECTION 16 BELOW AND SHOULD NOT DISPLAY IN THE
PDF-->
      <para>Some ingredients listed in Section 15 are...in Section 3.</para>
    </RegInfo>
    <OtherInfo><title>Section 16</title>
      <SafRating><title>Safety Rating</title>
        ...
      </SafRating>
      ...
<!--(4)THE INFORMATION (<chemSafAsmnt>...</chemSafAsmnt>) IS NOT IN THIS 
SECTION
16 AND SHOULD NOT DISPLAY IN SECTION 15 OUTPUT-->
      <para>This SDS complies with EC Regulations.</para>
    </OtherInfo>
    <disclaimer>WHILE INC. BELIEVES THE INFORMATION...SUBJECT TO LOCAL LAWS OR
REGULATIONS.</disclaimer>
  </sds>

</gblsds>




____________________________________________________________________________________
Need Mail bonding?
Go to the Yahoo! Mail Q&A for great tips from Yahoo! Answers users.
http://answers.yahoo.com/dir/?link=list&sid=396546091

--~------------------------------------------------------------------
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>
--~--



--~------------------------------------------------------------------
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>
--~--

<Prev in Thread] Current Thread [Next in Thread>