/** * Create an instance of {@link SdtPr } * */ public SdtPr createSdtPr() { return new SdtPr(); }
CTDataBinding binding = sdtPr.getDataBinding(); if (binding != null) { // Shouldn't be a binding anyway sdtPr.getRPrOrAliasOrLock().remove(binding); emptyRepeatTagValue(sdtPr.getTag()); // 2012 07 15: do it to the first one sdtPr.setId();
private CTSdtRepeatedSection getW15RepeatingSection(SdtPr sdtPr) { return (CTSdtRepeatedSection)sdtPr.getByClass(CTSdtRepeatedSection.class); }
public void setDataBinding(CTDataBinding value) { Object existingBinding = getDataBinding(); for (Object o : getRPrOrAliasOrLock() ) { Object unwrapped = XmlUtils.unwrap(o); if (unwrapped instanceof CTDataBinding) { getRPrOrAliasOrLock().remove(existingBinding);
if (sdtPr!=null) { log.debug("Processing " + OpenDoPEHandler.getSdtPr(o).getId().getVal()); Tag tag = sdtPr.getTag(); log.debug("Ignoring condition {}", sdtPr.getId().getVal()); log.debug("Ignoring repeat {}", sdtPr.getId().getVal()); log.warn("TODO: consider component handling {}", sdtPr.getId().getVal()); } else if (sdtPr.getDataBinding() != null) { log.debug("Adding non-OpenDoPE databound control {}", sdtPr.getId().getVal()); contentControls.add( (SdtElement)o); log.debug("Ignoring control with tag {}", sdtPr.getTag().getVal() );
sdtPr.getRPrOrAliasOrLock().add(alias); tag.setVal("od:xpath=" + key); sdtPr.setTag(tag); sdtPr.setId(); sdtPr.getRPrOrAliasOrLock().add(new SdtPr.RichText()); } else { CTDataBinding ctDataBinding = Context.getWmlObjectFactory().createCTDataBinding(); JAXBElement<CTDataBinding> jaxbDB = Context.getWmlObjectFactory().createSdtPrDataBinding(ctDataBinding); sdtPr.setDataBinding(ctDataBinding); ctDataBinding.setXpath(xpath); ctDataBinding.setPrefixMappings(prefixmappings);
/** * Gets the value of the tag property. * * @return * possible object is * {@link SdtPr.Tag } * */ public Tag getTag() { for (Object o : getRPrOrAliasOrLock()) { if ( o instanceof Tag ) { log.debug("found tag"); return (Tag)o; } } return null; }
SdtPr sdtPr = sdt.getSdtPr(); if (sdtPr.getDataBinding()==null ) { Tag tag = sdtPr.getTag(); HashMap<String, String> map = QueryString.parseQueryString(tag.getVal(), true); String xpathId= map.get(OpenDoPEHandler.BINDING_ROLE_XPATH); sdtPr.setDataBinding(databinding); databinding.setXpath( xp.getDataBinding().getXpath()); databinding.setPrefixMappings( xp.getDataBinding().getPrefixMappings()); sdttext.setMultiLine(true); JAXBElement<org.docx4j.wml.CTSdtText> sdttextWrapped = Context.getWmlObjectFactory().createSdtPrText(sdttext); sdtPr.getRPrOrAliasOrLock().add( sdttextWrapped);
if (sdtPr!=null) { log.debug("Processing " + OpenDoPEHandler.getSdtPr(o).getId().getVal()); Tag tag = sdtPr.getTag(); conditionSdtsByID.put(sdtPr.getId().getVal(), o); repeatSdtsByID.put(sdtPr.getId().getVal(), o); conditionSdtsByID.put(sdtPr.getId().getVal(), o); repeatSdtsByID.put(sdtPr.getId().getVal(), o); repeatSdtsByID.put(sdtPr.getId().getVal(), o);
private SdtBlock createSdt(){ org.docx4j.wml.ObjectFactory wmlObjectFactory = Context.getWmlObjectFactory(); SdtBlock sdtBlock = wmlObjectFactory.createSdtBlock(); SdtPr sdtpr = wmlObjectFactory.createSdtPr(); // Create object for docPartObj (wrapped in JAXBElement) CTSdtDocPart sdtdocpart = wmlObjectFactory.createCTSdtDocPart(); JAXBElement<org.docx4j.wml.CTSdtDocPart> sdtdocpartWrapped = wmlObjectFactory.createSdtPrDocPartObj(sdtdocpart); sdtpr.getRPrOrAliasOrLock().add( sdtdocpartWrapped); // Create object for docPartGallery CTSdtDocPart.DocPartGallery sdtdocpartdocpartgallery = wmlObjectFactory.createCTSdtDocPartDocPartGallery(); sdtdocpart.setDocPartGallery(sdtdocpartdocpartgallery); sdtdocpartdocpartgallery.setVal( "Table of Contents"); // Create object for docPartUnique BooleanDefaultTrue booleandefaulttrue = wmlObjectFactory.createBooleanDefaultTrue(); sdtdocpart.setDocPartUnique(booleandefaulttrue); // Create object for id sdtpr.setId(); sdtBlock.setSdtPr(sdtpr); return sdtBlock; }
private static SdtBlock createSdt(String tagVal, RPr rPr) { // .. so create content control! SdtBlock sdtBlock = Context.getWmlObjectFactory().createSdtBlock(); SdtPr sdtPr = Context.getWmlObjectFactory().createSdtPr(); sdtBlock.setSdtPr(sdtPr); SdtContentBlock sdtContent = Context.getWmlObjectFactory().createSdtContentBlock(); sdtBlock.setSdtContent(sdtContent); // For borders/shading, we'll use the values in this first paragraph. // We'll use a tag, so the XSLT can detect that its supposed to do something special. Tag tag = Context.getWmlObjectFactory().createTag(); tag.setVal(tagVal); sdtPr.setTag(tag); if (rPr != null) { sdtPr.getRPrOrAliasOrLock().add((RPr)XmlUtils.deepCopy(rPr)); /* * ECMA-376 says "specifies the set of run properties which shall be applied to * the text entered into the parent structured document tag in replacement of * placeholder text. When placeholder text is present in a structured document * tag, its formatting is often different than the desired underlying formatting, * and this element specifies the formatting which shall be used for non-placeholder * text contents when they are initially added to the control. " * * Note that docx2fo.xslt is co-opting this to do something else. */ } return sdtBlock; }
CTDataBinding binding = sdtPr.getDataBinding(); if (binding != null) { // Shouldn't be a binding anyway sdtPr.getRPrOrAliasOrLock().remove(binding); Tag tag = sdtPr.getTag(); lock.setVal(org.docx4j.wml.STLock.SDT_CONTENT_LOCKED); JAXBElement<org.docx4j.wml.CTLock> lockWrapped = Context.getWmlObjectFactory().createSdtPrLock(lock); sdtPr.getRPrOrAliasOrLock().add( lockWrapped); // assumes no lock is there already
if (sdtPr!=null) { Tag tag = sdtPr.getTag(); SdtPr.Picture pic = (SdtPr.Picture)sdtPr.getByClass(SdtPr.Picture.class); if (sdtPr.getDataBinding()!=null && pic!=null) { log.warn("TODO: consider Picture handling {}", sdtPr.getId().getVal()); log.warn("TODO: consider component handling {}", sdtPr.getId().getVal()); if (sdtPr.getByClass(CTSdtDate.class)!=null) { log.warn("TODO: consider SdtDate handling {}", sdtPr.getId().getVal()); if (sdtPr.getByClass(SdtPr.RichText.class)!=null || (map.containsKey(OpenDoPEHandler.BINDING_PROGID) && map.get(OpenDoPEHandler.BINDING_PROGID).equals("Word.Document")) ) { } else if (sdtPr.getDataBinding()!=null ) { log.debug("Adding non-OpenDoPE databound control {}", sdtPr.getId().getVal()); log.debug("Ignoring control with tag {}", sdtPr.getTag().getVal() ); log.debug("Not processing " + XmlUtils.marshaltoString(sdtPr, true));
sdtPr.setId(); CTDataBinding binding = sdtPr.getDataBinding(); // could be a w15 binding Tag tag = sdtPr.getTag(); if (tag == null) {
/** * Workaround for the fact that Xalan doesn't let us pass an AtomicInteger into an extension * function. Instead, it converts it into an int, which means the object in our * bookmarkIdCounter parameter isn't updated. * * So here we wrap the AtomicInteger in a class, * * @author jharrop * */ public static class BookmarkCounter { protected AtomicInteger bookmarkId; BookmarkCounter(AtomicInteger bookmarkId) { this.bookmarkId = bookmarkId; } }
Map<String, CustomXmlPart> customXmlDataStorageParts) { CTDataBinding w15Databinding = getSdtPr(repeatingSectionSdt).getDataBinding(); Tag tag = new Tag(); tag.setVal(BINDING_RESULT_RPTD_ZERO_W15 + "=true"); sdtPr.setTag(tag);
sdtPr.setDataBinding(null); for (Object o : sdtPr.getRPrOrAliasOrLock() ) { Object unwrapped = XmlUtils.unwrap(o); if (unwrapped instanceof CTSdtText) { sdtPr.getRPrOrAliasOrLock().remove(sdtPrText);