|
Пробельные символы
|
|||
---|---|---|---|
#18+
Есть xml: Код: plaintext
Есть xslt: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
На выходе: Код: plaintext
К сожалению пробел между элементами z был уничтожен. Как это победить? Примечание: 1. Входной файл не имеет indentation (пробелы, перенос строки, таюуляция) для лицеприятного отображения xml в текстовом редакторе. 2. Во входном файле есть пробелы, но они выполняют функцию текста, который нельзя терять. 3. Естесвенно, что нельзя прменять инструкцию indent="yes", так как получим ненужное форматирование. Пробовал так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Есть инструкция: <xsl:strip-space elements=""></xsl:strip-space> Но здесь указывются элементы в которых как раз нужно почистить whitespaces. Есть идеи? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2008, 16:49 |
|
Пробельные символы
|
|||
---|---|---|---|
#18+
Текстовый узел сохраняется если имеет место какое-либо из следующих условий: - Название элемента, являющегося родителем данного текстового узла, находится в перечне названий элементов, сохраняющих пробельные символы. - Текстовый узел содержит хотя бы один непробельный символ. Как и в XML, пробельным символом считаются #x20, #x9, #xD и #xA. - Элемент, являющийся предком этого текстового узла, имеет атрибут xml:space со значением preserve и нет более близких элементов-предков, имеющих xml:space со значением default. В остальных случаях текстовый узел вычищается. Если название элемента совпадает с NameTest в элементе xsl:strip-space, то он удаляется из перечня названий элементов, сохраняющих пробельные символы. Если название элемента совпадает с NameTest в элементе xsl:preserve-space, то оно добавляется к перечню названий элементов, сохраняющих пробельные символы. Код: plaintext
или Код: plaintext
Не выходит.......... Пробовал MSXML и built-in XMLSpy ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2008, 18:04 |
|
Пробельные символы
|
|||
---|---|---|---|
#18+
Опечатался не strip-space, preserve-space Код: plaintext 1.
К сожалению не работает ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2008, 18:07 |
|
Пробельные символы
|
|||
---|---|---|---|
#18+
Вообще preserve-space не работает. Может это XMLSpy еще какую-то предобработку выполняет, хотя не должен. У кого-нть работал preseve-space ?????? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2008, 18:15 |
|
Пробельные символы
|
|||
---|---|---|---|
#18+
авторI got a message off-list that suggested to me that I wasn't very clear about this. To be clear, the template-rule approach below requires that you have xml:space="preserve" in the source document to prevent MSXML from stripping any whitespace. Of course, as a stylesheet writer, that may not always be within your control. But one way or another, you need to preserve whitespace, and I can only think of three ways to do that: 1. Use xml:space="preserve" in the source document, 2. Set the preserveWhiteSpace property to true in the MSXML API, or 3. Use a different XSLT processor. A variation of #1 is to simply put xml:space="preserve" on all the <element1> and <element2> elements, but that might not be as practical. Проверю Saxon, о результатах сообщю. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2008, 18:28 |
|
|
start [/forum/topic.php?fid=14&msg=35644789&tid=1333740]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
868ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
others: | 315ms |
total: | 1258ms |
0 / 0 |