Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


XSL-transformering och namnrymdstjaffs i output

Postades av 2005-08-25 11:02:21 - Anders Vikström, i forum xml, Tråden har 6 Kommentarer och lästs av 1378 personer

Hej,

Här kommer förmodligen en larvigt enkel fråga. Jag försöker skapa en simpel html tabell utifrån ett xml-dokument (mha XslTransform i .NET). Problemet är att jag får med en massa oönskat namnrymdstjaffs i resultatet:

<table xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<tr xmlns:user="http://www.xxx.com/abc">...</tr>
<tr xmlns:user="http://www.xxx.com/abc">...</tr>
...
</table>

Jag gissar att det finns något enkelt sätt att bli av med dessa xmlns...


Svara

Sv: XSL-transformering och namnrymdstjaffs i output

Postades av 2005-08-25 11:34:34 - Per Persson

Hur ser dina källfiler ut?


Svara

Sv:XSL-transformering och namnrymdstjaffs i output

Postades av 2005-08-25 11:58:14 - Anders Vikström

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
version="1.0">

<xsl:template match="/XML/Data">
<table>
<xsl:apply-templates select="branchcode" />
<xsl:apply-templates select="creditcurrencycode" />
</table>
</xsl:template>

<xsl:include href="Details.xsl" />

</xsl:stylesheet>


<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:user="http://www.xxx.com/abc"
version="1.0">

<xsl:output method="html" />

<xsl:template match="//Data/*">
<tr>
<xsl:variable name="name" select="user:MakeResourceId(name())" />
<td><xsl:value-of select="//Resource/@value[../@localeid='0x409' and ../../@constant=$name]"/></td>
<td><xsl:value-of select="."/></td>
</tr>
</xsl:template>

<msxsl:script language="CSharp" implements-prefix="user">
<![CDATA[
public string MakeResourceId(string name)
{
return "LBL_" + name.ToUpper();
}
]]>
</msxsl:script>

</xsl:stylesheet>


Svara

Sv: XSL-transformering och namnrymdstjaffs i output

Postades av 2005-08-25 18:25:45 - Per Persson

Är det där två olika XSL-mallar du prövar med en i taget eller använder du båda?
Hur ser ditt XML-källdokument ut?


Svara

Sv:XSL-transformering och namnrymdstjaffs i output

Postades av 2005-08-26 07:55:43 - Anders Vikström

Ja, precis, jag använder båda - den ena anropar den andra. Den senare har jag dock förenklat lite mha ett extension-objekt:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:helper="urn:helper"
version="1.0">

<xsl:output method="html" />
<xsl:param name="lcid"/>

<xsl:template match="//Data/*">
<tr>
<td><xsl:value-of select="helper:GetLanguageString(name())"/></td>
<td><xsl:value-of select="."/></td>
</tr>
</xsl:template>

</xsl:stylesheet>

Mitt data kan se ut så här:

<XML>
<Data>
<transactionid>212</transactionid>
<branchcode>4030</branchcode>
<creditcurrencycode>QAR</creditcurrencycode>
...
</Data>
</XML>


Svara

Sv: XSL-transformering och namnrymdstjaffs i output

Postades av 2005-08-26 08:32:48 - Per Persson

En sak observerar jag och det är att du inte anger någon namnrymd för HTML-koden. Pröva att lägga till
<b>xmlns="http://www.w3.org/1999/xhtml"</b> i alla stylesheet-element.

Det skall påpekas att jag inte har någon erfarenhet av XslTransform, så jag vet inte om det är dess funktioner som är ointelligenta eller om problemen helt ligger i användningen.


Svara

Sv:XSL-transformering och namnrymdstjaffs i output

Postades av 2005-08-26 14:57:08 - Anders Vikström

Tack för dina tips Per, men tyvärr lyckas jag inte med att få bort alla xmlns. Har börjat titta på "alternativ". Prövade bl.a. med blandad framgång att överrida metoder i XmlTextWriter (som jag använder tillsammans med XslTransform). Enklast, om än inte särskilt elegant, är kanske ändå att använda ett regulärt uttryck för att "städa" resultatet:

    result = Text.RegularExpressions.Regex.Replace(result, "\sxmlns(?::[\w]+)?=""[^""]*""", "")



Svara

Nyligen

  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak
  • 16:14 Vem anlitar man egentligen när tak
  • 16:13 Vem anlitar man egentligen när tak
  • 11:52 Noen erfaring med uttak hos Mostbe
  • 11:51 Noen erfaring med uttak hos Mostbe

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 574
27 958
271 741
5 848
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies