/// /// <summary> * Get the linked resources matching some conditions /// * </summary> /// * <param name="mResAtt"> map of Resource attributes to search for </param> /// * <param name="bFollowRefs"> true if internal references shall be followed </param> /// * <returns> vector with all elements matching the conditions default: GetLinkedResources(new JDFAttributeMap(), /// * false) </returns> /// public virtual VElement getLinkedResources(JDFAttributeMap mResAtt, bool bFollowRefs) { VElement vChild = getChildElementVector(null, null, null, true, 99999, false); VElement vElem = new VElement(); for (int i = 0; i < vChild.Count; i++) { JDFResource r = null; object elem = vChild[i]; if ((elem is JDFRefElement)) { JDFRefElement l = (JDFRefElement)elem; r = l.getLinkRoot(null); } else if (elem is JDFResource) { r = (JDFResource)elem; } if (r != null && r.includesAttributes(mResAtt, true)) { vElem.Add(r); // vElem.push_back(r); if (bFollowRefs) { vElem.appendUnique(r.getvHRefRes(bFollowRefs, true)); } } } return(vElem); }
/// /// <summary> * gets the link of the linked route /// * /// * @return </summary> /// public virtual JDFResource getLinkRoot() { JDFRefElement refElement = getRefElement(); JDFResource r = null; if (refElement != null) { r = refElement.getLinkRoot(null); } return(r); }
/// /// <summary> * version fixing routine for JDF /// * /// * uses heuristics to modify this element and its children to be compatible /// * with a given version in general, it will be able to move from low to high /// * versions but potentially fail when attempting to move from higher to /// * lower versions /// * </summary> /// * <param name="version"> /// * : version that the resulting element should correspond to </param> /// * <returns> true if successful </returns> /// public override bool fixVersion(EnumVersion version) { bool bRet = true; if (version != null) { if (version.getValue() >= EnumVersion.Version_1_3.getValue()) { if (hasAttribute(AttributeName.SOURCESHEET)) { string sourceSheet = getSourceSheet(); JDFRefElement layoutRef = (JDFRefElement)getElement_KElement("LayoutRef", null, 0); if (layoutRef != null) { JDFLayout lo = (JDFLayout)layoutRef.getLinkRoot(layoutRef.getrRef()); if (lo != null) { lo.fixVersion(version); } layoutRef.setPartMap(new JDFAttributeMap(AttributeName.SHEETNAME, sourceSheet)); lo = (JDFLayout)layoutRef.getTarget(); layoutRef.setPartMap(lo.getPartMap()); } removeAttribute(AttributeName.SOURCESHEET); } } else { JDFLayout layout = getLayout(); if (layout != null) { string sourcesheet = layout.getSheetName(); setSourceSheet(sourcesheet); JDFRefElement layoutRef = (JDFRefElement)getElement_KElement("LayoutRef", null, 0); // JDF 1.2 layout should be unpartitioned if (layoutRef != null) { // JDF 1.2 layout should be unpartitioned layoutRef.removeChild(ElementName.PART, null, 0); } } } } return(base.fixVersion(version) && bRet); }