问题标签 [tei]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
66 浏览

xslt - TEI中的多词缩写可以与元素?

我正在开发一个 TEI P5 XML 文本版本,它要求缩写包含<am>用于表示缩写标记<ex>的元素和用于指示这些缩写在其各自<abbr><expan>环境中的扩展内容的元素。现在我也在研究编码<w>单词元素的可行性,因此:

只要<choice>环境只对一个词和一个词进行编码,语法就很简单。但是,我担心多词缩写不能直接与单词元素组合,因为最后一个<w><ex>最后一个需要在前者之前关闭。因此,<expan>以下行将无效:

我不能<ex>在一个<w>或两个<w>元素中包含完整元素,<ex>因为第一个单词的第一个字母(在这个例子中)在手稿中,因此不能算作编辑扩展。有没有办法解决?

注意我想要对单词进行编码的原因不是为了词形还原,而是为了能够将手稿的单词间距与词汇单词间距一起编码:通过让我的 XSL 剥离或保留<w>元素中的空间,我可以选择按照现代标准或作为通过参数在手稿中呈现。这也是为什么不希望将整个<choice>环境包含在单个<w>标记中的原因,除非可能在任何多字扩展中我使用特殊字符添加字间距以由 XSL styhesleet 转换为常规空格(非中断空格也许?)。那是我应该看的吗?(使用 XSLT 2.0。)

0 投票
1 回答
1209 浏览

xml - 命令行中的 XSLT 转换(使用预先与 Oxygen 打包的 Saxon)

我在 Mac OS X (10.11.5) 上使用命令行尝试使用 Saxon 在 Oxygen 之外进行转换(因为我准备将大量 XML-TEI 文件批量处理为 HTML)。

我使用以下基本命令:

但它会产生这个我无法深入了解的错误:

提前致谢。

(我承认我不熟悉 Java。)

0 投票
1 回答
42 浏览

xml - 为什么 xi:include 查找在命令行 XSLT 处理中“失败”?

我通常使用 Oxygen 来测试我的单文件转换 XML -> HTML。(XML 文件使用 TEI 模式。)我使用 @xml:idxi:includes来引用我的标记中的人员<listPerson/>和地点列表。<listPlace/>

我在xi:include使用这样@xml:id的键中进行查找:

使用这样的代码:

因此,从文件中@xml:id="petrus_fabri_PAR"返回值。xml 文件与其他文件位于同一目录中。Peire Faure, Paris<xi:include href="people.xml">

当我使用氧气进行转换时,一切都很好。

但是我现在正在测试使用 Saxon 的命令行处理以及任何取决于xl:include失败的查找(即,对于 xml:id 查找不输出任何内容) - XSLT 文件处理的其余部分工作正常。

为什么xi:include在命令行中查找“失败”?

xi:include使用 XSLT 在 XML 的命令行处理中使用是否有特殊考虑?

0 投票
1 回答
425 浏览

xml - XSL:如果在两个不同节点中相似,则显示值

我是 XSLT 的初学者。我的内容来自 TEI 文件。

我的 TEI-XML 文件的一部分:

例如:如果category/equiv[@xml:id]w[@type='verb' and @ana[1]]= 'qry'(总是@ana 的第一个值),则"href"显示@xml:id元素'w'

我对 first 没有问题select="following-sibling::category/equiv[@n]"。我有我想要的。不幸的是select="//w[@type='verb']",我尝试过的方法不起作用:我没有@xml:id 的类似“href”,而是拥有所有“href”和@ana 的第一个值。

当前结果:

qry: ktu1-3_ii_l3b-4a_klʾatklʾat tqry tmtḫṣ tḫtṣ tmḫṣ tṣmt ʿtkt šnst tġll tgrš tmġyn tštql šbʿt tṯʿr ṯʿr tmtḫṣn tʿn tḫtṣb tḥdy t[d]ġdd ktu1-3_ii_l4b-5a_tqryklʾat tqry tmtḫṣ tḫtṣ tmḫṣ tṣmt ʿtkt šnst tġll tgrš tmġyn tštql šbʿt tṯʿr ṯʿr tmtḫṣn tʿn tḫtṣb tḥdy t[d]ġdd

代替:

qry:ktu1-3_ii_l4b-5a_tqry 'tqry',ktu1-4_ii_l10_qryt 'qryt'。

也许问题出在<xsl:if>哪个不是好选择?

谢谢你的帮助。

0 投票
2 回答
1272 浏览

xml - XSL:用连字符替换空格

我正在尝试用“-”翻译空白。数据来自TEI-XML数据:

