pices: externe datei zugreifen

wie kann ich " individual" erreichen .Er kommt aus eine  externe xml-datei:~~~xml

<ind>
   <individualSet id=" q1">
    <individual name="model1:Action_1"/>
   </individualSet>
   <individualSet id="q2 ">
    <individual name="model1:Action_2"/>
    <individual name="model1:Action_1"/>
   </individualSet>
  </ind>

document('datei.xml')/ind/individualSet/individual klappt nicht!
  1. Hallo,

    wie kann ich " individual" erreichen .Er kommt aus eine  externe xml-datei:~~~xml

    <ind>
       <individualSet id=" q1">
        <individual name="model1:Action_1"/>
       </individualSet>
       <individualSet id="q2 ">
        <individual name="model1:Action_2"/>
        <individual name="model1:Action_1"/>
       </individualSet>
      </ind>

    
    > document('datei.xml')/ind/individualSet/individual klappt nicht!  
      
    Normalerweise klappt das ganz gut mit document(), daher bitte poste dein XSLT.  
      
    Grüße  
    Thomas
    
    1. Hallo,

      wie kann ich " individual" erreichen .Er kommt aus eine  externe xml-datei:~~~xml

      <ind>
         <individualSet id=" q1">
          <individual name="model1:Action_1"/>
         </individualSet>
         <individualSet id="q2 ">
          <individual name="model1:Action_2"/>
          <individual name="model1:Action_1"/>
         </individualSet>
        </ind>

      
      > > document('datei.xml')/ind/individualSet/individual klappt nicht!  
      >   
      > Normalerweise klappt das ganz gut mit document(), daher bitte poste dein XSLT.  
      >   
      > Grüße  
      > Thomas  
        
       Mein XSLT sieht so aus  
      ~~~xml
      <xsl:template match="/">  
      <xsl:for-each select="document('datei.xml')/ind/individualSet">  
      <xsl:variable name="zahl" select="@id"/>  
       <br/> <xsl:value-of select="$zahl"/><br/>  
       <xsl:value-of select="individual/@name"/>  
      .  
      .  
      .  
      .  
      .  
      .  
      </xsl:for-each>
      ~~~ich bekomme zahl und name nicht raus wieso  
      gruß  
      
      
      1. Hallo,

        Mein XSLT sieht so aus

        <xsl:template match="/">

        <xsl:for-each select="document('datei.xml')/ind/individualSet">
        <xsl:variable name="zahl" select="@id"/>
        <br/> <xsl:value-of select="$zahl"/><br/>
        <xsl:value-of select="individual/@name"/>

        ...

        </xsl:for-each>

        
        > gruß  
        >   
          
        Du musst noch etwas anderes auch haben!  
          
        Beispiel-Dateien:  
        \---- data.xml ---  
        <?xml version="1.0" encoding="UTF-8"?>  
        <?xml-stylesheet type="text/xsl" href="ind.xsl"?>  
        <data>  
        </data>  
        \------------  
          
        \----- ind.xsl ---  
        <?xml version="1.0" encoding="UTF-8"?>  
        <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">  
         <xsl:template match="/">  
          <xsl:for-each select="document('ind.xml')/ind/individualSet">  
           <xsl:variable name="zahl" select="@id"/>  
           <br/> <xsl:value-of select="$zahl"/><br/>  
           <xsl:value-of select="individual/@name"/>  
          </xsl:for-each>  
         </xsl:template>  
        </xsl:stylesheet>  
          
        \----- ind.xml -------  
        <?xml version="1.0" encoding="UTF-8"?>  
        <ind>  
         <individualSet id=" q1">  
          <individual name="model1:Action\_1"/>  
         </individualSet>  
         <individualSet id="q2 ">  
          <individual name="model1:Action\_2"/>  
          <individual name="model1:Action\_1"/>  
         </individualSet>  
        </ind>  
        \---------------------  
          
        data.xml wird mit dem ind.xsl transformiert, die Ausgabe ist:  
        <br/> q1<br/>model1:Action\_1<br/>q2 <br/>model1:Action\_2  
          
        Ich habe jetzt alle Dateien im gleichen Verzeichnis stehen.  
        Stimmt bei dir der Pfad im document() zu deiner XML-Datei?  
          
        Grüße  
        Thomas
        
        1. Hallo,

          Mein XSLT sieht so aus

          <xsl:template match="/">

          <xsl:for-each select="document('datei.xml')/ind/individualSet">
          <xsl:variable name="zahl" select="@id"/>
          <br/> <xsl:value-of select="$zahl"/><br/>
          <xsl:value-of select="individual/@name"/>
          ...
          </xsl:for-each>

          
          > > gruß  
          > >   
          >   
          > Du musst noch etwas anderes auch haben!  
          >   
          > Beispiel-Dateien:  
          > ---- data.xml ---  
          > <?xml version="1.0" encoding="UTF-8"?>  
          > <?xml-stylesheet type="text/xsl" href="ind.xsl"?>  
          > <data>  
          > </data>  
          > ------------  
          >   
          > ----- ind.xsl ---  
          > <?xml version="1.0" encoding="UTF-8"?>  
          > <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">  
          >  <xsl:template match="/">  
          >   <xsl:for-each select="document('ind.xml')/ind/individualSet">  
          >    <xsl:variable name="zahl" select="@id"/>  
          >    <br/> <xsl:value-of select="$zahl"/><br/>  
          >    <xsl:value-of select="individual/@name"/>  
          >   </xsl:for-each>  
          >  </xsl:template>  
          > </xsl:stylesheet>  
          >   
          > ----- ind.xml -------  
          > <?xml version="1.0" encoding="UTF-8"?>  
          > <ind>  
          >  <individualSet id=" q1">  
          >   <individual name="model1:Action\_1"/>  
          >  </individualSet>  
          >  <individualSet id="q2 ">  
          >   <individual name="model1:Action\_2"/>  
          >   <individual name="model1:Action\_1"/>  
          >  </individualSet>  
          > </ind>  
          > ---------------------  
          >   
          > data.xml wird mit dem ind.xsl transformiert, die Ausgabe ist:  
          > <br/> q1<br/>model1:Action\_1<br/>q2 <br/>model1:Action\_2  
          >   
          > Ich habe jetzt alle Dateien im gleichen Verzeichnis stehen.  
          > Stimmt bei dir der Pfad im document() zu deiner XML-Datei?  
          >   
          > Grüße  
          > Thomas  
          
          hi,  
          was passiert genau mit der dritte Datei "data.xml": wieso brauche ich die?  
          gruß
          
        2. Hallo,

          Mein XSLT sieht so aus

          <xsl:template match="/">

          <xsl:for-each select="document('datei.xml')/ind/individualSet">
          <xsl:variable name="zahl" select="@id"/>
          <br/> <xsl:value-of select="$zahl"/><br/>
          <xsl:value-of select="individual/@name"/>
          ...
          </xsl:for-each>

          
          > > gruß  
          > >   
          >   
          > Du musst noch etwas anderes auch haben!  
          >   
          > Beispiel-Dateien:  
          > ---- data.xml ---  
          > <?xml version="1.0" encoding="UTF-8"?>  
          > <?xml-stylesheet type="text/xsl" href="ind.xsl"?>  
          > <data>  
          > </data>  
          > ------------  
          >   
          > ----- ind.xsl ---  
          > <?xml version="1.0" encoding="UTF-8"?>  
          > <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">  
          >  <xsl:template match="/">  
          >   <xsl:for-each select="document('ind.xml')/ind/individualSet">  
          >    <xsl:variable name="zahl" select="@id"/>  
          >    <br/> <xsl:value-of select="$zahl"/><br/>  
          >    <xsl:value-of select="individual/@name"/>  
          >   </xsl:for-each>  
          >  </xsl:template>  
          > </xsl:stylesheet>  
          >   
          > ----- ind.xml -------  
          > <?xml version="1.0" encoding="UTF-8"?>  
          > <ind>  
          >  <individualSet id=" q1">  
          >   <individual name="model1:Action\_1"/>  
          >  </individualSet>  
          >  <individualSet id="q2 ">  
          >   <individual name="model1:Action\_2"/>  
          >   <individual name="model1:Action\_1"/>  
          >  </individualSet>  
          > </ind>  
          > ---------------------  
          >   
          > data.xml wird mit dem ind.xsl transformiert, die Ausgabe ist:  
          > <br/> q1<br/>model1:Action\_1<br/>q2 <br/>model1:Action\_2  
          >   
          > Ich habe jetzt alle Dateien im gleichen Verzeichnis stehen.  
          > Stimmt bei dir der Pfad im document() zu deiner XML-Datei?  
          >   
          > Grüße  
          > Thomas  
          
          ich habe mich falsch ausgedrückt.Eigentlich wollte ich wissen, wieso ich:<?xml-stylesheet type="text/xsl" href="ind.xsl"?> brauche
          
          1. Hallo,

            ich habe mich falsch ausgedrückt.Eigentlich wollte ich wissen, wieso ich:<?xml-stylesheet type="text/xsl" href="ind.xsl"?> brauche

            Wir unterhalten uns, wenn du http://de.wikipedia.org/wiki/TOFU gelesen hast weiter.

            Grüße
            Thomas

            PS: 1) du brauchst schon zwei XML-Dateien, wenn du document() verwendest (in den seltensten Fällen kommt es vor, dass man das nicht braucht)
            Eine auf die du das XSL anwendest und eine eben auf die du per document() zugreifst.

            1. das <?xml-stylesheet type="text/xsl" href="ind.xsl"?>  brauchst du nicht, ich habe nur drinn gelassen. Du kannst deinem XSLT-Prozessor auch auf anderen Wege mitteilen wo er das XSLT findet.