Changeset 1162
- Timestamp:
- 07/14/10 18:41:22 (19 months ago)
- Location:
- trunk/docx4j
- Files:
-
- 3 added
- 6 edited
-
sample-docs/databinding/invoice_bound_OUT.xml (added)
-
sample-docs/databinding/invoice_preprocessed_OUT.xml (added)
-
src/main/java/org/docx4j/model/datastorage/bind.xslt (modified) (2 diffs)
-
src/main/java/org/docx4j/model/sdt/QueryString.java (modified) (3 diffs)
-
src/main/java/org/docx4j/openpackaging/io/Load.java (modified) (1 diff)
-
src/main/java/org/docx4j/openpackaging/io/SaveToZipFile.java (modified) (3 diffs)
-
src/main/java/org/docx4j/openpackaging/packages/OpcPackage.java (modified) (1 diff)
-
src/main/java/org/docx4j/openpackaging/parts/CustomXmlDataStoragePart.java (modified) (6 diffs)
-
src/main/java/org/docx4j/samples/ContentControlBindingExtensions.java (added)
Legend:
- Unmodified
- Added
- Removed
-
trunk/docx4j/src/main/java/org/docx4j/model/datastorage/bind.xslt
r1101 r1162 80 80 <w:r> 81 81 <w:t><xsl:value-of 82 select="java:org.docx4j.openpackaging.parts.CustomXmlDataStoragePart. getXPath(82 select="java:org.docx4j.openpackaging.parts.CustomXmlDataStoragePart.xpathGetString( 83 83 $customXmlDataStorageParts, 84 84 $storeItemID, … … 95 95 </w:rPr> 96 96 <w:t><xsl:value-of 97 select="java:org.docx4j.openpackaging.parts.CustomXmlDataStoragePart. getXPath(97 select="java:org.docx4j.openpackaging.parts.CustomXmlDataStoragePart.xpathGetString( 98 98 $customXmlDataStorageParts, 99 99 $storeItemID, -
trunk/docx4j/src/main/java/org/docx4j/model/sdt/QueryString.java
r919 r1162 71 71 72 72 } 73 74 public static HashMap<String, String> parseQueryString(String s) { 75 return parseQueryString(s, false); 76 } 73 77 74 78 /** … … 105 109 * 106 110 */ 107 public static HashMap<String, String> parseQueryString(String s ) {111 public static HashMap<String, String> parseQueryString(String s, boolean lax) { 108 112 109 113 log.debug("Query string: " + s); … … 120 124 int pos = pair.indexOf('='); 121 125 if (pos == -1) { 122 // XXX 123 // should give more detail about the illegal argument 124 throw new IllegalArgumentException(); 126 127 if (lax) { 128 log.warn("Suspect parameter: " + pair); 129 map.put(pair, pair); 130 } else { 131 // XXX 132 // should give more detail about the illegal argument 133 log.error("Suspect parameter: " + pair); 134 throw new IllegalArgumentException(); 135 } 136 } else { 137 String key = parseName(pair.substring(0, pos) ); 138 String val = pair.substring(pos + 1, pair.length()); 139 map.put(key, val); 125 140 } 126 String key = parseName(pair.substring(0, pos) );127 String val = pair.substring(pos + 1, pair.length());128 map.put(key, val);129 141 } 130 142 return map; -
trunk/docx4j/src/main/java/org/docx4j/openpackaging/io/Load.java
r1050 r1162 284 284 continue; 285 285 } 286 String itemId = customXmlProps.getItemId() ;286 String itemId = customXmlProps.getItemId().toLowerCase(); 287 287 log.info("Identified/registered ds:itemId " + itemId); 288 288 pkg.getCustomXmlDataStorageParts().put(itemId, -
trunk/docx4j/src/main/java/org/docx4j/openpackaging/io/SaveToZipFile.java
r1102 r1162 70 70 * This HashMap is intended to prevent loops. 71 71 */ 72 private HashMap<String, String> handled = new HashMap<String, String>();72 private HashMap<String, String> handled; 73 73 74 74 /* Save a Package as a Zip file in the file system */ 75 75 public boolean save(String filepath) throws Docx4JException { 76 77 76 log.info("Saving to" + filepath ); 78 77 try { … … 87 86 /* Save a Package as a Zip file in the file system */ 88 87 public boolean save(java.io.File docxFile) throws Docx4JException { 89 90 88 log.info("Saving to" + docxFile ); 91 89 try { … … 100 98 /* Save a Package as a Zip file in the outputstream provided */ 101 99 public boolean save(OutputStream realOS) throws Docx4JException { 102 100 handled = new HashMap<String, String>(); 103 101 try { 104 102 -
trunk/docx4j/src/main/java/org/docx4j/openpackaging/packages/OpcPackage.java
r1050 r1162 88 88 89 89 protected HashMap<String, CustomXmlDataStoragePart> customXmlDataStorageParts 90 = new HashMap<String, CustomXmlDataStoragePart>(); 90 = new HashMap<String, CustomXmlDataStoragePart>(); // NB key is lowercase 91 91 public HashMap<String, CustomXmlDataStoragePart> getCustomXmlDataStorageParts() { 92 92 return customXmlDataStorageParts; -
trunk/docx4j/src/main/java/org/docx4j/openpackaging/parts/CustomXmlDataStoragePart.java
r1158 r1162 175 175 public static void preprocess(WordprocessingMLPackage wordMLPackage) throws Docx4JException { 176 176 177 Map<String, CustomXmlDataStoragePart> customXmlDataStorageParts = wordMLPackage.getCustomXmlDataStorageParts();177 //Map<String, CustomXmlDataStoragePart> customXmlDataStorageParts = wordMLPackage.getCustomXmlDataStorageParts(); 178 178 MainDocumentPart documentPart = wordMLPackage.getMainDocumentPart(); 179 179 … … 234 234 235 235 QueryString qs = new QueryString(); 236 HashMap<String, String> map = qs.parseQueryString(tag.getVal() );236 HashMap<String, String> map = qs.parseQueryString(tag.getVal(), true); 237 237 238 238 String bindingrole = map.get("bindingrole"); … … 245 245 246 246 // get the value 247 String storeItemId = map.get("w:storeItemID") ;247 String storeItemId = map.get("w:storeItemID").toLowerCase(); 248 248 String xpath = map.get("w:xpath"); 249 249 String prefixMappings = map.get("w:prefixMappings"); … … 269 269 log.info("Got value: " + val); 270 270 271 if ( Boolean.getBoolean(val)) {271 if (new Boolean(val) ) { 272 272 log.debug("so keeping"); 273 273 } else { … … 365 365 log.debug("xpathBase: " + xpathBase); 366 366 int beginIndex = thisXPath.indexOf("/", xpathBase.length()+1 ); // +1 for good measure 367 String newPath = xpathBase + "/*[" + i+ "]/" + thisXPath.substring(beginIndex+1);367 String newPath = xpathBase + "/*[" + (i+1) + "]/" + thisXPath.substring(beginIndex+1); 368 368 log.debug("newPath: " + newPath); 369 369 binding.setXpath(newPath); … … 505 505 String storeItemId, String xpath, String prefixMappings) { 506 506 507 CustomXmlDataStoragePart part = customXmlDataStorageParts.get(storeItemId );507 CustomXmlDataStoragePart part = customXmlDataStorageParts.get(storeItemId.toLowerCase()); 508 508 if (part==null) { 509 509 log.error("Couldn't locate part by storeItemId " + storeItemId);
Note: See TracChangeset
for help on using the changeset viewer.