XSL文件:

按照这篇文章XSL replace space with caret的回答,我已经使用过translate,但它不起作用。结果应该是:“AB-CD”,但我有“AB CD”。

谢谢你的帮助。

0 投票
2 回答
734 浏览

xml - XSLT 复制 XML 文件,更改一个属性的值

注意:使用更新的代码进行了编辑,产生了命名空间的新问题。

使用 XSLT 3.0 和 Saxon HE,我正在复制一个 XML 文档,并且在复制它时,我需要增加@nelement中属性的值<div type="foo" n="0300">。在这种情况下,我想增加@n1。这是当前代码:

它应该产生:

而是产生以下内容:

我正在使用 TEI 命名空间。如何防止添加这些属性:xmlns="" xmlns:ntei="http://www.example.org/ns/nonTEI"

0 投票
1 回答
1213 浏览

xml - XSL:FO 如何将信息从正文“流动”到 xsl-region-start 和 xsl-region-end

我有一份用 XML 编码的中世纪手稿(使用 TEI 模式)。手稿有一个“主体”,它已在 XSL:FO 中xsl-region-body完美地映射到并输出。手稿的左右页边空白处还有一些“注释”(注解)。这些在 XML 文档中被标记,例如<add type="margin_gloss" place="left">Some foo note</add>

我已保留xsl-region-startxsl-region-end接收这些相对于它们在原始手稿中的位置的页边注。但是,我无法让标记的文本“流入”这些区域。

注意:我将硬编码数据放入这些区域没有问题,例如,<fo:static-content flow-name="xsl-region-after">

问题是Apache FOP告诉我下面的代码:For "fo:page-sequence", only one "fo:flow" may be declared.

我使用 XSL 模板提取注释:

总结一下这个问题:我希望用 XML 标记的边距注释<add>出现在. FPO 告诉我我不能“流动”两次。xsl-region-startxsl-region-endxsl-region-body

0 投票
1 回答
295 浏览

xml - XSL:FO 浮动用于显示边注 - 中断文档

我有一份转录成 XML 的大型中世纪手稿(使用 TEI 模式)。我正在使用 xsl:fo 和 Apache FOP 处理成 PDF。该文件是使用嵌套<body>的 ,构造的<p><seg>如下所示。偶尔<add>用于边注。

xml文件很大,所以有一个master xml文件,它使用<xi:include>s来带上数百个这样的文件,以组成完整的手稿。

我已使用以下基本说明成功地将其处理为 PDF:

这给了我一个像这个页面这样的成功结果:

成功样品

我缩进了右侧(末端),以便为边注腾出空间。例如,在第<seg>一个的第4 个中<p>,有一个边注“Fabri +”。它被编码<add type=margin_gloss>Fabri +</add>

我添加以下模板来“浮动”边距光泽:

我遇到了这场灾难(红色文字/箭头是我解决问题的指南)。带有浮动的模板做了 3 件我无法理解的事情。浮动“应该”出现在第 4 段旁边,但在下方,与下一个合并<p>;4号<seg>消失了;并且下面<p>的缩进减少了。

3 个灾难,一个模板

0 投票
1 回答
31 浏览

xml - 在祖先章节级别计算创建的行

我正在编写具有这样基本结构的 TEI 文档。一章中有几个“mainText”部分;这些部分具有实际文本的单独规范化和 OCR 版本。

使用 XSLT 2.0,我现在正在尝试执行以下步骤,这些步骤已经有效:

  • 将每章中的 mainText-divs 替换为<ab/>
  • 将规范化和 OCR 版本替换为元素<reg/><orig/>
  • 替换<p>为线组元素<lg>
  • 在 linegroup 内部,将每个<lb/>以 line 元素结尾的组包装起来<l/>

我的问题如下:我想为每一行分配一个行号属性,但是在章节级别,意思是:在一个章节中有一个连续的行计数器。查看我当前使用的 xsl 模板:

其输出将创建行号,但在每个 mainText 元素中开始计数。会很高兴得到帮助。

最好的,多米尼卡

0 投票
1 回答
431 浏览

xml - xsl:在每个值之间用逗号显示 concat 变量的结果

我有以下变量:

TEI-XML内容:

当前输出为:2msg3fsg

但我想要:2msg,3fsg

我尝试了几种解决方案,例如,一个变量为 each element,而不是一个变量为 all TEI element,或<xsl:if test="position() != last()"><xsl:value-of select="translate(., ' ', '')" /><xsl:text>, </xsl:text></xsl:if>. 但它不起作用...

在此先感谢您的友好建议。