Я преобразовываю квалифицированное Дублинское ядро в MODS. Мне нужно объединить два элемента в один, а другие сообщения, которые я нашел здесь, неприменимы, поскольку они соответствуют родительскому элементу.XSLT: объединить несколько несвязанных элементов в один элемент
Dublin Core проблематично с XSLT, потому что у него нет родительских и дочерних элементов ... поэтому я не уверен, что выбрать.
Вот некоторые входные выборки (важные биты являются постоянного тока: элементы покрытия):
<?xml version="1.0"?>
<oai_dc:dc (schema etc.)>
<dc:title>This is the title</dc:title>
<dc:creator>Author McAuthorson</dc:creator>
<dc:type>Article</dc:type>
<dc:coverage.spatial.lat>49.101</dc:coverage.spatial.lat>
<dc:coverage.spatial.long>-122.720</dc:coverage.spatial.long>
</oai_dc:dc>
А вот выход мне нужно для постоянного тока: Элементы покрытия:
<subject>
<cartographics>
<coordinates>49.101, -122.720</coordinates>
</cartographics>
</subject>
Я читать решения, которые могут обрабатывать разные элементы с тем же именем, но ничего, что может объединить два элемента с разными именами. Я экспериментировал с настройкой их как переменных, но не могу решить, как передать переменную из одного шаблона (например, сопоставление dc: coverage.spatial.lat) в следующий (соответствующий dc: coverage.spatial.long). Поэтому я как бы летаю слепой.
Любые советы (или ссылки на подходящие ответы, которые я не мог найти) были бы высоко оценены.
Может ли быть несколько лат/длинные пары под одним родителем ('oai_dc: dc' в вашем примере)? –
Нет - на запись есть только один набор пар лат/длинный. – Brandon
Я бы поставил под сомнение вашу стратегию обучения себя XSLT. Вы не можете изучать язык программирования, просматривая в Интернете примеры, которые делают именно то, что вы хотите. Вам нужно изучить принципы и овладеть строительными блоками, чтобы вы могли объединить их для создания собственных решений для ваших конкретных проблем. Если вы не можете решить, как передавать переменные из одного шаблона в другой, то вы не получаете информацию из нужного места. Получите себе хорошую книгу XSLT и прочитайте ее. –