xsddoc/src/net/sf/xframe/xsddoc/xslt util.xsl,1.15,1.16

Kurt Riede <[email protected]> Mon, 13 Dec 2004 16:14:16 +0000
Newsgroups gmane.text.xml.xframe.xsddoc.devel
Message-ID <[email protected]>
Update of /cvsroot/xframe/xsddoc/src/net/sf/xframe/xsddoc/xslt
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16672/src/net/sf/xframe/xsddoc/xslt

Modified Files:
	util.xsl 
Log Message:
fix for invalid hrefs on element references in source documentation

Index: util.xsl
===================================================================
RCS file: /cvsroot/xframe/xsddoc/src/net/sf/xframe/xsddoc/xslt/util.xsl,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -d -r1.15 -r1.16
*** util.xsl	13 Dec 2004 13:26:17 -0000	1.15
--- util.xsl	13 Dec 2004 16:14:13 -0000	1.16
***************
*** 160,163 ****
--- 160,181 ----
      <xsl:param name="referer"/>
      <xsl:param name="processedLocations"/>
+     <xsl:variable name="temp">
+       <xsl:apply-templates select="." mode="referenceTypeIntern">
+         <xsl:with-param name="qname" select="$qname"/>
+         <xsl:with-param name="referer" select="$referer"/>
+         <xsl:with-param name="processedLocations" select="$processedLocations"/>
+       </xsl:apply-templates>
+     </xsl:variable>
+     <xsl:value-of select="substring-before($temp, ' ')"/>
+ <!--
+     <xsl:value-of select="$temp"/>
+ -->
+   </xsl:template>
+   <!--
+   -->
+   <xsl:template match="xs:schema" mode="referenceTypeIntern">
+     <xsl:param name="qname"/>
+     <xsl:param name="referer"/>
+     <xsl:param name="processedLocations"/>
      <xsl:variable name="parent" select="$referer/.."/>
      <!-- try to resolve type reference in current schema -->
***************
*** 197,210 ****
      <xsl:choose>
        <xsl:when test="string($result) != ''">
!         <xsl:value-of select="$result"/>
        </xsl:when>
        <xsl:otherwise>
          <xsl:variable name="includeResult">
            <xsl:for-each select="xs:include">
!             <xsl:if test="not(contains($processedLocations, @schemaLocation))">
!               <xsl:apply-templates select="document(@schemaLocation, .)/xs:schema" mode="referenceType">
                  <xsl:with-param name="qname" select="$qname"/>
                  <xsl:with-param name="referer" select="$referer"/>
!                 <xsl:with-param name="processedLocations" select="concat($processedLocations, ' ', @schemaLocation)"/>
                </xsl:apply-templates>
              </xsl:if>
--- 215,228 ----
      <xsl:choose>
        <xsl:when test="string($result) != ''">
!         <xsl:value-of select="concat($result, ' ')"/>
        </xsl:when>
        <xsl:otherwise>
          <xsl:variable name="includeResult">
            <xsl:for-each select="xs:include">
!             <xsl:if test="not(contains($processedLocations, concat(' ', @schemaLocation, ' ')))">
!               <xsl:apply-templates select="document(@schemaLocation, .)/xs:schema" mode="referenceTypeIntern">
                  <xsl:with-param name="qname" select="$qname"/>
                  <xsl:with-param name="referer" select="$referer"/>
!                 <xsl:with-param name="processedLocations" select="concat($processedLocations, ' ', @schemaLocation, ' ')"/>
                </xsl:apply-templates>
              </xsl:if>
***************
*** 213,226 ****
          <xsl:choose>
            <!-- if not found: recurse imported schemas -->
!           <xsl:when test="$includeResult">
              <xsl:value-of select="$includeResult"/>
            </xsl:when>
            <xsl:otherwise>
              <xsl:for-each select="xs:import">
!               <xsl:if test="not(contains($processedLocations, @schemaLocation))">
!                 <xsl:apply-templates select="document(@schemaLocation, .)/xs:schema" mode="referenceType">
                    <xsl:with-param name="qname" select="$qname"/>
                    <xsl:with-param name="referer" select="$referer"/>
!                   <xsl:with-param name="processedLocations" select="concat($processedLocations, ' ', @schemaLocation)"/>
                  </xsl:apply-templates>
                </xsl:if>
--- 231,244 ----
          <xsl:choose>
            <!-- if not found: recurse imported schemas -->
!           <xsl:when test="string($includeResult) != ''">
              <xsl:value-of select="$includeResult"/>
            </xsl:when>
            <xsl:otherwise>
              <xsl:for-each select="xs:import">
!               <xsl:if test="not(contains($processedLocations, concat(' ', @schemaLocation, ' ')))">
!                 <xsl:apply-templates select="document(@schemaLocation, .)/xs:schema" mode="referenceTypeIntern">
                    <xsl:with-param name="qname" select="$qname"/>
                    <xsl:with-param name="referer" select="$referer"/>
!                   <xsl:with-param name="processedLocations" select="concat($processedLocations, ' ', @schemaLocation, ' ')"/>
                  </xsl:apply-templates>
                </xsl:if>
***************
*** 228,245 ****
            </xsl:otherwise>
          </xsl:choose>
- <!--
-         <xsl:text> XXX </xsl:text>
-         <xsl:for-each select="xs:import | xs:include">
-           <xsl:value-of select="@schemaLocation"/>
-           <xsl:text> YYY </xsl:text>
-           <xsl:if test="not(contains($processedLocations, @schemaLocation))">
-             <xsl:apply-templates select="document(@schemaLocation, .)/xs:schema" mode="referenceType">
-               <xsl:with-param name="qname" select="$qname"/>
-               <xsl:with-param name="referer" select="$referer"/>
-               <xsl:with-param name="processedLocations" select="concat($processedLocations, ' ', @schemaLocation)"/>
-             </xsl:apply-templates>
-           </xsl:if>
-         </xsl:for-each>
- -->
        </xsl:otherwise>
      </xsl:choose>
--- 246,249 ----



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/