xsl-list
[Top] [All Lists]

Re: [xsl] X3D XSLT - progress! next question!

2008-06-04 15:37:39
I'm assuming you are referring to:
<Transform  translation='.8 4 1'>
          <xsl:attribute name="translation"><xsl:value-of
select="(position() -1 ) * 6"/>
          </xsl:attribute>

Depending on how you want to do the translation, your math code looks
fine, you could do
<Transform>
          <xsl:attribute name="translation"><xsl:value-of
select="(position() -1 ) * 6"/> 4 1</xsl:attribute>

to get:
<Transform translation='0 4 1'>...
<Transform translation='6 4 1'>...
<Transform translation='12 4 1'>...

make sense?

dan



Dan Ochs, Principal Consultant
Wrycan Inc.
http://xsl.wrycan.com
dan(dot)ochsatwrycan(dot)com

On Wed, Jun 4, 2008 at 5:03 AM, j milo taylor <milo(_at_)suborg(_dot_)net> 
wrote:
Thanks to everyone, especially David, Darcy, Dean and Micheal who has helped
me on this. After a few weeks of frustration, I finally got my head around
XSLT a little bit.

This now compiles and works, in a very basic way.

The next question I need to resolve regards the "translation" attribute on
line 22. I would like this spatial offset to be applied to the <Box Shape>
node that follows, AND also to a number of subsequent nodes. In the code
fragment below, there is a Text node for example which displays the Artist's
Name (there will also be subsequent nodes e.g. <Artist_Year>,
<Artist_Details>. Each of these needs to be offset by the same amount as the
<Box Shape> node each time another <artist> is found in the XML.

Related to this is another question. How could this transform be applied on
the horizontal, rather than the vertical axis?

Here's what I have:

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  <xsl:output media-type="model/x3d=xml"
doctype-system="http://www.web3d.org/specifications/x3d-3.2.dtd";
method="xml" encoding="UTF-8" indent="yes" omit-xml-declaration="yes"/>
  <xsl:template match="/">
      <X3D profile="Immersive">&#10;

<head>&#10;<title/>
          </head>
          <Scene>
                        <xsl:apply-templates/>
          </Scene>
      </X3D>
  </xsl:template>

<xsl:template match="artists">
  <Group>
                <xsl:for-each select="artist">
                <Transform  translation='.8 4 1'>
          <xsl:attribute name="translation"><xsl:value-of
select="(position() -1 ) * 6"/>
          </xsl:attribute>
                          <Shape>                               <Appearance>

<xsl:element name="ImageTexture">
                                      <xsl:attribute name="url">
                                              <xsl:value-of
select="Artist_Image"/>
                                      </xsl:attribute>
                                  </xsl:element>

 <Material containerField='material' ambientIntensity='0.200'
shininess='0.200' diffuseColor='1 .50196 0'/>
                              </Appearance>
                                <Box containerField='geometry' size='5 5
0.2'/>
                          </Shape>
      </Transform>
                            <Transform  translation='2.9 2.6 0'>
                                           <Shape>

                              <Appearance>
                                                              <Material
containerField='material' ambientIntensity='0.200' shininess='0.200'
diffuseColor='1 .50196 0'/>
                              </Appearance> <xsl:element name="Text">
                                      <xsl:attribute name="string">
                                              <xsl:value-of
select="Artist_Second_Name"/>
                                      </xsl:attribute>
                                  </xsl:element>

                           </Shape>
          </Transform>
                              </xsl:for-each>
                        </Group>   </xsl:template>

</xsl:stylesheet>

And some example XML:

<?xml version="1.0" encoding="UTF-8" ?> <?xml-stylesheet type="text/xsl"
href="XSLT/X3D-XSLT/X3D-XSLT_for_Test_Artist_Group002.xsl"?>
<artists>
  <artist>

<Artist_Image>c://apache/htdocs/images/artists/Cunningham.jpg</Artist_Image>
      <Artist_First_Name>David</Artist_First_Name>
      <Artist_Second_Name>Cunningham</Artist_Second_Name>
      <Artist_Year>1954</Artist_Year>
      <Artist_Country>Ireland</Artist_Country>
  </artist>
   <artist>

<Artist_Image>c://apache/htdocs/images/artists/Finer.jpg</Artist_Image>
      <Artist_First_Name>Jem</Artist_First_Name>
      <Artist_Second_Name>Finer</Artist_Second_Name>
      <Artist_Year>1955</Artist_Year>
      <Artist_Country>Ireland</Artist_Country>
  </artist>
</artists>

People's comments about the dev environment I'm using have also been taken
on board. Is there a general consensus over the suitablility of me using
Saxon-B for this project?

Thanks for any help.
Best Regards
Milo

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