anchor.diff:  
       String stringDatatypeUriJson = MiscWebUtils.escape(XSD.xstring.toString());
       String uriDatatypeUriJson = MiscWebUtils.escape(XSD.anyURI.toString());
  +    String intDatatypeUriJson = MiscWebUtils.escape(XSD.xint.toString());
   %>
   
   <c:set var="stringDatatypeUriJson" value="<%= stringDatatypeUriJson %>" />
   <c:set var="uriDatatypeUriJson" value="<%= uriDatatypeUriJson %>" />
  +<c:set var="intDatatypeUriJson" value="<%= intDatatypeUriJson %>" />
   
   <c:set var="core" value="http://vivoweb.org/ontology/core#" />
   <c:set var="linkClass" value="${core}URLLink" />
  
positive.code:     <v:input type="text" label="Webpage Name" id="anchor" size="70"/>
      <p><em>If left blank, the URL will be used when displaying a link to this webpage.</em></p>
      <c:if test="${editMode == 'add'}">
          <input type="hidden" name="rank" value="<%= maxRank %>" />
      </c:if>
      <p class="submit"><v:input type="submit" id="submit" value="${submitButtonText}" cancel="true"/></p>
  </form>
  
  <jsp:include page="${postForm}"/>
  
negative.code: <%! 
      public static Log log = LogFactory.getLog("edu.cornell.mannlib.vitro.webapp.jsp.edit.forms.addEditWebpageForm.jsp");
      
      /* Note on ordering by rank in sparql: if there is a non-integer value on a link, that will be returned. 
       * Preventing that would require getting all the ranks and ordering in Java, throwing out non-int values. 
       */
      public static String RANK_QUERY = ""
          + "PREFIX core: <http://vivoweb.org/ontology/core#> \n"
          + "SELECT DISTINCT ?rank WHERE { \n"
          + "    ?subject core:webpage ?link . \n"
          + "    ?link core:rank ?rank .\n"
          + "} ORDER BY DESC(?rank) LIMIT 1";
  
  %>
  
  <%
  