Интерпретиране на >

10 отговора 241 прегледа
#1

Интерпретиране на >

Ситуацията е следната:
Имам един XSL който обеаботва някакво XML-че и генерира един *.bat файл.
Проблема е, че в единия ред на *.bat файла имам знака > (пренасочване на потока).
Парсвам XML-a с XT-то и ми дава:
'gt' is not recognized as an internal or external command, operable program or batch file

Пробвах с > и с > и при двете дава горната грешка. Някой има ли някаква идея как мога да оправя проблема?

__________________________________
Пътят към ада е осеян с добри намерения
Отговор
в отговор на ..:: StanProg ::.. #2

Re: Интерпретиране на >

:) Zdrasti, za6to ne izpolzva6 CDATA sekciq?


It`s more fun to compute

Отговор
в отговор на voyager #3

Re: Интерпретиране на >

Би ли ми дал някакъв код, щото с XML-а не съм много на ти.

__________________________________
Пътят към ада е осеян с добри намерения
Отговор
в отговор на ..:: StanProg ::.. #4

Re: Интерпретиране на >

<![CDATA[
tuka si buta6 kakvoto si iska6 :)) :> <:>. parsera nqma da go pipne :) CDATA 6te re4e charakter data i tova kazva na parsera: ne parsvai ni6to, koeto e zagradeno v tiq znaci, dokato sre6tne6 zatvarq6tiq /*malko po-dolu e */ :)
ne zabravqi da zatvori6, predi da ima6 ne6to, koeto iska6 da se parsva :]
eto go kraq:
]]>
<pojelanie>
dano ti svyr6i rabota :)
</pojelanie>

дао дъ дзин

Отговор
в отговор на voyager #5

Пак не става :(

Ето примерен XSL:

<?xml version="1.0" encoding="iso-8859-1"?>

<xsl:stylesheet xmlns:xsl="[линк]">
<xsl:output method="html"/>
<xsl:template match = "/">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="/">

copy file.txt output\file.txt <![CDATA[>]]> NUL

</xsl:template>
</xsl:stylesheet>

Той създава *.bat файл в който пише:

copy file.txt output\file.txt &gt NUL

Явно пак си го парсва. Нещо да не бъркам?

__________________________________
Пътят към ада е осеян с добри намерения
Отговор
в отговор на ..:: StanProg ::.. #6

Re: Пак не става :(

ne sm 100% siguren dali takiva bqha znacite za CDATA, ama sm 99%. Bi trqbvalo da ne go parsva dea :[ varianta, koito mi idva na uma e da zapi6e6 ascii ili o6te po-dobre unicode koda na >.
btw > bez to4kata i zapetaqta nakraq li go pi6e6? za6to?

Drum and Java

Отговор
в отговор на ..:: StanProg ::.. #7

Re: Пак не става :(

ei tova e opisanieto na CDATA, ako moje da ti pomogne:
[линк]
i az kato se za4etoh sega, zapo4vam da si mislq 4e tova > /*razbrah za6to pi6e6 bez ; :) */ ne idva ot xml-a...
eto vsy6tnost kakvo pi6e:
2.7 CDATA Sections

[Definition: CDATA sections may occur anywhere character data may occur; they are used to escape blocks of text containing characters which would otherwise be recognized as markup. CDATA sections begin with the string "<![CDATA[" and end with the string "]]>":]

CDATA Sections

[18]
CDSect
::=
CDStart CData CDEnd

[19]
CDStart
::=
'<![CDATA['

[20]
CData
::=
(Char* - (Char* ']]>' Char*))

[21]
CDEnd
::=
']]>'

Within a CDATA section, only the CDEnd string is recognized as markup, so that left angle brackets and ampersands may occur in their literal form; they need not (and cannot) be escaped using "<" and "&". CDATA sections cannot nest.

An example of a CDATA section, in which "<greeting>" and "</greeting>" are recognized as character data, not markup:

<![CDATA[<greeting>Hello, world!</greeting>]]>

Talk Java to me

Отговор
в отговор на voyager #8

Re: Пак не става :(

Разбрах какъв е проблема от тук: [линк]

там пише:

Apart from missing features and bugs, the implementation is in need of improvement in several areas, including:
...
The xml output method ignores the encoding and cdata-section-elements attributes on xsl:output.
....

__________________________________
Пътят към ада е осеян с добри намерения
Отговор
в отговор на ..:: StanProg ::.. #9

Re: Пак не става :(

a nameri li re6enie? stava li s ascii ili unikode kod?

Отговор
в отговор на voyager #10

Re: Пак не става :(

Специално за XT парсера вместо:
<![CDATA[>]]>

трябва да се напише:
<xsl:value-of disable-output-escaping="yes" select="'>'"/>

Мерси много за помощта .

Лек ден!

__________________________________
Пътят към ада е осеян с добри намерения
Отговор
в отговор на ..:: StanProg ::.. #11

Re: Пак не става :(

Mojelo e da se poluchi ako smenish Serialization methoda na outputa. Ti polzvash <xsl:output method="html"/> i XSL transformera izpolzva html serialization. Mojelo e da slojish <xsl:output method="text"/> i togava outputa shteshe da tie samo ASCII simvoli bez html references ot roda na &gt

Ama shtom varvi, ne go zakachai, izchakai dokato se razvali

Отговор