Announcement

Collapse
No announcement yet.

Elemente mit einem bestimmten Attribut addressieren

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Elemente mit einem bestimmten Attribut addressieren

    Hallo,

    ich möchte Elemente mit einem bestimmten Attribut aus einer Gruppe auswählen und bestimmten Feldern zuordnen. Ausgesprochen heist das:

    "Suche alle Attribut-Elemente mit @Type TEC_Vari und nimm den AttributeValue/Value/text() des ersten Elements der Ergebnismenge"

    Hier: "Neusilber"

    <Attribute Id="598" Type="TEC_Vari" RefCode="Material">
    <AttributeValue-List>
    <AttributeValue Id="1" RefCode="metrisch" Type="TEXT" UnitRefCode="">
    <Value>Neusilber</Value>
    </AttributeValue>
    </AttributeValue-List>
    </Attribute>

    <Attribute Id="242" Type="KFM_Vari" RefCode="Bestelleinheit">
    <AttributeValue-List>
    <AttributeValue Id="1" RefCode="metrisch" Type="TEXT" UnitRefCode="">
    <Value>Pck</Value>
    </AttributeValue>
    </AttributeValue-List>
    </Attribute>

    Ich hab mal losgelegt mit sowas:
    Product/Attribute-List/Attribute[@Type="TEC_Vari" or "TEC_BASIS"]/Name

    Ich möchte für jedes Element eine Abfrage basteln: also für jedes mit @Type="TEC_Vari", die Anzahl variiert aber sehr (1-10 Elemente)

    Aber ich komm nich weiter...

    Hat jemand eine Idee?

    Gruss

    Lars

  • #2
    Deiner ersten Formulierung entspricht Product/Attribute-List/Attribute[@Type="TEC_Vari"]/AttributeValue-List/AttributeValue/Value bzw, (Product/Attribute-List/Attribute[@Type="TEC_Vari"])[1]/AttributeValue-List/AttributeValue/Value (wenn du nur das erste Element verarbeiten willst).
    Was das weitere Verarbeiten betrifft, bei dem du nicht weiter kommst, in welcher Umgebung verwendest du denn XPath oder XQuery, mit XSLT?

    Comment


    • #3
      Ich benutze xpath bei der Konfiguration einer Datenquelle eine Indesign-Plugins. Dort werden die Ergebnisse der Abfragen bestimmten Feldern zugeordnet.

      Danke für den Hinweis... Das hat schon mal geholfen...

      Aus Neugier: Was unterscheidet denn

      Attribute[@Type="TEC_Vari"])[1]
      und
      Attribute[@Type="TEC_Vari" and position()=1]

      ?

      Comment


      • #4
        Ein numerisches Prädikat with [1] ist eine Kurzform für [position() = 1]. Aber die Klammerung ist relevant, mit
        /wurzel/a/b[1]
        wird jeweils das erste "b"-Kindelement jedes "a"-Kindelementes des "wurzel"-Elementes selektiert.
        Mit
        (/wurzel/a/b)[1]
        hingegen werden (in dem geklammerten Ausdruck) alle "b"-Kindelemente aller "a"-Kindelemente des "wurzel"-Elementes selektiert, dann wird davon per [1] nur das erste selektiert.

        Comment

        Working...
        X