Iterarion (Antwort auf Thomas JS nachricht von Mittwoch)
pices
- xsl
0 pices0 Thomas J.S.0 pices
hallo thomas ,
letzte Woche am Mittwoch hast du mich geantwortet.War leider nicht da.
Heute habe ich deine Antwort gesehen un versucht , fonctioniert immer nicht weil meine xml-datei anders strukturiert ist:
Die ist so:
<?xml version="1.0" encoding="ISO-8859-1"?>
<data>
<dataquery>
<dig:instances xmlns:dig="http://www.dig.org">
<dig:catom xmlns:xsl="http://www.w3.org/1999/XSL/Transform" name="meta:ActionWithSuccessor"/>
</dig:instances>
</dataquery>
<dataquery>
<dig:instances xmlns:dig="http://www.dig.org">
<dig:catom xmlns:xsl="http://www.w3.org/1999/XSL/Transform" name="meta:Action"/>
</dig:instances>
</dataquery>
<dataquery>
<dig:instances xmlns:dig="http://www.dig.org">
<dig:catom xmlns:xsl="http://www.w3.org/1999/XSL/Transform" name="meta:Action"/>
</dig:instances>
</dataquery>
.....
<xsl:text>------</xsl:text>
...
</data>
~~~ und ich will nur die <dig:instances>copieren und die mit attribute"id" =1, 2,3 und so weiter haben.(wie du schon gemacht hast)
Wie gehe ich jetzt vor.
Gruß,
pices
hallo thomas ,
letzte Woche am Mittwoch hast du mich geantwortet.War leider nicht da.
Heute habe ich deine Antwort gesehen un versucht , fonctioniert immer nicht weil meine xml-datei anders strukturiert ist:
Die ist so:
<?xml version="1.0" encoding="ISO-8859-1"?>
<data>
<dataquery>
<dig:instances xmlns:dig="http://www.dig.org">
<dig:catom xmlns:xsl="http://www.w3.org/1999/XSL/Transform" name="meta:ActionWithSuccessor"/>
</dig:instances>
</dataquery>
<dataquery>
<dig:instances xmlns:dig="http://www.dig.org">
<dig:catom xmlns:xsl="http://www.w3.org/1999/XSL/Transform" name="meta:Action"/>
</dig:instances>
</dataquery>
<dataquery>
<dig:instances xmlns:dig="http://www.dig.org">
<dig:catom xmlns:xsl="http://www.w3.org/1999/XSL/Transform" name="meta:Action"/>
</dig:instances>
</dataquery>
.....
xsl:text------</xsl:text>
...
</data>
>
> Wie gehe ich jetzt vor.
>
> Gruß,
> pices
Gut thomas hat geklappt danke. ich habe nur die node berucksichtigt und es hat geklappt.
Bis bald bestimmt.
Hallo,
Gut thomas hat geklappt danke. ich habe nur die node berucksichtigt und es hat geklappt.
Bestens!
Bis bald bestimmt.
6 min. reaktionszeit. Auch schön ;-)
Grüße
Thomas
Hallo,
Gut thomas hat geklappt danke. ich habe nur die node berucksichtigt und es hat geklappt.
Bestens!
Bis bald bestimmt.
6 min. reaktionszeit. Auch schön ;-)
Grüße
Thomas
Hallo, ich glaube ich habe schnell houha gesagt.ich kriege die "id" bei "<dataquery>" und nicht dig:instances was soll ich ergänzen?
XSLT- datei
<xsl:template match="dataquery">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:attribute name="id"><xsl:value-of select="position()"/></xsl:attribute>
<xsl:copy-of select="*"/>
</xsl:copy>
</xsl:template>
Hallo,
Hallo, ich glaube ich habe schnell houha gesagt.ich kriege die "id" bei "<dataquery>" und nicht dig:instances was soll ich ergänzen?
Ausgehend von deinem XML aus deinem ersten Posting:
Grüße
Thomas
----------- xslt -------------
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:dig="http://www.dig.org">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/data">
<data>
<xsl:for-each select="dataquery">
<xsl:variable name="DQPos" select="position()" />
<dataquery>
<xsl:for-each select="dig:*">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:attribute name="id">
<xsl:value-of select="$DQPos"/>
</xsl:attribute>
<xsl:copy-of select="*"/>
</xsl:copy>
</xsl:for-each>
</dataquery>
</xsl:for-each>
</data>
</xsl:template>
</xsl:stylesheet>
-------- Ausgabe ---------
[code lang=xml
<?xml version="1.0" encoding="UTF-8"?>
<data xmlns:dig="http://www.dig.org">
<dataquery>
<dig:instances id="1">
<dig:catom xmlns:xsl="http://www.w3.org/1999/XSL/Transform" name="meta:ActionWithSuccessor"/>
</dig:instances>
</dataquery>
<dataquery>
<dig:instances id="2">
<dig:catom xmlns:xsl="http://www.w3.org/1999/XSL/Transform" name="meta:Action"/>
</dig:instances>
</dataquery>
<dataquery>
<dig:instances id="3">
<dig:catom xmlns:xsl="http://www.w3.org/1999/XSL/Transform" name="meta:Action"/>
</dig:instances>
</dataquery>
</data>[/code]
Hallo,
Hallo, ich glaube ich habe schnell houha gesagt.ich kriege die "id" bei "<dataquery>" und nicht dig:instances was soll ich ergänzen?
Ausgehend von deinem XML aus deinem ersten Posting:
Grüße
Thomas----------- xslt -------------
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:dig="http://www.dig.org">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/data">
<data>
<xsl:for-each select="dataquery">
<xsl:variable name="DQPos" select="position()" />
<dataquery>
<xsl:for-each select="dig:">
xsl:copy
<xsl:copy-of select="@"/>
<xsl:attribute name="id">
<xsl:value-of select="$DQPos"/>
</xsl:attribute>
<xsl:copy-of select="*"/>
</xsl:copy>
</xsl:for-each>
</dataquery>
</xsl:for-each>
</data>
</xsl:template>
</xsl:stylesheet>
>
> -------- Ausgabe ---------
> [code lang=xml
> <?xml version="1.0" encoding="UTF-8"?>
> <data xmlns:dig="http://www.dig.org">
> <dataquery>
> <dig:instances id="1">
> <dig:catom xmlns:xsl="http://www.w3.org/1999/XSL/Transform" name="meta:ActionWithSuccessor"/>
> </dig:instances>
> </dataquery>
> <dataquery>
> <dig:instances id="2">
> <dig:catom xmlns:xsl="http://www.w3.org/1999/XSL/Transform" name="meta:Action"/>
> </dig:instances>
> </dataquery>
> <dataquery>
> <dig:instances id="3">
> <dig:catom xmlns:xsl="http://www.w3.org/1999/XSL/Transform" name="meta:Action"/>
> </dig:instances>
> </dataquery>
> </data>[/code]
Hi ,
ich kriege eine fehlermeldung wenn ich mit den prozessor arbeite:"XTDE0410: Cannot create an attribute node after creating a child of the containing element" und mit meine Editor kommt gar nichts raus
Hallo,
Hallo, ich glaube ich habe schnell houha gesagt.ich kriege die "id" bei "<dataquery>" und nicht dig:instances was soll ich ergänzen?
Ausgehend von deinem XML aus deinem ersten Posting:
Grüße
Thomas----------- xslt -------------
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:dig="http://www.dig.org">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/data">
<data>
<xsl:for-each select="dataquery">
<xsl:variable name="DQPos" select="position()" />
<dataquery>
<xsl:for-each select="dig:">
xsl:copy
<xsl:copy-of select="@"/>
<xsl:attribute name="id">
<xsl:value-of select="$DQPos"/>
</xsl:attribute>
<xsl:copy-of select="*"/>
</xsl:copy>
</xsl:for-each>
</dataquery>
</xsl:for-each>
</data>
</xsl:template>
</xsl:stylesheet>
> >
> > -------- Ausgabe ---------
> > [code lang=xml
> > <?xml version="1.0" encoding="UTF-8"?>
> > <data xmlns:dig="http://www.dig.org">
> > <dataquery>
> > <dig:instances id="1">
> > <dig:catom xmlns:xsl="http://www.w3.org/1999/XSL/Transform" name="meta:ActionWithSuccessor"/>
> > </dig:instances>
> > </dataquery>
> > <dataquery>
> > <dig:instances id="2">
> > <dig:catom xmlns:xsl="http://www.w3.org/1999/XSL/Transform" name="meta:Action"/>
> > </dig:instances>
> > </dataquery>
> > <dataquery>
> > <dig:instances id="3">
> > <dig:catom xmlns:xsl="http://www.w3.org/1999/XSL/Transform" name="meta:Action"/>
> > </dig:instances>
> > </dataquery>
> > </data>[/code]
>
> Hi ,
> ich kriege eine fehlermeldung wenn ich mit den prozessor arbeite:"XTDE0410: Cannot create an attribute node after creating a child of the containing element" und mit meine Editor kommt gar nichts raus
>
dieses mal geschafft!!!
danke nochmals Thomas