Я пытаюсь обходным путем для потери пользовательского XML в Word Office Office Open XML, и я столкнулся с некоторой проблемой.Tokenize для каждого символа в строке приводит к ошибке
Я работаю на пути отслеживания вкладов в хранилище общих планов уроков, которые будут проживать в месте Omeka. То, что я хочу сделать, - это обернуть каждого символа в закладку, которая затем будет скрыта от представления, когда файл будет открыт в Word. Это значит, что токен будет переноситься, когда все будет скопировано и вставлено за пределы сайта, а затем снова подключено к исходному вкладчику, когда новый файл будет загружен снова.
Чтобы сделать это, мой XML ток выглядит следующим образом:
<w:p w:rsidR="00196751" w:rsidRDefault="00956712">
<w:r>
<w:t>Some sample text.</w:t>
</w:r>
<w:bookmarkStart w:id="0" w:name="_GoBack"/>
<w:bookmarkEnd w:id="0"/>
</w:p>
Что мне нужно сделать, это выглядит следующим образом:
<w:p w:rsidR="00196751" w:rsidRDefault="00956712">
<w:bookmarkStart w:id="0" w:name="_NAME_0001_20150616_1"/>
<w:r>
<w:t>S</w:t>
</w:r>
<w:bookmarkStart w:id="1" w:name="_NAME_0001_20150616_2"/>
<w:bookmarkEnd w:id="0"/>
<w:r>
<w:t>o</w:t>
</w:r>
<w:bookmarkStart w:id="2" w:name="_NAME_0001_20150616_3"/>
<w:bookmarkEnd w:id="1"/>
<w:r>
<w:t>m</w:t>
</w:r>
<w:bookmarkStart w:id="3" w:name="_NAME_0001_20150616_4"/>
<w:bookmarkEnd w:id="2"/>
<w:r>
<w:t>e</w:t>
</w:r>
<w:bookmarkStart w:id="4" w:name="_NAME_0001_20150616_5"/>
<w:bookmarkEnd w:id="3"/>
<w:r>
<w:t xml:space="preserve"> </w:t>
</w:r>
[...]
<w:bookmarkStart w:id="17" w:name="_GoBack"/>
<w:bookmarkEnd w:id="16"/>
<w:bookmarkEnd w:id="17"/>
</w:p>
Мне кажется, что то, что мне нужно сделать, это запустить функцию разметить на исходном ш: п т, так что я написал следующее XSLT в качестве первого шага:
<xsl:template match="w:t">
<xsl:value-of select="tokenize(., '.??')"/>
</xsl:template>
Howev er, когда я делаю это, я получаю сообщение об ошибке. Мое предположение заключается в том, что это связано с тем, что для функции tokenize нет фактического шаблона, поскольку я прошу его разделить на каждый символ. Есть ли способ использовать функцию tokenize для этого? Если да, то как мне сделать это, чтобы получить нужный мне результат? Благодаря!
Разве вам не приходило, что нам может понравиться знать, что такое сообщение об ошибке? –