modyfikacja pliku xml w javie

modyfikacja pliku xml w javie
RI
  • Rejestracja:około 22 lata
  • Ostatnio:ponad 11 lat
0

Potrzebuje modyfikować plik xml (zawierający transformaty xslt). Wygenerowałem sobie więc scheme (trang) z pliku który chcę modyfikować, a następnie z schemy zestaw klas (jaxb). Wszystko by było ładnie kolorowo, ale zorientowałem się że w wygenerowanych klasach nie mam jak dodać namespace ;/
Przykładowo:

Kopiuj
<xsl:stylesheet version="1.0"
  xmlns:nazwa="http://www.nazwa1.org"
  xmlns:nazwa2="http://www.nazwa2.org/"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml">


  <xsl:template match="nazwa:książka">
    <html>
      <head> <title>Książka ,,<xsl:value-of select="./id/tytuł"/>''</title> </head>
      <body>
         <xsl:apply-templates/>
      </body>
    </html>
  </xsl:template>

 
  <xsl:template match="nazwa2:spisTreści">
    <h3>Spis treści</h3>
    <table>
      <xsl:apply-templates />
    </table>
  </xsl:template>
 

Z poziomu javy chciłbym dodawać elementy template. Jednak przy dodawaniu elementu trzeba dodać również namespace w stylesheet. Jak to zrobić? Jestem początkujący jeżeli chodzi o współprace java-xml i może źle do tego podchodzę :/


edytowany 1x, ostatnio: riker
CH
  • Rejestracja:prawie 19 lat
  • Ostatnio:prawie 2 lata
  • Postów:656
0

No bo teoretycznie to nie musisz dodawać przestrzeni nazw. Wygenerowane klasy po uszeregowaniu do xml będą miały odpowiednie przestrzenie. Akurat schemat xsl może stwarzać problem, bo nie jest ściśle określony, może zawierać dowolne inne elementy. Dlatego ja bym proponował użyć do tego interfejsu DOM. Masz tam metodę createElementNS i tym podobne, więc zamierzony efekt osiągniesz.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.