Используя XSLT для вывода пустого элемента текстовой области HTML

См. Это: -

>>> list1 = ['I am Batman.','I loved the tea.','I will never go to that mall again!']
>>> [i.split() for i in list1]  
# split by default slits on whitespace strings and give output as list

[['I', 'am', 'Batman.'], ['I', 'loved', 'the', 'tea.'], ['I', 'will', 'never', 'go', 'to', 'that', 'mall', 'again!']]
7
задан dthrasher 16 February 2009 в 02:07
поделиться

5 ответов

Найдите свой ответ через подобный вопрос прямо здесь на Stackoverflow.com :-)

Вот дальнейшее объяснение из MSDN.

3
ответ дан 7 December 2019 в 05:30
поделиться

Я необходимо использовать фиктивное содержание, это было xsl:template, который я использовал, имея только что символ Line Feed в текстовой области.

<!-- This prevents empty textarea elements being rendered as singletons in the XHTML output by adding a newline character -->
<xsl:template name="xhtml-textarea-contents">
    <!-- what should be contained in the textarea -->
    <xsl:param name="contents" />

    <xsl:choose>
        <xsl:when test="$contents = ''"><xsl:text>&#x0A;</xsl:text></xsl:when>
        <xsl:otherwise><xsl:copy-of select="$contents" /></xsl:otherwise>
    </xsl:choose>
</xsl:template>
2
ответ дан 7 December 2019 в 05:30
поделиться

У Chris Ballance был ответ, который работал на меня. Но стоит отметить, что я использовал перегрузку XslCompiledTransform, которые производят к потоку, как так:

XslCompiledTransform transform = new XslCompiledTransform();
...
MemoryStream stream = new MemoryStream();
transform.Transform(reader, args, stream);

Для проведения корректных настроек я должен был использовать перегрузку, которая приняла XmlWriter вместо этого.

// using XmlWriter so I can pass the output settings along.
XmlWriter writer = XmlWriter.Create(stream, transform.OutputSettings);
transform.Transform(reader, args, writer);

Использование Microsoft действительно нечетный шаблон разработки там.

1
ответ дан 7 December 2019 в 05:30
поделиться

I had a similar problem and just realized that if you set the ConformanceLevel of the XmlWriterSettings to Fragment, it eliminates some of the XslCompiledTransform quirks.

FileStream xmlFileStream = File.Create("file.xml");
XslCompiledTransform transform = new XslCompiledTransform();
transform.Load("transform.xsl");
XmlWriterSettings settings = new XmlWriterSettings();
settings.ConformanceLevel = ConformanceLevel.Fragment;
XmlWriter xmlWriter = XmlWriter.Create(xmlFileStream, settings);
transform.Transform(sourceXml, null, xmlWriter);
0
ответ дан 7 December 2019 в 05:30
поделиться

Если вы создаете xml или html, вы можете написать новую строку внутри текстовой области, а затем удалить ее с помощью jquery.

Это пример с jQuery:

<textarea>&#160;<textarea>

<script>
 $(document).ready(function(){
    $('textarea').each(
      function(index){$(this).text('');}
     );
  });
</script>
1
ответ дан 7 December 2019 в 05:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: