Добавьте возврат каретки к выводу XSL-преобразования - PullRequest
1 голос
/ 28 мая 2010

Я пытаюсь использовать XSLT для преобразования XML-документа в текстовый файл, и текст документа выглядит нормально. Тем не менее, мне нужно добавить возврат каретки после конца каждой строки (НЕ CRLF), и я, кажется, терпит неудачу в каждой попытке. Я попытался добавить только CR в конце строки, как это:

 <xsl:text>&#xD;</xsl:text>

Я попытался изменить свой тип мультимедиа на строку, я попытался добавить атрибут disable-output-escaping к текстовому элементу, но он всегда добавляет CRLF.

Это на ОС Windows, и я знаю, что Windows использует CRLF для новой строки, но я бы подумал, что вы могли бы переопределить это, если бы сказали, что специально используете только CR или LF (например, VBCR или VBLF VB.net). ). Кто-нибудь знает, возможно ли вывести только CR с XSLT?

Заранее спасибо.

1 Ответ

0 голосов
/ 28 мая 2010

При вводе моего следующего за последним предложением ответ приходил ко мне, хотя мне все равно было бы интересно услышать, если есть более элегантные решения. В основном я сохранил результаты преобразования в строку в VB, затем строка заменила vbcrlf на vbcr перед выводом:

    xmlTrans.Load(xsltDocPath) 'load the xslt
    xmlTrans.Transform(xmlDoc.CreateNavigator(), Nothing, sw) xform into a stringWriter
    outString = sw.ToString().Replace(vbCrLf, vbCr) 'replace the crlf with just a cr

    HL7Writer.WriteLine(outString) 'output the results

Опять же, если у кого-нибудь есть более элегантное решение на основе XSL, мне было бы интересно услышать его.

Спасибо.

...