Próbuję przekonwertować plik XML na znaczniki używane przez dokuwiki, używając XSLT. To faktycznie działa do pewnego stopnia, ale wcięcie w pliku XSL jest wstawiane do wyników. W tej chwili mam dwie możliwości: całkowicie zrezygnować z tego XSLT i znaleźć inny sposób konwersji z XML na znaczniki dokuwiki, lub usunąć około 95% białych znaków z pliku XSL, czyniąc go prawie nieczytelnym i koszmarem utrzymania.Konwersja XML na zwykły tekst - jak powinienem zignorować/obsłużyć białe znaki w XSLT?
Czy istnieje sposób na zachowanie wcięcia w pliku XSL bez przekazywania całego spacji do dokumentu końcowego?
Tło: Przeprowadzam migrację narzędzia autodoc ze statycznych stron HTML na dokuwiki, dzięki czemu interfejs API opracowany przez zespół serwera może zostać udokumentowany przez zespół ds. Aplikacji za każdym razem, gdy zespół aplikacji wpadnie w źle udokumentowany kod. Logika polega na oddzieleniu sekcji każdej strony dla narzędzia autodoc i zezwoleniu na komentarze w dowolnym miejscu poza tym blokiem. Używam XSLT, ponieważ mamy już plik XSL do konwersji z XML na XHTML, i zakładam, że szybciej będzie przepisać XSL, niż uruchomić własne rozwiązanie od zera.
Edytuj: Ach, racja, głupcze mnie, zaniedbałem atrybut wcięć. (Inna uwaga w tle: jestem nowy w XSLT.) Z drugiej strony, wciąż muszę radzić sobie z nowymi liniami. Dokuwiki używa potoków do rozróżniania kolumn tabeli, co oznacza, że wszystkie dane w wierszu tabeli muszą znajdować się w jednej linii. Czy istnieje sposób na powstrzymanie wysyłania nowych linii (tylko sporadycznie), więc mogę wykonać dość złożoną logikę dla każdej komórki tabeli w nieco czytelnej fasionie?
To było bardzo pomocne! Dzięki. – Black
, który był rzeczywiście pomocny, ale jestem zaintrygowany przez użycie frazy "między węzłami". Czy nie jest prawdą, że wszystkie białe spacje są zawarte w węzłach tekstowych? Co masz na myśli przez "między węzłami"? Gdybym nie rozpoznał twojego nazwiska, założyłbym, że potrzebowałeś wykładu na temat struktury dokumentu XML. – LarsH
Dobry artykuł, dzięki! Ale mówiąc ściśle, używasz terminu "węzeł", gdzie faktycznie masz na myśli "element". – rustyx