Einzelnen Beitrag anzeigen

Neuromancer

Registriert seit: 8. Aug 2003
62 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: [MSXML 4.0] - "case sensitive" bei selectSingl

  Alt 28. Nov 2007, 17:05
Hallo,

eine andere Möglichkeit besteht darin, das XML-Dokument vor der Weiterverarbeitung durch einen XSLT-Prozessor zu jagen.

Ein simuliertes UpperCase könnte zum Beispiel so aussehen:
XML-Code:
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml"/>

<xsl:template match="*">
  <xsl:element name="{name()}">

    <xsl:for-each select="@*">
      <xsl:attribute name="{name()}">
        <xsl:value-of select="." />
      </xsl:attribute>
    </xsl:for-each>

   <xsl:choose>
     <xsl:when test="name()='nick'">
       <xsl:value-of select="translate(current(),'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')" />
     </xsl:when>

     <xsl:otherwise>
       <xsl:apply-templates />
     </xsl:otherwise>
   </xsl:choose>

  </xsl:element>
</xsl:template>

</xsl:stylesheet>
Wandelt innerhalb des Dokuments alle Inhalte von Knoten mit dem Namen "nick" in Großbuchstaben um. Anschließend kannst du bequem mit selectSingleNode und UpperCase arbeiten, ohne den eigentlichen Dokumentinhalt verändern zu müssen.

Gruß
  Mit Zitat antworten Zitat