Announcement

Collapse
No announcement yet.

select-Anweisung und Präfix

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

  • select-Anweisung und Präfix

    Hi,

    ähnlich wie Starbucks habe ich mehrere Präfixes, die über die Namespaces definiert sind. Mir ist aufgefallen, dass die select~ oder test-Anweisungen nicht richtig verarbeitet werden. Ziel ist es einen Exportfilter für ODF zu schreiben!

    Ich speichere einige Dateien in einer temporären Datei.

    Aufbau der File:

    Code:
    <styles>
    <office:document-styles>
    <style:style/>
    </office:document-styles>
    <office:automatic-styles>
    </style:style>
    </office:automatic-styles>
    <styles>
    Anfragen wie select="styles/*" gehen, aber Anfragen mit Präfixen wie select="styles/office:document-styles/style:style" gehen nicht. Nutz * als Wildcard geht es wieder. Das Problemen scheinen die Präfixe zu sein, habe zu Testzwecken mal Bezeichner ohne Präfixes in der Datei einfügt und da lief, aber so bald ein Präfix dazwischen kommt, geht nix mehr.
    Für Ideen bin ich dankbar

    Gruß Jens

  • #2
    Sind die Namensräume auch im XSLT-Dokument (bei xsl:stylesheet) vorhanden?

    Comment


    • #3
      Ja, die Präfixes sind richtig definiert.

      Code:
      <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
      	xmlns:office="http://openoffice.org/2000/office" xmlns:style="http://openoffice.org/2000/style"
      	xmlns:text="http://openoffice.org/2000/text" xmlns:table="http://openoffice.org/2000/table"
      	xmlns:draw="http://openoffice.org/2000/drawing" xmlns:fo="http://www.w3.org/1999/XSL/Format"
      	xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:number="http://openoffice.org/2000/datastyle"
      	xmlns:svg="http://www.w3.org/2000/svg" xmlns:chart="http://openoffice.org/2000/chart"
      	xmlns:dr3d="http://openoffice.org/2000/dr3d" xmlns:math="http://www.w3.org/1998/Math/MathML"
      	xmlns:form="http://openoffice.org/2000/form" xmlns:script="http://openoffice.org/2000/script"
      	xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="http://openoffice.org/2000/meta"
      	xmlns:config="http://openoffice.org/2001/config" xmlns:help="http://openoffice.org/2000/help"
      	xmlns:xt="http://www.jclark.com/xt" xmlns:common="http://exslt.org/common"
      	xmlns:xalan="http://xml.apache.org/xalan" xmlns:exslt="http://exslt.org/common"
      	xmlns:fn="http://www.w3.org/2005/xpath-functions"
      	exclude-result-prefixes="office style text table draw fo xlink number svg chart dr3d math form script dc meta config help xt common xalan">
      Das macht mich ja stutzig. Oder kann es an der Reihenfolge liegen wie ich die Namespaces eingebunden habe. Von Latex kann ich sowas, da ist die Reihefolge der Definitionen sehr wichtig.

      Comment


      • #4
        Triviale Lösung

        Hi Thomas,

        jetzt geht es. Aber nachvollziehen kann ich das nicht. Ich habe:
        1. die Namespaces-Definitionen gesäubert, nur wirklich verwendet Präfixes stehen jetz drin
        2. andere Quellen angegeben


        alter Namespace war:

        Code:
        xmlns:office="http://openoffice.org/2000/office"
        neuer lautet:
        Code:
        xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"
        Das ist bei der anderen auch der Fall, dass ich die falschen Namespace als in der Ursprungs-XML genutzt habe.

        Vielen Dank für den Tipp mit den Namespaces, so ein einfaches Problem.

        Frohes Fest schon mal im Voraus und guten Rutsch ins neue Jahr.

        Gruß Jevo

        Comment

        Working...
        X