kostenloser Webspace werbefrei: lima-city


URI innerhalb einer XML-Datei

lima-cityForumProgrammiersprachenSonstige Programmiersprachen

  1. Autor dieses Themas

    simasiel

    simasiel hat kostenlosen Webspace.

    Ich versuche einen Abschnitt innerhalb eines XML-Dokuments zu signieren. Dazu brauche ich eine URI zu diesem Element.
    Hier mal eine Beispielhafte XML-Struktur

    <A>
       <B>
          <B1/>
          <B2/>
       </B>
       <C>
          <C1/>
          <C2/>
       </C>
       <D>
          <D1/>
          <D2/>
       </D>
    </A>


    Ich würde jetzt gerne eine URI zu <C> Element haben.
    Gibt es eine Möglichkeit, mit der ich genau dieses Element ansprechen kann.
    Die Signierung möchte ich mit einem Java-Programm machen. Als API verwende ich das Apache XML-Projekt "Santuario"
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. e********l

    Ich würde dir empfehlen dich in die Dokumentation von der API einzulesen, denn nur dann kann man die Frage in Bezug auf die API beantworten. Alternativ kannst du es direkt übers DOM oder XPath machen, falls die API jene Vorgehensweisen unterstützen.
  4. Autor dieses Themas

    simasiel

    simasiel hat kostenlosen Webspace.

    Hi,

    in der API gibt es eine addDocument() Methode. Diese Methode besitzt einen String Parameter (refURI) mit der URI zu der Datei, die signiert werden soll. Ich würde jetzt gern wissen, ob man mit dieser URI auch ein bestimmtest XML Element innerhalb einer Datei angeben kann oder kann man mit einer URI nur auf eine Datei und nicht auf den Inhalt verweisen.
  5. e********l

    Link zur API?

    Als Dokument wird in aller Regel das gesamte XML Konstrukt bezeichnet. Also schätze ich das die deine XML Datei erwarten und du dich dann durch die Struktur bis zu deinem Element hangeln musst. Zb. via XPath.
  6. Autor dieses Themas

    simasiel

    simasiel hat kostenlosen Webspace.

    hier der Link zur API
    http://santuario.apache.org/Java/api/index.html

    Ich glaube XPath ist ein guter Ansatz.
    Bei der zu vor genannten addDocument Function kann man auch Transformations übergeben.
    hier mal ein Beispiel:

    // Set XPATH and adding as a transform
     XPathContainer xpathContainer = new XPathContainer(doc);
     xpathContainer.setXPathNamespaceContext("ds",
                 Constants.SignatureSpecNS);
     
     // Setting elements 'C' to be signed
     String xpath = "/A/C";
     xpathContainer.setXPath(xpath);
     transforms.addTransform(Transforms.TRANSFORM_XPATH,
                 xpathContainer.getElementPlusReturns());
    
     // Setting 'to be signed' element
     sig.addDocument("",transforms,Constants.ALGO_ID_DIGEST_SHA1);


    Beim ausführen des obigen Codes erhalte ich einen
    NoClassDefFoundError: org.apache.xpath.CachedXPathAPI

    Mal sehen woran das jetzt schon wieder liegt.

    ... Danke für den XPath Hinweis
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!