JorgeDeJesus

Untitled

Sep 10th, 2012
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
XML 2.20 KB | None | 0 0
  1. <xsl:otherwise>
  2.                     <xsl:for-each select="//*[local-name()='Output']">
  3.                         <xsl:choose>
  4.                             <xsl:when test="count(./*/*[local-name()='LiteralData'])&gt;0">
  5.                                 <!--LiteralData type -->
  6.                                 <xsl:variable name="literalIdentifier"
  7.                                     select="concat(fn:flagRemover(string(./*[local-name()='Identifier']/text())),'Result')" />
  8.                                 <xsl:element name="{$literalIdentifier}">
  9.                                     <xsl:value-of select="./*/*[local-name()='LiteralData']/text()" />
  10.                                 </xsl:element>
  11.                             </xsl:when>
  12.                             <xsl:when test="count(./*/*[local-name()='BoundingBoxData'])&gt;0">
  13.                             <xsl:variable name="crs" select="./*/*[local-name()='BoundingBoxData']/@crs"/>
  14.                             <xsl:variable name="dimensions" select="./*/*[local-name()='BoundingBoxData']/@dimensions"/>
  15.                             <xsl:variable name="lowerCorner" select="./*/*/*[local-name()='LowerCorner']/text()" />
  16.                             <xsl:variable name="upperCorner" select="./*/*/*[local-name()='UpperCorner']/text()" />
  17.                             <xsl:value-of select="concat(translate($lowerCorner,' ',','),',',translate($upperCorner,' ',','),',',$crs,',',$dimensions)" />
  18.                             </xsl:when>
  19.                            
  20.                             <xsl:otherwise>
  21.                                 <!--  ComplexData -->
  22.                                 <!-- ATTENTION THE LITERALDATA AS REFERENCE WILL OUTPUT FROM HERE, NOT ELEGANT :( -->
  23.                                 <xsl:variable name="complexIdentifier"
  24.                                     select="concat(fn:flagRemover(string(./*[local-name()='Identifier']/text())),'Result')" />
  25.                                 <!--ComplexData may contain XML or string -->
  26.                                 <xsl:choose>
  27.                                     <xsl:when test="./*/*/*">
  28.                                         <xsl:element name="{$complexIdentifier}">
  29.                                             <xsl:copy-of select="./*/*/*" />
  30.                                         </xsl:element>
  31.                                     </xsl:when>
  32.                                     <xsl:otherwise>
  33.                                        
  34.                                         <xsl:element name="{$complexIdentifier}">
  35.                                             <!-- 2 Posibilities content or reference -->
  36.                                             <xsl:choose>
  37.                                                 <xsl:when test="./*[local-name()='Reference']/@href">
  38.                                                     <xsl:value-of select="./*[local-name()='Reference']/@href" />
  39.                                                     </xsl:when>
  40.                                                 <xsl:otherwise>
  41.                                                     <xsl:value-of select="./*/*/text()" />
  42.                                                 </xsl:otherwise>
  43.                                             </xsl:choose>
  44.                                         </xsl:element>
  45.                                     </xsl:otherwise>
  46.                                 </xsl:choose>
Advertisement
Add Comment
Please, Sign In to add comment