<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page trimDirectiveWhitespaces="true" %> <%@ page import="org.crosswire.utils.Utils" %> <%@ page import="org.crosswire.sword.keys.VerseKey" %> <%@ page import="org.crosswire.sword.keys.ListKey" %> <% String text = request.getParameter("text"); String v11nid = request.getParameter("v11nid"); String format = request.getParameter("format"); int step = 0; try { step = Integer.parseInt(request.getParameter("step")); } catch(Exception e) {} boolean intros = true; if ("false".equals(request.getParameter("intros"))) intros = false; if (text != null && text.length() > 0) { response.setContentType("text/xml"); if (v11nid == null) v11nid = Utils.getSysConfig(session).getProperty("PrimaryVersification"); VerseKey vk = new VerseKey(); if (v11nid != null) vk.setVersificationSystem(v11nid); vk.setIntros(intros); vk.setText(text); if (step > 0) vk.increment(step); if (step < 0) vk.decrement(step*-1); if ("wce".equals(format)) { %> <%=vk.getOSISRef()%> <% } if ("freetext".equals(format)) { response.setContentType("text/plain"); ListKey verses = vk.ParseVerseList(text, "Mat.1.1", true); %> <%=verses.getShortRangeText()%> <% } else if ("verses".equals(format)) { %> <% ListKey verses = vk.ParseVerseList(text, "Mat.1.1", true); for (int i = 0; i < verses.getCount(); ++i) { VerseKey verseKey = (VerseKey)verses.getElement(i); %> <% } %> <% } else { %> <% } return; } %>

v11n/parse

Parse freehand verse reference

Parameters

textfreehand verse reference text, e.g. "John 3:16"
v11nidoptional, versification id to use, [KJV]
stepoptional, position away from parsed text, e.g., -1 would jump to the previous verse to the parsed text
introsoptional, [true|false] whether or not to turn on introduction slots, e.g., Matt.1.0, Matt.Inscriptio, Matt.Subscriptio
formatoptional, [(v11ndef)|verses|wce|freetext] which format to return