Alternativ hilft auch das Abzählen vorhergehender Elemente mit count() über die Achsen ancestor, parent usw., ggf. als Summe mehrerer count()-Aufrufe kombiniert.
hi Thomas,
Wie geht das mit count()?.Es gibt auch die Möglichkeit einen Zähler im java zB. ~~~javascript
public class Zaehler {
private int zaehler;
public Zaehler() {
zaehler = 0;
}
public int getZaehler() {
return zaehler;
}
public void erhoeheZaehler(){
zaehler++;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:wpml="http://www.avt.rwth-aachen.de/ontologies/wpml.owl#"
xmlns:bp="http://www.avt.rwth-aachen.de/batchPlus"
xmlns:zahl="U:/OWL/access/Zaehler.java"
xmlns:saxon="http://icl.com/saxon"
exclude-result-prefixes="zahl"
extension-element-prefixes="saxon">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="bp:model">
<xsl:variable name="number">
<xsl:value-of select="zahl:getZaehler()"/>
</xsl:variable>
<bp:model>
<xsl:for-each-group select="bp:Step" group-by="@bp:id">
<bp:Step>
<xsl:attribute name="bp:id" select="$number"/>
<xsl:attribute name="rdf:id" select="@rdf:id"/>
<xsl:for-each select="unitProcedure">
<unitProcedure>
<xsl:attribute name="bp:id" select="$number"/>
<xsl:attribute name="bp:up" select="@bp:up"/>
<xsl:attribute name="rdf:id" select="@rdf:id"/>
<xsl:copy-of select="label"/>
<xsl:for-each select="operation">
<operation>
<xsl:attribute name="bp:id" select="$number"/>
<xsl:attribute name="bp:op" select="@bp:op"/>
<xsl:attribute name="rdf:id" select="@rdf:id"/>
<xsl:copy-of select="label"/>
</operation>
</xsl:for-each>
</unitProcedure>
</xsl:for-each>
</bp:Step>
</xsl:for-each-group>
</bp:model>
</xsl:template>
</xsl:stylesheet>
~~~.
Vergiss nicht wie geht das mit count().
Danke